2019-06-29-Goobye,Windows--Hello,-Deepin

2019-06-29-Goobye,Windows–Hello,-Deepin

for Deepin:

之前接触Deepin是一年前,装上去发现有时发生UI卡死的情况。但是后来稳定了很多,包括增加linux交换分区的操作。

Deepin之于我的优点是集成了一堆易安装的软件生态的Linux发行版。拥抱自由软件Free Software。

这里我提到GNU创始人理查德·斯托曼和Linux之父Linus,向自由软件致敬!
WIndows冗余而且闭源,根据理查德·斯托曼的说法,不自由的软件拥有比用户更大的权限,所以是不自由了。虽然如今开源和不开源的竞争仍是如火如荼,但是不可否认的是,全世界25亿台的设备运行的都是Linux派生的Android。

安装和常用软件的一堆废话就不谈了,这里我想谈谈Autohotkey的替代。作为AHK忠实软件用户,可选替代品就是Autokey。
Autokey:可以通过常用快捷键输出短语、运行程序这些;虽然快捷键可以发生+c, +v这些,但是…我想用鼠标操作。

接下来就是鼠标辅助键的替换了!!!看好了开始装逼!
https://www.imwxz.com/guide/128.html

sudo apt install xdotool xbindkeys
xbindkeys –defaults > /home/user-name/.xbindkeysrc
sudo su
vim ~/.xbindkeysrc

添加文本:
“xdotool key ctrl+c”
b:8
“xdotool key ctrl+v”
b:9

killall xbindkeys && xbindkeys
xbindkeys

其中,8和9的键盘码可以通过下面找到:

找到按键码
首先我们需要找到按键码,这个可以通过自带的xev实现,命令行输入xev即可,然后会弹出一个小框框,鼠标移进去会发现命令行刷出一大堆东西,不要慌这些都是你的鼠标移动信息我们并不需要,然后保持鼠标不动(键盘啥的也不要操作),按一下你的侧键(或者多点几下),然后可以看到终端最后几行会有一个Button Press和Button Release的event,在里面有一个button x的字符(x是数字),那个数字就是我们要的了,先记住。


如何使用autokey执行应该具有sudo权限的脚本?
比如要运行xbindkeys
新建test.sh

1
2
3
#! /bin/bash

xbindkeys

autokey脚本:
output = system.exec_command("deepin-terminal -x sudo sh ~/.config/autokey/data/Mysh/xbindkeysOpen.sh")

首先这是模仿gnome-terminal -t “title-name” -x bash -c “sh ./run.sh;exec bash;”

bash -c和sh运行方式有差别;
-x后面接的就是运行的命令。所以相当于终端执行bash -c “sh ./run.sh;exec bash;”

而我们应该在终端执行sudo sh ~/.config/autokey/data/Mysh/xbindkeysOpen.sh

替换完成即可。


画图神器 drawio


#继续进行热键改造:

复制路径名直接ctrl+c
文件名用Python字符串分割提取

