ThinkNotes

Simple is not easy | 化繁为简,知易行难

0%

Ubuntu PC开发环境配置

Ubuntu PC开发环境配置

本文基于Ubuntu 22.04 LTS

系统配置

软件下载源

使用国内软件源下载:

1
software&updates -> Ubuntu Software -> download from -> cn99.com或aliyun.com

中文输入法

安装中文输入法(pinyin)的步骤:

安装中文支持:

1
Settings -> Region&language -> Manage Installed Languages -> Install/Remove Languages -> 安装chinese simplified

设置系统语言为中文:

1
Settings -> Region&language -> Language改成Chinese

安装Fcitx框架和中文输入法:

1
2
3
sudo apt-get install fcitx-bin #安装fcitx框架
sudo apt-get install fcitx-table #安装输入法栏,其中自动安装拼音输入法
fcitx --version

使用Fcitx框架,重启

1
Settings -> Region&language -> Manage Installed Languages -> Keyboard input method system 选择Fcitx 4

添加输入法

1
Ubuntu右上角的小键盘图标 -> configure -> 添加pinyin(只有系统语言为中文时才能添加中文输入法)

切换中英文输入法:

1
ctrl + space

设置系统语言改回英文:

1
Settings -> Region&language -> Language改成English

snap包管理工具

Snap是Canonical开发的Linux包管理和软件部署工具。

安装和使用参考 How to Install Snap on Ubuntu

特点:丰富的第三方工具库,包括开源工具和闭源工具;二进制安装,不是源码编译

相比apt,其查找工具和安装极为简单:

1
2
sudo snap find <keyword> #查找keyword相关的工具,显示可安装的列表
sudo snap install <package> #安装列表中的工具

查看和卸载snap安装的包:

1
2
snap list
sudo snap remove <package>

示例:安装VSCode和Chrome

1
2
3
4
sudo snap find vscode #找到<package>为code
sudo snap install code --classic
sudo snap find chrome #找到<package>为chromium
sudo snap install chromium

设置快捷键

setting -> keyboard -> shortcuts -> custom shortcut -> 为应用程序添加快捷键

以截图工具flameshot为例,设置快捷键的command为调用flameshot的命令,截图默认保存到~/Pictures

image-20230505105544618

要配置其他flameshot命令的快捷键,用 man flameshot 查看,参考 Keyboard shortcuts for Flameshot

Timeshift备份系统

22.04系统似乎比较容易挂,进不了系统显示”Oh no… system can’t recover…”,比如:

Nvdia驱动选择开源版本xserver就挂了一次, recovery模式看/var/log/message有nouveau和nvidia module相关问题

学习xv6时安装编译环境时也挂了一次(不能安装到/usr/local,应该安装到/home),recovery模式dpkg report显示failure log:

1
symbol lookup error: /lib/x86_64-linux-gnu/libgnutls.so.30: undefined symbol: __gmpz_limbs_write 

都是找遍办法都修复不了,只能重装…

为了解决此问题,使用Timeshift将系统备份,参考: How to Backup and Restore Linux System Settings With Timeshift

安装timeshift:

1
sudo apt install timeshift

备份整个系统,包括/root和/home/user,设置定时备份

如何恢复:

情景一:系统无法进入桌面,但是可以进入recovery模式root操作:

如下图,用timeshift --help查看各种命令,使用timeshift --restore恢复指定snapshot

image-20230508193100794

情景二:系统无法进入recovery模式,但是备份的snapshot数据还在

使用Ubuntu Live USB ,即装系统的USB进入try ubuntu环境,联网换国内源安装timeshift,再恢复系统盘中的snapshot数据

情景三:磁盘中的snapshot数据损害:只能重装系统,为了避免此情况发生,应该将系统备份到其他硬盘而不仅仅在当前系统盘

Clonezilla克隆系统

类似windows ghost的整盘克隆:

https://www.linuxbabe.com/backup/how-to-use-clonezilla-live

