Ubuntu22.04 安装配置流水账
前两天为了测一个CH340的bug, 装了三遍20.04. bug解决完, 心想反正也要重新装各种软件, 不如直接装22.04吧. 把涉及的安装记录一下方便将来参考.
制作启动U盘
在Ubuntu网站 https://ubuntu.com/download/desktop 下载Ubuntu 22.04 LTS Desktop ISO, 下载完用sha256sum校验一下.
选项一: 使用dd命令
参考 https://www.cyberciti.biz/faq/creating-a-bootable-ubuntu-usb-stick-on-a-debian-linux/
在dd之前取消U盘挂载
milton@milton:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
...
sdb 8:16 0 894.3G 0 disk
├─sdb2 8:18 0 977M 0 part /boot
└─sdb3 8:19 0 891.4G 0 part /
sdc 8:32 1 14.7G 0 disk <-- 这个是U盘
└─sdc1 8:33 1 14.7G 0 part /media/milton/U16G02
# 取消挂载
milton@milton:~$ sudo umount /media/milton/U16G02
之后再运行lsblk
确认一下. 然后用dd写入
sudo dd if=ubuntu-22.04.1-desktop-amd64.iso of=/dev/sdc bs=1M status=progress
写入之后, 系统中能看到U盘的变化
选项二: 使用Ubuntu自带的 Startup Disk Creator
这个比较简单, 直接选择对应的 ISO 文件和U盘, 写入即可.
安装过程
U盘启动
安装的界面比较简单, 过程就不细写了.
分区方式 -- 注意一定要创建一个EFI分区, 否则安装程序会将EFI写到另一个带EFI的硬盘
- 前面留一个EFI分区, 256M
- 其他空间全部挂载到 /
- bootloader 指向硬盘设备(不是分区)
修复VI键盘错误
Ubuntu22.04 自带nano比较方便, VI和thinkpad的键不太兼容, 方向键不能直接使用, 按如下修改
sudo nano /etc/vim/vimrc.tiny
配置修改为
set nocompatible
set backspace=2
替换默认仓库
默认仓库为 http://cn.archive.ubuntu.com/ubuntu/ , 这个地址总体还是快的, 但是偶尔会连接错误, 有时候会被解析为ipv6连不上, 干脆换成USTC源. 在命令行中用gedit打开
sudo gedit /etc/apt/sources.list
将 http://cn.archive.ubuntu.com/ubuntu/ 全部替换为 http://mirrors.ustc.edu.cn/ubuntu/, 然后保存
# vi search&replace :%s/text1/abc2/gc
# input `:`, then input
%s/http:\/\/cn.archive.ubuntu.com\/ubuntu\//http:\/\/mirrors.ustc.edu.cn\/ubuntu\//gc
终端中隐藏隐藏文件
编辑 ~/.bashrc, 修改 ll
的alias
# some more ls aliases
alias ll='ls -lF'
关闭中键粘贴
对于Thinkpad, 和指点杆一起使用中间进行滚动操作时, 经常会误操作为中键粘贴, 需要关闭
sudo apt install gnome-tweaks
在 Keyboard & Mouse 中关闭
设置文件管理默认显示字段
默认的列只有名称, 大小, 日期和星号, 如果调整, 只能每个文件夹挨个调整, 非常不方便.
使用gsettings进行设置
# 读取当前设置
$ gsettings get org.gnome.nautilus.list-view default-visible-columns
['name', 'size', 'date_modified', 'starred']
# 查看可以使用的列
$ gsettings get org.gnome.nautilus.list-view default-column-order
['name', 'size', 'type', 'owner', 'group', 'permissions', 'mime_type', 'where', 'date_modified', 'date_modified_with_time', 'date_accessed', 'date_created', 'recency', 'starred']
# 设置
$ gsettings set org.gnome.nautilus.list-view default-visible-columns "['name', 'size', 'type', 'date_modified', 'owner', 'group', 'permissions']"
替换nautilus 支持 type-ahead
从Ubuntu18.04开始, 文件管理器nautilus在键盘输入时执行的是搜索, 不符合使用习惯, 需要手动替换为支持type-ahead的版本
# 添加软件源
sudo add-apt-repository ppa:lubomir-brindza/nautilus-typeahead
# 更新
sudo apt dist-upgrade
# 重启 alt + f2 然后执行
nautilus -r
安装 Google Chrome
通过 deb 包 dpkg -i 安装
下载64bit安装包 https://www.google.com/chrome/?platform=linux
通过 apt 安装
在 /etc/apt/sources.list.d/ 下创建 google-chrome.list
sudo nano /etc/apt/sources.list.d/google-chrome.list
内容
deb [arch=amd64] https://dl.google.com/linux/chrome/deb/ stable main
然后
# 会提示deprecated, 不影响安装
wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
sudo apt update
sudo apt install google-chrome-stable
卸载 Snap
参考 https://haydenjames.io/remove-snap-ubuntu-22-04-lts/
snap是一个容器系统, 不太喜欢这种牺牲性能和资源换兼容性的做法, 安装一开始就卸载掉吧.
首先列出已经安装的snap应用
snap list
停止snapd服务
sudo systemctl disable snapd.service
sudo systemctl disable snapd.socket
sudo systemctl disable snapd.seeded.service
按顺序删除snap应用, 因为互相有依赖关系, 有些名称会随版本升级变化, 如果不正确, 输入时tab一下
sudo snap remove firefox
sudo snap remove snap-store
sudo snap remove gtk-common-themes
sudo snap remove gnome-3-38-2004
sudo snap remove snapd-desktop-integration
sudo snap remove core18
sudo snap remove bare
sudo snap remove snapd
都删除了之后, 删除缓存
sudo rm -rf /var/cache/snapd/
最后完整删除snapd
sudo apt autoremove --purge snapd
删除个人用户下的 ~/snap 目录
rm -rf ~/snap
重新安装 Non-snap Firefox
默认安装的Firefox在删除snap时一起删除了, 需要另外安装.
创建文件
vi /etc/apt/preferences.d/mozilla-firefox
添加以下内容, 将Ubuntu自带的firefox降级
Package: *
Pin: release o=LP-PPA-mozillateam
Pin-Priority: 1001
Create file /etc/apt/apt.conf.d/51unattended-upgrades-firefox
vi /etc/apt/apt.conf.d/51unattended-upgrades-firefox
with content
Unattended-Upgrade::Allowed-Origins:: "LP-PPA-mozillateam:${distro_codename}";
保存后, 添加新的 Mozilla team Ubuntu PPA for Firefox:
sudo add-apt-repository ppa:mozillateam/ppa
最后通过 apt 安装
sudo apt update
sudo apt install firefox
安装智能拼音中文输入
- 首先在 Settings -> Region & Language , Manage Installed Languages, 会提示安装语言, 点OK安装, 这一步会安装智能拼音
- 安装完成后, Logout 退出然后再登录进来, 否则 keyboard 里面没有智能拼音的选项
- 在Keyboard中添加. 如果没有找到智能拼音, 就重启一下再操作
智能拼音设置
- Punctuations 设为 Half
- 调整 Candidates到最大
- 勾选 Remember every input as a phrase
- Correct Pin 中, 除了 ue ve 的转换以外都取消勾选
- 勾选全部字典
安装 Gnome Shell Extension, 安装Unite扩展
sudo apt install gnome-shell-extension-manager
然后运行Extension Manager, 在 Browse 里面找到 Unite, 安装并启用, 默认的配置就很好. 如果嫌最大化之后窗口按钮不好点, 可以在 Appearance里面将 Top bar window buttons position 改成 last.
明显的界面改动体现在
- 窗口最大化之后没有标题栏了, 节省了纵向空间
- 时间显示移到右侧, 和其他的通知栏图标在一起, 便于查看.
硬件和USB设备相关
禁用 brltty 相关服务
因为brltty服务与CH341 USB设备冲突
usb 3-4.2: usbfs: interface 0 claimed by ch34x while 'brltty' sets config #1
需要将其禁用
sudo systemctl mask brltty.service
sudo systemctl mask brltty-udev.service
将用户加入 dialout组
普通用户默认无法连接 ttyUSB0 这些设备, 需要将自己添加到 dialout 用户组. 平时用不到USB2TTL这些外设的可以不设置.
sudo usermod -a -G dialout $USER
这个修改需要重启后才能生效
允许普通用户运行 st-info
在 /etc/udev/rules.d/ 目录下新增 文件 45-usb-stlink-v2.rules 添加以下内容
#FT232
ATTRS{idProduct}=="6014", ATTRS{idVendor}=="0403", MODE="666", GROUP="plugdev"
#FT2232
ATTRS{idProduct}=="6010", ATTRS{idVendor}=="0403", MODE="666", GROUP="plugdev"
#FT230X
ATTRS{idProduct}=="6015", ATTRS{idVendor}=="0403", MODE="666", GROUP="plugdev"
#STLINK V1
ATTRS{idProduct}=="3744", ATTRS{idVendor}=="0483", MODE="666", GROUP="plugdev"
#STLINK V2
ATTRS{idProduct}=="3748", ATTRS{idVendor}=="0483", MODE="666", GROUP="plugdev"
然后执行sudo udevadm control --reload-rules
, 设置在再次连接stlink后生效
取消dmesg的权限限制
22.04默认的安全配置下, 普通用户不能运行dmesg, 而硬件开发中需要经常使用这个命令, 每次sudo很不方便. 解除限制需要编辑
sudo vi /etc/sysctl.d/10-kernel-hardening.conf
取消这一行的注释, 里面有关于这个设置的详细说明
# kernel.dmesg_restrict = 0
安装 Sublime Text 4
根据安装说明 http://www.sublimetext.com/docs/linux_repositories.html
先安装 GPG key
wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/sublimehq-archive.gpg
如果无法直接下载执行, 可以下载文件后
cat sublimehq-pub.gpg | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/sublimehq-archive.gpg
添加仓库
echo "deb https://download.sublimetext.com/ apt/stable/" | sudo tee /etc/apt/sources.list.d/sublime-text.list
安装
sudo apt update
sudo apt install sublime-text
安装看图软件 XnViewMP
非常好用的看图软件. 访问https://www.xnview.com/en/xnviewmp/#downloads, 下载 XnViewMP-linux-x64.tgz, 解压到 /opt/ 下, 设置owner, 将 XnView.desktop 复制到 /usr/share/applications/ 目录下, 就可以使用了. XnView.desktop里面指向的目录就是 /opt/XnView, 如果使用其他路径需要相应修改
[Desktop Entry]
Value=1.0
Encoding=UTF-8
Terminal=0
TryExec=/opt/XnView/xnview.sh
Exec=/opt/XnView/xnview.sh %F
Icon=/opt/XnView/xnview.png
Type=Application
Categories=Graphics;
StartupNotify=true
Name=XnView Multi Platform
GenericName=XnViewMP
MimeType=image/bmp;image/jpeg;image/png;image/tiff;image/gif;
安装 Asbru
在Ubuntu下替代XShell的多终端管理工具, 界面一般, 但是能用
参考安装说明 https://docs.asbru-cm.net/General/Installation/
sudo apt-add-repository multiverse
sudo apt install curl
curl -1sLf 'https://dl.cloudsmith.io/public/asbru-cm/release/cfg/setup/bash.deb.sh' | sudo -E bash
sudo apt install asbru-cm
安装 JetBrains IDEA
因为不使用snapd, 所以不能直接从商店里安装. 从 jetbrains官网下载, 解压并移动到 /opt/jetbrains
# 解压
tar xvf ideaIU-2022.2.2.tar.gz
# 创建目录
cd /opt/
sudo mkdir jetbrains
cd jetbrains/
# 移动文件并设置权限
sudo mv ~/Backup/Linux/idea-IU-222.4167.29/ .
sudo chown -R root:root idea-IU-222.4167.29/
cd idea-IU-222.4167.29/
# 看一下安装说明
more Install-Linux-tar.txt
# 运行, 这时候会初始化, 如果是商业版, 会让你登录
cd bin/
./idea.sh
# 建立一个软链, 待会儿做桌面图标需要用到
cd ..
sudo ln -s idea-IU-222.4167.29 idea
能正常运行之后, 还需要创建桌面图标, 可以通过 Tools->Create Desktop Entry, 也可以手工创建, 如果你的安装目录不一样, 里面的路径需要对应修改一下
社区版sudo nano /usr/share/applications/idea-ce.desktop
[Desktop Entry]
Version=1.0
Type=Application
Name=IntelliJ IDEA Community Edition
Icon=/opt/jetbrains/idea/bin/idea.svg
Exec="/opt/jetbrains/idea/bin/idea.sh" %f
Comment=Capable and Ergonomic IDE for JVM
Categories=Development;IDE;
Terminal=false
StartupWMClass=jetbrains-idea-ce
StartupNotify=true
商业版sudo nano /usr/share/applications/idea.desktop
[Desktop Entry]
Version=1.0
Type=Application
Name=IntelliJ IDEA
Icon=/opt/jetbrains/idea/bin/idea.svg
Exec="/opt/jetbrains/idea/bin/idea.sh" %f
Comment=Capable and Ergonomic IDE for JVM
Categories=Development;IDE;
Terminal=false
StartupWMClass=jetbrains-idea
StartupNotify=true
安装 PyCharm
过程和 idea 基本一样, 桌面图标配置文件为
[Desktop Entry]
Version=1.0
Type=Application
Name=PyCharm Professional Edition
Icon=/opt/jetbrains/pycharm/bin/pycharm.svg
Exec="/opt/jetbrains/pycharm/bin/pycharm.sh" %f
Comment=Python IDE for Professional Developers
Categories=Development;IDE;
Terminal=false
StartupWMClass=jetbrains-pycharm
StartupNotify=true
Windows 10 分区挂载后只读的问题
如果机器中存在安装了Win10的硬盘, 如果Win10启用了 fast startup, 那么Win10的分区在挂载后会是只读的状态, 需要关闭fast startup
- Settings -> Power & sleep -> Additional power settings
- Choose what the power buttons do
- Turn on fast startup (recommended) 取消勾选
如果选项是灰的无法修改, 需要点击Change settings that are currently unavailable授权后再修改.
Windows 10 系统时区冲突的解决
增加注册表项, 将下面的内容(针对64位系统)另存为.reg文件执行, 导入注册表字段.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
"RealTimeIsUniversal"=dword:00000001
或者以管理员权限执行
Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_QWORD /d 1
Windows 10 系统时间中关闭自动同步
电源管理TLP
Thinkpad上安装TLP可以设置电池的充电阈值, 避免电池长期处于充饱的状态, 减慢电池衰减速度. 直接sudo apt install tlp
可以安装, 注意需要配置一下
# 修改 /etc/tlp.d/00-template.conf
# 00-template.conf - Template for TLP drop-in customizations
# See full explanation: https://linrunner.de/tlp/settings
#
# PARAMETER="value"
# PARAMETER+="add value"
USB_BLACKLIST="1a86:7523"
AHCI_RUNTIME_PM_ON_BAT=on
前一个, 是避免连接CH340之后不断disconnected, 第二个, 是避免Thinkpad在休眠后无法唤醒屏幕无响应, 对应的问题描述在 System unresponsive on wakeup from suspend on battery mode
换插HDMI线缆后声音设备丢失的问题
如果你在Ubuntu运行中拔插HDMI线缆, 很容易导致Ubuntu无法再次检测到HDMI声音输出设备, 导致视频无声. 打开 settings 可以看到, 只有一个 Dummy Device.
这时候杀掉原来的音频进程就能恢复
pulseaudio -k
使用感受
Ubuntu22.04, 整体的使用感受上和20.04相似, 但是在一些方面有明显区别
- GNOME Terminal 中的粘贴, 会先以高亮的形式出现, 不会立即输入终端, 需要空格或回车后再输入终端. 避免了以往粘贴中带回车时, 一粘贴就立即执行的问题.
- 整体界面显示比20.04更紧凑. 右上角改进了图标结构, 取消了20.04中带三角形展开的设计
- 桌面比20.04好了不少, 可以多选, 右键菜单功能也多了不少, shift+del也有提示了
- 文件浏览的 type-ahead 还是和20.04一样的问题
- 关机和重启分开了. Win键调出应用查找框时, 输入shutdown和restart分别对应关机和重启, 这点可能需要花点时间习惯.
- 中文方面, 字体貌似也有改进, 中文输入法比20.04中的准确性更好, 暂时还没有出现切换中文输入卡住, 要过几分钟才能恢复的情况.