剪切板交换、监控 :copyQ 显示隐藏主窗口:=esc+`

手机adb
sudo apt-get install android-tools-adb android-tools-fastboot

如何查找程序地址? 监视器-右键-查看命令所在位置

everything: angrysearch 后来发现Fsearch更好
发送到桌面 cat : python3 /usr/wshare/angrysearch/angrysearch.py
++++++++++++++++++

打开文件夹’/usr/bin/dde-file-manager’ /home

ctrl+k随时调整autokey

刻录:
命令

管理员打开文本
sudo /usr/bin/deepin-editor /etc/lsb-release

伪装Ubuntu安装ppa
DISTRIB_ID=Deepin
DISTRIB_RELEASE=”15.9”
DISTRIB_DESCRIPTION=”Deepin 15.9 “
DISTRIB_CODENAME=unstable

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=15.10
DISTRIB_CODENAME=wily
DISTRIB-DESCRIPTION=”Ubuntu wily”

https://blog.csdn.net/aLiegjln/article/details/78758718

添加PPA
sudo add-apt-repository

https://launchpad.net/~christian-boxdoerfer/+archive/ubuntu/fsearch-daily

剪切板变换
clipboard.get_selection() #获取鼠标选中文字
clipboard.get_clipboard() #获取剪切板文字
clipboard.fill_clipboard() #替换剪切板

执行打开网络!n
输出

OCR
【待补充】

捕捉文件名、路径名
ctrl+c:路径名

1
2
3
4
5
6
7
# Enter script code
keyboard.send_keys("<ctrl>+c")
time.sleep(0.25) #必要
clip_board = clipboard.get_clipboard()
group = clip_board.split("/")
clip_board = group[len(group)-1]
clipboard.fill_clipboard(clip_board)

字符串长度

修复wlan:

1
2
3
4
5
6
7
8
9
lspci | grep Network
sudo apt-get purge bcmwl-kernel-source
ip address show
apt install broadcom-sta-dkms
sudo apt install broadcom-sta-dkms
ifconfig -a
iwconfig
sudo ip link set wlp3s0 up
sudo iw dev wlp3s0 scan | less

最新消息(上面不可用)
https://bbs.deepin.org/forum.php?mod=viewthread&tid=37320&extra=

1
2
3
4
5
6
7
8
9
10
11
12
13
lspci -vnn -d 14e4:
wget http://bues.ch/b43/fwcutter/b43-fwcutter-018.tar.bz2
make
sudo make install
下载 broadcom-wl-5.100.138.tar.bz2
sudo b43-fwcutter -w /lib/firmware broadcom-wl-5.100.138/linux/wl_apsta.o
sudo modprobe -r b43 ssb
sudo modprobe b43
添加 sudo modprobe b43 到 /etc/rc.local
#添加xbindkeys开机
#sudo sh home/apollo/.config/autokey/data/Mysh/xbindkeysOpen.sh
sudo chmod +x /etc/rc.local
重启
1
2
3
4
5
6
#!/bin/bash
# rc.local config file created by use

把你需要执行的命令写在这里

exit 0

启动有线认证时脚本运行:
sudo /home/apollo/rjsupplicant/net.sh;sudo service network-manager start

#备份还原,构造win10和deepin双系统:
现有:双份硬盘。SSD盘下deepin单系统一个,机械硬盘下win10的wim文件30+GB一个。SSD硬盘大小120GB(当初买小了)。WEPE的U盘一个,Deepin救援系统的U盘一个。

应用场景:这是我配置好一台自己易用的Deepin之后,打算留存Win10+Deepin双系统的计划。
我事先已经备份好了win10的wim(用dism++工具),而且我在我的SSD里面熟悉了deepin系统,有了自己的熟悉配置。现在我要把win10搬到SSD里面和deepin共存。但是我的SSD没有足够的剩余未分配空间,如何在不破坏deepin数据的前提下,压缩deepin的空间让给win10,使得deepin和win10共存在SSD里面?

首先deepin有救援系统,内存加载型iso,从网站下,而且可以商店集成到系统。

image.png

解释一下用途
sda1交换分区
sda2 EFI 200MB
sda3 未知 可能是恢复分区800MB
sda4挂载/
sda5他用

首先需要用备份工具备份efi也就是sda2 200MB
然后备份未知800MB sda3

然后我把除了efi都删了,还原了win10 总共80多GB剩下不到20GB

然后一想wc不对,我都没备份sda4分区型dim,只是备份了全盘dim和两个小分区的。

然后删除了win的分区,前面4G交换空间换成2G

按照安装原则我是打算在deepin的救援系统下把deepin先还原好,然后再到wepe释放wim。毕竟linux需要分区fstab这些比较麻烦。引导可以使用救援系统修复。

我本来打算在头分区安装win10,然后后面安装deepin。

但是给deepin分了30GB,原先的deepin的dim镜像虽然释放完只有20GB内容,但是是从80+GB压缩过来的,救援系统不支持这个容量足够但是最大容量不足的释放,强行要释放也会提示容量不足。

所有我换一种思路,打算先给deepin80GB空间释放,然后再缩小这个分区,压缩出剩余空间(80GB左右)给win10。

正打算给后面先还原deepin,一想也不对,因为数据一般还原放在头区,等下和左边Windows分区调整大小有麻烦,IO长。所以我在左边分了82GB ext4,还原完成。

这时候系统提示引导修复失败。

强行开机好像不行。

然后我已经备份了efi,再次到救援系统还原。

试了一下开机可以。

然后救援系统把80+GB一下缩小到30GB,记得先卸载分区。然后开机,糟了不行。然后我赶紧到救援系统把30GB重新调到80GB,一开机诶可以了。

然后我试着80GB→60GB,可以开机;
60GB→40GB,可以开机;
40GB→32GB,可以开机。
这个过程我还特意看了一下分区的fstab表和分区的uuid,诶没有变诶,所以fstab不用改。
image.png

然后我在WEPE把后面的分区76GB新建了NTFS恢复了win10的wim,win10开机OK。

然后我打算启动deepin,却找不到引导项了。一看救援系统修复没问题,但是引导项的是Ubuntu,好像是我之前安装Ubuntu留下来的,一进去发现是熟悉的deepin引导界面,至此,完成win10和deepin双系统还原构造。


这里面说明了几个模式和注意事项:

1.深度的还原分区镜像需要分有空闲分区;
2.深度系统可以缩小分区不需要修改fstab;
3.deepin的分区大小要慢慢缩小,而且最好是右侧往左边缩小,因为数据集中堆在左边。

应用:
1.系统迁移;
2.根目录压缩;