使用Linux记录
更新时间: 2021-03-05
Linux Usage
-
缘起:最近将系统更换为Linux,虽然之前有用过,但只是当作尝试,未当为主系统,这次下定决心以它为主系统,懒得去纠结使用win的一种不道德感及不爽感,游戏及娱乐与人与己无益,放弃
-
https://mirrors.tuna.tsinghua.edu.cn/linuxmint-cd/stable/20.1/linuxmint-20.1-cinnamon-64bit.iso
2021-04-08 解决linux时间与win相差8小时的问题
timedatectl set-local-rtc 1
2021-03-05 wine
- 把一些常用应用搬到linux下,起因是发现了
RemoteAPP,win对win下倒是玩得挺爽,linux下死都不行,那就走virtualbox的无缝模式,用起来也挺好,就是比较耗资源 - 偶尔想试试wine,于是搜到了这篇 (http://sunyongfeng.com/201605/linux/wine_rtx)
- 记得先用v2raya来翻Q
sudo apt install wine winetricks
WINEARCH=win32 WINEPREFIX=~/.wine winetricks msxml3 gdiplus riched20 riched30 ie6 vcrun6 vcrun2005sp1 allfonts
- 搞定后(安装到最后貌似出错了,不过能用后,我就没再复现这个错误),安装rtx qq之类的没大问题
wine xxxSetup.exe - 程序启动后发现中文字都是方块,搜索是字体问题: (https://my.oschina.net/wolfx/blog/664463),导入reg后可以用了
- 托盘可以显示图标,不过单击,双击什么的和win下的不同,略有点蛋疼,其他ok
- 除了odbc的mysql没法用,这个自己用go在linux实现了查询,和模拟键盘鼠标,注意
xdotool这个工具,可以模拟发送按键,移动鼠标什么的 - 另外就是一些只有win下的key的驱动没法,这个只好远程了
2018-12-12 安装19.1 beta版
- https://mirrors.tuna.tsinghua.edu.cn/linuxmint-cd/testing/linuxmint-19.1-cinnamon-64bit-beta.iso
- 先备份
environmentfstab40_customhostname文件 - 参照之前的
menuentry 'Mint Live CD'写法,将iso中文件解压到指定分区根目录 - 进 slax 备份根分区
tar czvfp root19.tgz ./ - 然后进 live cd ,然后安装系统,装好后,可以修改新的root分区里面
environmentfstab40_custom内容 - 进系统,卸载office及其他用不着的软件,更换更新源以提速,然后安装需要的软件
- 任务栏变化很大,
win+数字可以启动任务栏上的图标了,但不能修改每个图标的启动命令及参数了 - 在
~/.local/share/applications/目录下创建xxx.desktop文件(该文件可以在桌面右键新建启动器创建),可以在菜单的其他分类中显示,然后可以添加到任务栏了,变相解决了上面的问题 - 一直都希望在nemo中有
解压到指定文件夹的菜单,今天搜索发现如下骚操作,在~/.local/share/nemo/actions/下创建extracto.nemo_action文件,内容如下:
[Nemo Action]
Active=true
Name=fox解压到...
Comment=Extract To
Exec=file-roller -f %F
Icon-Name=extract-archive-symbolic
Selection=Any
Extensions=zip;7z;rar;ar;cbz;cpio;exe;iso;jar;tar;tgz;tbz2;apk;tar.Z;tar.bz2;tar.gz;tar.lz;tar.lzma;tar.xz;
- 然后在压缩文件上点右键,就有
fox解压到...菜单了,66666
2018-12-06 root分区不够,重新分区
- root分区不够用了(已用11G,共12G),需增大,不知道怎么无损调整(DiskGenius貌似只能处理fat32/ntfs)
- 老办法,tar备份根分区及home分区,pe下备份win分区,预计将120G的SSD分为3个主分区,依次为18G的/分区,20G的win,73G的/home
- 备份使用
tar cvfp /a/b/xxx.tar ./*,恢复使用tar xvfp /a/b/xxx.tar,如果要压缩加z - 恢复后进slax,挂载各新分区,使用
lsblkid /dev/sdax这样的命令列出分区的UUID,要用这个替换fstab和grub.cfg中旧的UUID - 搜索学会一个新技能,使用grub2引导bootmgr或grldr
- 有时候从grub2引导grldr,然后引导PE.iso到内存,会间歇性出现黑屏,蓝屏现象,使用U盘直接引导反而没有这种现象,原因不明,多重启几次,总会可以的
- 使用0.4.6a版的grldr引导
kernel /boot/grub/i386-pc/core.img进入mint系统,需要grub-install /dev/sda,修改好菜单后update-grub
2018-07-01 升级到19版,基于 ubuntu bionic
- 升级时碰到找不到媒介的问题,翻了搜索引擎没靠谱的,结果换了个U盘做启动盘就好了,用的工具是livecd自带的
- 研究了一下init脚本,发现只要在grub2引导时在kernel参数加入
live-media=/dev/sda1这样的参数就能找到squashfs文件了,测试了一下ext4,ntfs分区都可以引导,这样以后升级就可以将iso里面的东西拷到硬盘跟分区,然后修改一下grub参数就可以了,U盘都省了,速度还快,哈哈哈
- 研究了一下init脚本,发现只要在grub2引导时在kernel参数加入
- 升级前备份好了资料,突发奇想,不格式化,直接在18.3上装行不行呢,结果试了下,还真可以,它会自动删除bin,etc,usr,lib等目录,其他自己建的目录还有home目录都保留了,不知道有无后遗症,有强迫症的可以格式化后安装
- 装好后,由于自己装的一些软件没有安装,所以任务栏上会提示问题,装好就行
- 新版,导致一些旧软件不兼容,例如: guake, eclipse(ADT), synergy
- 感谢提示:
2018-11-22 so2liu: 你之前遇到的那个Guake的exit卡死,我也遇到了,查了一下,貌似是代码有一行的缩进写错了。看这个帖子既可以成功解决. https://github.com/Guake/guake/commit/f8699b4be6c058fd58a33a1d783cd404e9076b0e - 使用旧版wps, vbox安装包的需要到论坛或官网下载新版或基于 bionic 的版本,然后dpkg -i安装,有问题按照apt的提示fix
- 使用tilda替换guake, guake在这个系统上输入exit,会导致卡死无法退出,原因未知
- 测试后确认是openjdk版本(10.0.1)的问题,eclipse启动错误,不用卸载11(这个版本号也很迷啊),安装8,然后
sudo apt install ia32-libs,使用脚本来使用8版的环境就可以愉快的用旧版adt了,用AS的那天是哪天呢,哈哈 - synergy貌似依赖libcurl3,系统里面的是libcurl4,启动时老提示错误,貌似是ssl错误,把配置里面的使用ssl加密的勾去掉貌似就可以愉快的玩耍了
- 修改fstab,注释掉swapfile那行,添加/dev/shm大小为6G
tmpfs /dev/shm tmpfs defaults,size=6G 0 0
2018-05-24 重新分区
- 鉴于win系统用得越来越少,linux只有一个根分区,这样是不好滴,于是将120G的SSD重新分区
- 先备份所有文件到机械硬盘上,用的是
tar cvf xxx.tar /xxx/xxx,因为只对这个参数熟,对p参数不熟,不知道后面会不会出问题 - 备份好,然后进入slax,然后重新分区,三个主分区,分别是20G_root,10G_OSWIN,82G_home
- 恢复用
tar xvf xxx.tar -C /xxx/xxx - 使用
blkid /dev/sda1获取新的root分区的uuid,写入/etc/fstab,内容UUID=d9476b4c-5d23-4d68-9d6a-c7fa4883b725 /home ext4 defaults,noatime 0 2 - 然后重启后,发现木有引导了,蛋疼,用U盘进入slax,然后
apt install grub2安装grub到sda1上,重启后发现引导不进去 - 搜索得到操作方式,https://www.jianshu.com/p/e9de786563ad
mount /dev/sda1 /mnt
mount /dev/sda3 /mnt/home
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
chroot /mnt /bin/bash
grub-install --recheck /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg
# 这里有时候会有错误,exit,然后重新mount --bind 缺失的目录,然后重新grub-mkconfig
# 重启后正常进入,话说grub2的修复在没更换uuid的情况下还挺智能,像我这样折腾的,grub2就不怎么友好了,怀恋grub4dos
- Linux的优点就是只要复制文件,就算是备份系统了,win则不行,不过linux的引导修复搞得人很蛋疼
- 之前用的grub4dos版本是
0.4.5c 2013-11-30,发现ext4分区无法识别,升级为0.4.6a 2018-04-23就行了 - 使用grub4dos就不需要进入livecdx64了,直接
kernel /boot/vmlinuz-xxxxx root=/dev/sda1和initrd /boot/initrd-xxxxx进入原系统,然后grub-install --boot-directory=/ /dev/sda和update-grub就搞定了,当然前提是fstab里面的uuid是修改好的,grub2真心用不习惯啊
2018-04-09 更新: 7-zip 增量备份
- 缘起: 需要在win/linux之间同步FoxMail目录,需要一个差异备份工具,考察文件名中文问题以及简单效率问题,最终找到了7-zip,它不会出现中文名乱码问题,是个很好的传递格式
- 参考文章: http://a32.me/2010/08/7zip-differential-backup-linux-windows/
- 问题: 7zip 的 chm 帮助文档中提到,时区会造成差异备份,实际体验,在linux下生成的7z文件,在win下解压不修改文件,还是会做备份,linux貌似用的UTC,win用的local,注意这个问题
- 完整备份:
7za a c:\archive.7z c:\folder_to_archive - 备份差异:
7za u c:\archive.7z c:\folder_to_archive -ms=off -mx=9 -t7z -u- -up0q3r2x2y2z0w2!c:\diff1.7z - 解压:
7za.exe x c:\archive.7z -oc:\recovery_path\ - 解压差异:
7za.exe x c:\archive.7z -aoa -y -oc:\recovery_path\
2018-01-19 更新
- 一个中文目录,中文文件名的压缩文件解压乱码,使用: unzip -O GB18030 cn_name.zip
2018-01-17 更新
- 移除楷体,注销后生效
sudo apt remove fonts-arphic-ukai fonts-arphic-uming - 文本编辑器GBK乱码: 安装
dconf-tools, 展开:org.x.editor.preferences.encodingsauto-detected 加入GB18030 - meld GBK乱码: 展开:
org.gnome.melddetect-encodings 加入gb18030 - 在本地8080端口访问服务器路由器,本地执行:
ssh -L 8080:192.168.1.1:80 root@10.1.1.1
2018-01-12 更新
-
升级kernel: 4.13.0-26-generic 后,启动vbox虚拟机会导致系统死机,搜索后找到这个地址
-
卸载旧版的vbox,然后在vbox官网上下载5.2版,安装过程中有一些错误,dkms,vboxconfig 等解除错误,终于能用了,不容易啊
-
删除旧的用不着的内核:
- 查看:
dpkg --get-selections | grep linux - 移除两个旧的,4.10.0-42这个版本先留着,避免新内核还有其他问题:
sudo apt-get remove linux-image-4.10.0-38-genericsudo apt-get remove linux-headers-4.10.0-38sudo apt-get remove linux-image-4.10.0-40-genericsudo apt-get remove linux-headers-4.10.0-40
- 查看:
2017-11-23 : 升级为18.3版
-
https://mirrors.tuna.tsinghua.edu.cn/linuxmint-cd/stable/18.3/linuxmint-18.3-cinnamon-64bit.iso
-
备份旧系统,装新系统,还原/home,因为只有一个ext4区也就是根分区:
cd /
# 备份旧系统
sudo tar czvfp root.tgz --exclude=/proc --exclude=/media --exclude=/mnt --exclude=/sys --exclude=/home --exclude=/root.tgz /
# 备份/home
sudo tar czvfp home.tgz /home/
# 装好系统
# 还原home
sudo mv /home/fox /home/fox_new
sudo tar xvzfp home.tgz -C /home/
-
装好系统,发现第一件事,应该是换源,删除不需要的软件,例如office,然后更新软件,安装软件
-
sudo apt install tilda vim-gtk adb mpv ffmpeg openjdk-8-jdk jq rdesktop n2n axel filezilla meld gedit mkvtoolnix-gui -
chrome系的浏览器使用代理:
opera --proxy-server="socks://127.0.0.1:1080"
吐槽
-
2017-11: 最近firefox升级为 57.0,然后常用的扩展都用不了,例如DownThemAll FireGestures,蛋疼,目前下载工具没找到,手势用smartup手势,并不怎么好用,而且右键跟失效了似的,FoxyProxy Standard用来切换Fan那个Qiang的代理:SSR
-
win 下最喜欢主要是最擅长:
AutoHotkey,木有了,用java来写GUI,真是欲仙欲死,字体还丑,qt什么的都不会 -
文件管理,没有类似win下的total commander 那么完美的工具,叹,也许用cp,mv,但是路径太长,输入麻烦的说
-
很多娱乐功能在Linux上不完善,虽然娱乐于人于己无益,但谁叫自己喜欢呢
-
看B站视频,只有在浏览器中看,但CPU占用会比较高,个人还是比较喜欢下载下来观看,但是弾幕就显示不了,很纠结啊,写了个java-swing程序,可以在mint下调用mpv播放在线直播,调用wget下载直播视频,不支持弹幕,在github上发现了一个moonplayer可以播放B站视频,有弾幕,可是看直播没有弾幕,看之后能不能写个插件
-
看看cnbeta新闻,恩,也只能浏览器,或者浏览器的RSS,不怎么爽
-
微博也是,没有专门的客户端
系统设置
-
缘起: 一些java程序在默认环境下的字体显示太糟糕,在.bashrc中加入环境变量只在终端上有效,在文件管理器nemo上无效,故需要在一全局脚本中设置该环境变量,如果想修改PATH,也可以在这里修改
-
sudo vi /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
_JAVA_OPTIONS="-Dawt.useSystemAAFontSettings=on"
-
下面是bash配置,方便在终端中使用,还是有些乱,准备写一个bash脚本来统一管理
-
vi ~/.bashrc
# Fox @ 2017-08-21
# export PATH="$HOME/bin:$PATH"
# export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on'
alias lh='ls -lh'
alias jj='java -jar'
alias bb='java -jar FoxBook_Core.jar'
alias mm='free -m'
alias du='du -sh'
alias n='novelManager.sh'
alias sshwrt='ssh root@10.2.3.1'
getwrt(){ wget http://10.2.3.1:8080/k4/$1 ; }
putwrt(){ curl http://10.2.3.1:8080/cgi-bin/ff.lua -F f=@$1 ; }
flv2mp4() { ffmpeg -i $1.flv -vcodec copy -acodec copy -movflags faststart $1.mp4 ; }
[ -d /dev/shm/00 ] || mkdir /dev/shm/00
GUI环境的一些设置
-
托盘添加一些小程序:
CPU Temperature Indicator(温度指示器),Download and upload speed(下载和上传速度),system Monitor(系统监视器),记得多试几次,很容易更新时卡死或不可用 -
建议将系统带的所有设置全部看一遍,里面有很多有意思的功能,例如可以用鼠标中键滚轮来调整窗口透明度,添加卷起功能等
-
菜单-首选项-键盘-快捷键-自定义快捷键, 这里可以定义一些快捷键,也可以修改系统的快捷键,很方便啊,如果能保存设置就更好了
自己安装的一些程序
-
开始菜单-系统管理-软件源 修改软件源来获得最快的国内服务器,这样更新,装软件什么的都快
-
可以使用开始菜单-系统管理-软件管理器 来查找安装,或者使用apt来安装
-
终端:
guake,F12键 显示/隐藏,比较方便,多标签支持 -
远程桌面:
remmina/rdesktop,remmina可以方便管理多个,但耗用内存较多,有时能达到200M,rdesktop命令行比较轻量 -
虚拟机:
VirtualBox, 可以无界面启动,安装增强包,做好端口映射,文件夹共享,然后使用远程桌面登陆,速度很不错 -
java swing 编程:
NetBeans,mintinstall里面的是英文版的,但习惯了就好,不过字体真丑,忍 -
办公软件: http://linux.wps.cn/ 地址上的是旧版,
sudo dpkg -i wps.deb后启动后会检测到新版,重新下新的安装即可 -
synergy跨平台共享鼠标键盘剪贴板 -
图形:
gcolor2取色,pinta简单的图片处理,flameshot截图 -
影音:
MPV,mediainfo-gui,mkvtoolnix-gui -
filezilla连接ftp,sftp等,iptux/Dukto局域网传文件 -
axel多线程命令行下载工具,用来下载百度网盘中的文件(2018-06-12: 网盘升级了,现这种方法无效了),aria2c限制为16线程,对于百度的限速完全不够看,用axel开50线程来下载,速度杠杠滴 -
firefox装的一些插件: 哔度娘网盘, DownThemAll, FireGestures,外观使用: firefox orange simple 3.0 -
gedit方便来打开行比较长的文件 -
vim 安装
vim-gtk版, ~/.vimrc 内容如下
set fencs=ucs-bom,utf8,utf-8,cp936,gb2312,gbk,chinese,ucs-2,ucs-2le
set hls
set ignorecase
set nobackup
set nu
set ts=4
set smartindent
syntax on
-
mtp: mint 已经自带了,可以使用文件管理器nemo打开
-
adb: 与linux手机互传文件,可以直接
sudo apt-get install adb安装,这个还是linux下用的爽,不像win下还得找编译好的adb来支持中文转换,linux下不用转换 -
qiv: 一个键盘控制的图片查看工具
启动运行的一些程序
- 开始菜单-首选项-开机自启动程序,添加
自定义命令
-
这个是启动自动挂载 sda5 分区,因为后面的虚拟机会用到这里面的文件
-
udisksctl mount -p block_devices/sda5 -
如果常用,就不用这个挂载,在 首选项-磁盘 里面可以设置自动挂载参数
app
guake terminal
service
- n2n 修改
/etc/default/n2n可以在启动时自己连接
N2N_COMMUNITY="username"
N2N_KEY="password"
N2N_SUPERNODE="192.168.1.88"
N2N_SUPERNODE_PORT="88888"
N2N_IP="10.2.3.3"
N2N_EDGE_CONFIG_DONE="yes"
一些命令使用方式
-
调整亮度:
xrandr --output HDMI1 --brightness 0.5 -
远程并共享一个目录:
rdesktop 192.168.1.8 -u administrator -g 1280x768 -r disk:ram=/dev/shm/
需要的一些软件
-
FTP 服务器,最好是能快速开启,关闭的
-
好用,移植性好的邮件客户端,最好能导出备份,至少win/linux通用
-
grubinst 这样的软件,来修改设备引导
-
winscpportable 这个可以使用filezilla
-
2017-09-04: 使用meld来比较目录,文件,命令行单文件可以用diff来比较,类似软件有Kompare,DiffMerge,Diffuse,XXdiff,KDiff3,TkDiff,可以试一下
-
2017-09-19: 编译lua执行make时: fatal error: assert.h: 没有那个文件或目录,这是缺少头文件,sudo apt-get install build-essential 就装好了,然后编译就正常了
-
2017-09-25: 和局域网中的其他win机器传文件也很蛋疼啊,smb共享虽然能看到,但是进不去目录,懒得去处理,比较喜欢win下的飞鸽传书,搜了一下linux下有iptux,安装后就可以与win下的飞鸽互传了,太赞了
-
2017-09-27: 下载百度网盘中的文件,aria2c限制为16线程,对于百度的限速完全不够看,用axel开50线程来下载,速度杠杠滴,要注意的是,命令可能会在一开始卡住,ctrl+c结束,然后重新运行命令,多试几次,一旦启动,速度如飞,目前是通过DownThemAll获取下载地址,虽然DownThemAll也是多线程下载,不过线程数有点少,聊胜于无
2017-09-02 更新
-
找到在64位linux下运行32位linux的方法了,搜到了这里:http://blog.csdn.net/qq_20307987/article/details/51301778
-
在Linux Mint下运行下面这一行就行了,爽,这下可以运行
kindlegen,还有android的蛋疼sdk了 -
sudo apt-get install ia32-libs
2018-06-12 VIM剪贴板
-
vim 竟然不支持剪贴板,用
vim --version|grep clipboard发现确实不支持 -
安装
sudo apt install vim-gtk就可以使用"+yy了
2018-07-30 Java 访问 https 错误问题
- 写的java程序,发现访问https链接时出错:
java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty - 搜索得到: https://stackoverflow.com/questions/4764611/java-security-invalidalgorithmparameterexception-the-trustanchors-parameter-mus
- 将java程序放到win下去运行,还真没问题,将
jre目录/lib/security/cacerts这个文件拷出来,linux下的jre目录下的cacerts文件都指向/etc/ssl/certs/java/cacerts,覆盖即可 - 现在可以愉快的玩耍了
- 2018-07-31,今天的升级里面包含了
ca-certificates-java,去验证了一下md5值,果然不一样了,说明官方修复了这个bug,以上操作仅做历史记录了
Grub2 使用总结
- 安装到sda:
sudo grub-install /dev/sda - 更新菜单,当修改了配置文件后更新一下:
sudo update-grub - grub2 的配置
sudo vi /etc/default/grub GRUB_DEFAULT=0这里的是默认选中的条目,0为第一条,第二条是高级选项,里面有旧版的内核,可从这里启动以避免升级后的问题,4为windowsGRUB_TIMEOUT=10这是超时时间,可以修改得小一点/etc/grub.d/40_custom这个文件是自定义部分,会在/boot/grub/grub.cfg尾部追加自定义条目,例如:
menuentry 'Run Slax (3 flags)' {
linux /slax/boot/vmlinuz vga=normal load_ramdisk=1 prompt_ramdisk=0 rw printk.time=0 slax.flags=perch,automount,toram
initrd /slax/boot/initrfs.img
}
menuentry 'Mint Live CD' {
set root='hd1,msdos1'
linux /casper/vmlinuz boot=casper live-media=/dev/sdb1 --
initrd /casper/initrd.lz
}
menuentry "Grub4DOS"{
search --file /grldr --set=root
insmod ntldr
ntldr /grldr
}
menuentry 'win7 loader' {
search --file /bootmgr --set=root
insmod ntldr
ntldr /bootmgr
}
- 修改完后记得执行
sudo update-grub生效

浙公网安备 33010602011771号