至少需要三个盘:

在U盘写入Clonezilla的live usb iso生成Clonezilla live USB,再以Clonezilla live USB启动,对待备份的SSD盘做系统备份,到另一个SSD或者大USB盘;

恢复也是需要Clonezilla live USB + 有系统备份的盘 + 目标写入盘

关于系统目录

/usr:系统级的目录,可以理解为C:/Windows/,apt安装的一般在/usr/bin和/usr/lib

/usr/lib:理解为C:/Windows/System32

/usr/local:用户级的程序目录,可以理解为C:/Progrem Files/,用户自己编译的软件默认安装到这个目录下

/opt是用户级的目录用来安装大型的第三方附加软件包,可以理解为D:/Software

开发过程中为了避免lib冲突,自己编译的包建议放在/home/<具体的项目目录>,此外注意自己编译基础库设置的LD_LIBRARY_PATH造成系统库链接冲突

Tmux

参考:Tmux 使用教程

VNC远程桌面

Ubuntu安装vino作为VNC server, windows端使用VNC Viewer作为client.

1
2
apt install vino
setting -> Sharing -> Remote Desktop -> On

参考 Ubuntu 22.04 Remote Desktop Access with Vino

分屏类配置

terminator终端分屏

安装:sudo apt-get install terminator

terminator分屏常用快捷键:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
在同一个标签内的操作:
Ctrl+Shift+O
Split terminals Horizontally. //水平分割终端

Ctrl+Shift+E
Split terminals Vertically. //垂直分割终端

Ctrl+Shift+Right
Move parent dragbar Right. //在垂直分割的终端中将分割条向右移动

Ctrl+Shift+Left
Move parent dragbar Left. //在垂直分割的终端中将分割条向左移动

Ctrl+Shift+Up
Move parent dragbar Up. //在水平分割的终端中将分割条向上移动

Ctrl+Shift+Down
Move parent dragbar Down. //在水平分割的终端中将分割条向下移动

Ctrl+Shift+F
Search within terminal scrollback //搜索

复制和粘贴:
光标选中自动复制
鼠标中键粘贴

Ubuntu多桌面

1
2
3
创建多桌面workspace: ctrl+alt+方向键(左右)

将当期应用移动到workspace:ctrl+alt+shift+方向键(左右)

Ubuntu应用分屏

左右分屏:win键+方向键(左右)

上下分屏:不支持,建议使用多桌面

截图类配置

截图工具和屏幕缩放

1.截图工具:

ubuntu默认开启了wayland,会阻碍第三方截图工具的功能。需要先关闭wayland,使用xorg桌面:

1
sudo gedit /etc/gdm3/custom.conf 

#WaylandEnable=false 的#注释去掉,重启生效。再安装flameshot等截图软件,能正常使用功能。

2.屏幕缩放:

setting -> displays -> Fractional Scaling打开,即可支持125%缩放。

屏幕缩放会引起flameshot截图闪烁问题,解决方案:使用以下命令启动flameshot

1
env QT_AUTO_SCREEN_SCALE_FACTOR=1 flameshot gui

issue参考:Fails when fractional scaling <> 100% #564

3.截图工具加到快捷键

将以上缩放+无闪烁的flameshot启动命令加到快捷键:

settings-> keyboard -> custom shortcuts -> 添加command和shortcut

远程与共享

Ubuntu远程登录到Windows主机

推荐remmina,同时支持RDP和VNC协议:sudo apt install remmina

默认设置需要改:以目标主机的分辨率显示; 监听目标主机的键盘快捷键,在目标主机内的键盘都是对该主机的操作

Ubuntu访问Windows共享路径

win10共享某个分区盘:右键分区->高级共享->打开读写访问;记录ipconfig的IP

Ubuntu已经安装samba后,在文件管理->其他位置->连接到服务器, 输入win10主机IP,会输入win10主机的用户名,密码,域名后可以连接;只能打开win10已共享的分区盘。