Ubuntu使用技巧(三), diff&patch
source link: http://antkillerfarm.github.io/linux/2019/07/31/ubuntu_usage_3.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Ubuntu 18.04使用手记
又是两年过去了,这次是Ubuntu 18.04(2018.4.26发布)。
这次的变化还是有点大,Ubuntu舍弃了自己开发的Unity,转回Gnome,连带着好多软件的界面都出现了一定的调整。这个适应过程,要长于之前的几次升级。
前些年由于Unity界面乏善可陈,Ubuntu的版本升级被吐槽为换壁纸。这次算是换主题吧。
由于这个改变是2017.4做出的,有了1年的过渡期,因此拿到手的Ubuntu 18.04的成品度还是蛮高的。
输入法比原来好,但有些软件存在兼容问题。
内核:4.15
LibreOffice:6.0
Emacs:25.2
vino & remmina
ubuntu不同于一般的发行版,它对桌面做了很大的改动,因此通常的VNC手段对其并不好使。
但其实它已经自带了相关的应用:
- 服务端:vino
设置->共享->屏幕共享,设置密码并打开。
ss -lnt
查看5900端口是否开启。
设置防火墙规则:
sudo ufw allow from any to any port 5900 proto tcp
- 客户端:remmina
该方法可将物理桌面共享给VNC,但是无法创建新的桌面。
https://linuxconfig.org/ubuntu-remote-desktop-18-04-bionic-beaver-linux
Ubuntu Remote Desktop - 18.04 Bionic Beaver Linux
xfce4
如果非要使用传统的vncserver的话,只能选择其他桌面,例如xfce4。
sudo apt install xfce4 xfce4-goodies vnc4server
修改~/.vnc/xstartup
:
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
startxfce4 &
启动服务:
vnc4server -kill :2
vnc4server -geometry 1920x1080 :2
https://www.jianshu.com/p/f58fe5cdeb5f
Ubuntu 18.04搭建VNC服务器
https://linuxconfig.org/ubuntu-remote-desktop-18-04-bionic-beaver-linux
VNC server on Ubuntu 18.04 Bionic Beaver Linux
用腻了系统自带的桌面主题之后,我打算换个新鲜一些的桌面主题,比如Mac OS X风格的。
1.安装主题修改工具
sudo apt install unity-tweak-tool
2.安装Mac OS X主题
sudo add-apt-repository ppa:noobslab/themes
sudo apt update
sudo apt install mac-ithemes-v3 mac-icons-v3
3.Cairo Dock
做完上面两步之后,基本的Mac OS X风格已经有了,但Mac最经典的Dock启动器还没有。这里介绍一下Cairo Dock。
安装方法:
sudo apt install cairo-dock
Cairo Dock不仅具有类似Mac OS X的风格,还有其他的风格可供选择下载。比如我使用的是Chrome风格。
4.其他主题
http://www.ubuntuthemes.org/
这个网站收集了很多桌面主题,但是需要注册,因为有些主题是收费的。
发行版乱战
Linux以发行版众多闻名于世。最近发现了以下网站,或可对各个发行版进行一个简单的比较。
http://distrowatch.com/
下面对几个主要的参数,进行一下点评:
Office
主要是3个流派:
1.StarOffice->OpenOffice.org->LibreOffice。最初由Sun主导,后来改为Google主导。
2.KOffice->Calligra Office。KDE项目的成果。
3.GOffice。Gnome项目的成果,和前两个相比,GOffice的组件比较独立,没有什么协同能力。
主要有两类便签软件:
1.支持超链接的便签。典型的有Gnote和Tomboy,这两个软件都有内容检索的功能。
2.桌面随意贴。典型的有Indicator Stickynotes和Knotes。后者有内容检索的功能,而前者没有。
电子书的格式很多,除了TXT/PDF/WORD这样的大路货之外,我接触的比较多的主要是CHM和PDG。前者主要在Windows上用,而后者主要是破解版看论文。当然这都是十几年前的事情了(2005年左右)。
最近,下载小说,发现有EPUB格式比较流行。本来以为是类似PDG这样的专有格式,后来转念一想,这类下载站本来就是盗版生意,哪有版权保护的说法。然后才发现EPUB大约是现在最流行的电子书通用格式了。
其他相对主流的电子书还有:亚马逊Kandle专用的AZW3和MOBI等。
电子书阅读制作首推Calibre:
sudo apt install calibre
Calibre支持的格式:
Input Formats: AZW, AZW3, AZW4, CBZ, CBR, CB7, CBC, CHM, DJVU, DOCX, EPUB, FB2, FBZ, HTML, HTMLZ, LIT, LRF, MOBI, ODT, PDF, PRC, PDB, PML, RB, RTF, SNB, TCR, TXT, TXTZ
Output Formats: AZW3, EPUB, DOCX, FB2, HTMLZ, OEB, LIT, LRF, MOBI, PDB, PMLZ, RB, PDF, RTF, SNB, TCR, TXT, TXTZ, ZIP
https://zhuanlan.zhihu.com/p/53298578
7个最佳Linux电子书阅读器
tftp可提供不复杂、开销不大的文件传输服务。可以理解为是简化版的FTP。
Ubuntu下面关于TFTP的程序,有三套:
1.tftp和tftpd
2.atftp和atftpd
3.tftp-hpa和tftpd-hpa
目前以tftp-hpa和tftpd-hpa最为流行。
安装命令:
sudo apt install tftp-hpa tftpd-hpa
Ubuntu 20.04使用手记
Ubuntu 20.04是2020.4.24发布的。我第一时间上手体验了一番。
UI方面最大的特点是:菜单栏变成了菜单按钮。这种风格最早来自Chrome的设计,后来部分系统应用也采用了该风格,这次算是收尾阶段了吧。
内核:5.4
LibreOffice:6.4
这里必须吐槽一下近期这几个版本的安装过程。不知道从18.04的哪一个版本开始,离线安装OS这样的正常需求,就成了一件不可能的事情。无论你选择什么选项,都要从网上下载一堆文件(170M+)才能安装成功。
众所周知,ubuntu官方的网速,在国内一直不快,即便是安装镜像已经换用cn.archive.ubuntu.com
,也同样快不了多少。速度飞快的aliyun,不好意思,至少在安装阶段是无法换用的。
碰巧我是尝鲜的,正赶上大家都在尝鲜的时候,那个下载速度实在太感人了。。。囧
但是我也意外发现,3点以后,网速就飞快了(8+M/s)。这点数据也就是1分钟的事情。
虽然有1个月之前安装18.04的经验,然而这次还是遇到了新的麻烦:
离线安装,grub是坏的。好容易在线装,安装成功,但是grub没有Ubuntu的选项。
解决办法:使用boot-repair修理grub。
然而boot-repair既然号称修理,自然是把EFI分区里的.efi
文件一网打尽,每个文件都是一个启动项。众所周知,一个OS往往不止一个.efi
,于是那个条目数简直多的没法看。。。
解决办法:修改/boot/grub/grub.cfg
,去掉多余的条目。
不要直接修改该文件本身,否则系统一旦更新之后,又要再来一遍。该文件开头的注释中介绍了该文件是如何生成的。
这里主要参考的是以下文章:
https://www.cnblogs.com/schips/p/10141278.html
使用boot-repair对Windows+Ubuntu双系统引导修复
Ubuntu字体相关
最近gitk中文显示不正常,明明系统的字体是很多的,但可以设置的却甚少。后来发现这里能够设置的并非系统字体,而只是X11字体。
列出字体:
xlsfonts
找到系统字体文件夹,生成fonts.dir
文件:
sudo mkfontscale -o fonts.dir .
加载fonts.dir
文件:
xset +fp /usr/share/fonts/X11/misc
文泉驿字体是最知名的中文免费字体:
sudo apt install ttf-wqy-microhei ttf-wqy-zenhei
GnuGo
GnuGo是一个著名的开源围棋软件,但是它只有文字界面。一般使用Quarry作为它的GUI。
sudo apt install quarry
最近公司网络有问题,只好使用手机连接互联网,也就是所谓WLAN热点。
除了Wifi之外,现在的手机还有USB网络共享的功能,该功能基于RNDIS(Remote NDIS)技术,实际上就是TCP/IP over USB,就是在USB设备上跑TCP/IP,让USB设备看上去像一块网卡。
diff&patch
diff/patch这对工具在数学上来说,diff是对2个集合求差,patch是求和。
diff -uNr A B > C #生成A和B的diff文件C,-uNr为最常用的选项
patch A C #给A打上diff文件得到B
patch -R B C #B还原为A
给目录应用patch。
patch -p1 <1.patch
这种情况适合1.patch中包含对多个文件的修改时。
批量应用patch
有的时候,patch不是一个patch文件,而是一个目录中的若干个patch文件。这时可用如下办法:
find . -name "*.patch">1.txt
sort 1.txt | xargs cat >2.patch
patch -p1 <2.patch
https://mp.weixin.qq.com/s/VlQnDAD4dGQpmHNil7uPuQ
如何在Linux上使用xargs命令
https://mp.weixin.qq.com/s/HchAIWJmqPNTqEEwb3TbAg
Linux下xargs命令
Ubuntu 22.04使用手记
Ubuntu 20.04是2022.4.21发布的。
内核:5.15
LibreOffice:7.3
RTL8821CE网卡驱动已经集成到内核中,所以这次的网络安装体验满分。
其实离线安装并非不可以,只要你选择安装英文版就行了。
Linux参考资源++
https://mp.weixin.qq.com/s/1JiXL1f3SSjsBojlJSNOpQ
Linux的启动流程
https://mp.weixin.qq.com/s/ZfprFQjVANuCE2N693gZBQ
用户空间和内核空间
https://mp.weixin.qq.com/s/P14VsWwSh9jiF-jBHSXXOw
申请内存时底层发生了什么?
https://mp.weixin.qq.com/s/OJHQZjxa6u8aA6jZyJnNPg
一文浅析内存管理机制
https://mp.weixin.qq.com/s/lAN0GKjkfkkWCurwRQb6DQ
如何排查句柄泄露问题
https://mp.weixin.qq.com/s/9UmzFxRdE4FFdrqEeBZtOQ
如何实现一个定时器?
https://mp.weixin.qq.com/s/zVi45pZka_kPpKIoNXNVBA
当初我要是这么学习“进程和线程”就好了
https://mp.weixin.qq.com/s/A8TnhOFLQOhEqphE760yvw
15个相见恨晚的Linux神器,你可能一个都没见过
https://mp.weixin.qq.com/s/ejGjsGA1ijPP–j3BLcEFA
Linux并发与同步
https://mp.weixin.qq.com/s/CAPU8bjJWobQs6JHHMasvQ
Linux服务端最大并发数是多少?
http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-part-two.html
Systemd入门教程:实战篇
https://mp.weixin.qq.com/s/bPqnaMqhi_4p1mwjmvyoIw
多图详解10大高性能开发核心技术
https://mp.weixin.qq.com/s/ESLO1RH6Q8udwI13Z2Pz_w
详解linux io flush
https://mp.weixin.qq.com/s/LLlzPB2emr9Hqr7gql0B4Q
为什么Linux需要Swapping
https://mp.weixin.qq.com/s/fzLcAkYwKhj-9hgoVkTzaw
CPU飙高,系统性能问题如何排查?
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK