Ubuntu 安装指南
修改 EFI 引导位置(可选)
适用场景:Windows 和 Ubuntu 双系统时,Ubuntu 的 EFI 引导被安装到了 Windows 磁盘上。这会导致 Ubuntu 依赖 Windows 硬盘才能启动。
难绷的是,由于某些版本 Ubuntu 安装程序的 bug,在安装时无论怎么选,Ubuntu 的 EFI 引导都会被安装到 Windows 磁盘上。
检查 EFI 分区
确认 Ubuntu 磁盘上是否存在 EFI 分区,如果没有就创建一个查找 EFI 分区
lsblk找到 Ubuntu 硬盘上的 EFI 分区(如
nvme1n1p5)获取 UUID
sudo blkid /dev/分区名记录输出中的 UUID(如
5C51-1F97)修改 /etc/fstab
将UUID=XXXX-XXXX /boot/efi vfat umask=0077 0 1中的XXXX-XXXX替换为上一步获取的 UUID清理旧引导
sudo rm -rf /boot/efi/EFI/ubuntu重新挂载
sudo umount /boot/efi sudo mount /dev/新分区 /boot/efi更新引导
sudo grub-install sudo update-grub
换源
见 网络/换源
DNS
| DNS 服务器 | 地址 |
|---|---|
| 国内推荐 | 119.29.29.29, 1.2.4.8 |
| 国内 IPv6 | 2402:4e00::, 240c::6666 |
(可选)配置 zram
zram 可以压缩内存中不活跃的数据,提供更大的可用内存空间。Ubuntu 主要有两种实现方式:
- zram-tools(配置起来更简单)
- systemd-zram-generator(更灵活,适合高级用户)
下面仅介绍 zram-tools 的配置方法:
安装 zram-tools
sudo apt install zram-tools编辑配置文件
/etc/default/zramswapsudo nano /etc/default/zramswap常用参数示例:
# 压缩算法(推荐 lz4 速度快,zstd 压缩率高) ALGO=lz4 # 使用内存百分比(默认 50%) PERCENT=50 # 或者固定大小(MB),与 PERCENT 二选一 # SIZE=4096 # 优先级(越高越优先使用 zram) PRIORITY=100启动/重启服务
sudo systemctl daemon-reload sudo systemctl restart zramswap sudo systemctl enable zramswap
验证 zram 状态:
# 查看 swap 状态
swapon --show
# 查看 zram 详细信息
zramctlGRUB 超时设置
sudo nano /etc/default/grub修改 GRUB_TIMEOUT 值(如改为 5),若无效则添加:
GRUB_RECORDFAIL_TIMEOUT=3应用更改:
sudo update-grub关机超时设置
sudo nano /etc/systemd/system.conf取消注释并修改:
DefaultTimeoutStartSec=30s
DefaultTimeoutStopSec=30s应用更改:
systemctl daemon-reloadKeychron 键盘 F1-F12 映射修复
Ubuntu 22.04 及以上版本无需此操作。
# 临时生效(重启后失效)
echo 0 | sudo tee /sys/module/hid_apple/parameters/fnmode
# 永久生效
echo "options hid_apple fnmode=0" | sudo tee -a /etc/modprobe.d/hid_apple.conf
sudo update-initramfs -u禁用鼠标键盘唤醒
对于 G304 鼠标
export MOUSE="G304"
sudo cp config_files/config-${MOUSE}-wakeup.sh /lib/systemd/system-sleep/
sudo chmod +x /lib/systemd/system-sleep/config-${MOUSE}-wakeup.sh
sudo cp config_files/disable-${MOUSE}-wakeup.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable disable-${MOUSE}-wakeup.service对于 G102 鼠标
将上面的 G304 替换为 G102 即可。
其他鼠标
- 查找设备 ID
lsusb
# 示例:Bus 005 Device 003: ID 046d:c53f Logitech, Inc. USB Receiver
# 格式:idVendor:idProduct修改
config-G304-wakeup.sh脚本
替换其中的idVendor和idProduct,另存为新文件修改
disable-G304-wakeup.service
把其中的 G304 替换为新名字部署脚本
sudo cp config-新名字-wakeup.sh /lib/systemd/system-sleep/ sudo chmod +x /lib/systemd/system-sleep/config-新名字-wakeup.sh sudo cp disable-新名字-wakeup.service /etc/systemd/system/ sudo systemctl daemon-reload sudo systemctl enable disable-新名字-wakeup.service
reboot-to-ubuntu.sh
#!/bin/bash
set -e
search_result=$(efibootmgr | grep ubuntu)
boot_id=${search_result:4:4}
echo $search_result
sudo efibootmgr --bootnext $boot_id
sudo reboot开机挂载硬盘
- 方法1:仿照如下修改
/etc/fstab - 方法2:使用图形工具配置
- GNOME:
sudo apt install gnome-disk-utility - KDE: 使用 KDE 分区管理器(KDE 22.04 及以上版本)
- GNOME:
# /etc/fstab 示例
# <file system> <mount point> <type> <options> <dump> <pass>
UUID=bc37ee02-3ac4-44da-b6ad-34f43a80673b / ext4 errors=remount-ro 0 1
UUID=5C51-1F97 /boot/efi vfat umask=0077 0 1
UUID=4b888711-6ff2-480f-9615-700ec0e7a8c4 none swap sw 0 0
UUID=f4bc711c-5c5e-40e0-92e5-38a351d20f43 /mnt/ubuntu ext4 defaults 0 0
UUID=7080BF8880BF5378 /mnt/win_e ntfs defaults,windows_names 0 0
UUID=7C506F8E506F4DC8 /mnt/win_d ntfs defaults,windows_names 0 0
/mnt/ubuntu/home/xy/Documents /home/xy/Documents none bind 0 0
/mnt/ubuntu/home/xy/Downloads /home/xy/Downloads none bind 0 0
/mnt/ubuntu/home/xy/Music /home/xy/Music none bind 0 0
/mnt/ubuntu/home/xy/Pictures /home/xy/Pictures none bind 0 0
/mnt/ubuntu/home/xy/Videos /home/xy/Videos none bind 0 0locate 命令 updatedb 搜索路径配置
ubuntu 22.04 有效,ubuntu 20.04 无效
/etc/updatedb.conf
PRUNE_BIND_MOUNTS="no"
# PRUNENAMES=".git .bzr .hg .svn"
PRUNEPATHS="/tmp /var/spool /media /mnt /var/lib/os-prober /var/lib/ceph /home/.ecryptfs /var/lib/schroot"
PRUNEFS="NFS afs autofs binfmt_misc ceph cgroup cgroup2 cifs coda configfs curlftpfs debugfs devfs devpts devtmpfs ecryptfs ftpfs fuse.ceph fuse.cryfs fuse.encfs fuse.glusterfs fuse.gvfsd-fuse fuse.mfs fuse.rclone fuse.rozofs fuse.sshfs fusectl fusesmb hugetlbfs iso9660 lustre lustre_lite mfs mqueue ncpfs nfs nfs4 ocfs ocfs2 proc pstore rpc_pipefs securityfs shfs smbfs sysfs tmpfs tracefs udev udf usbfs"Kubuntu 休眠按钮
kubuntu 22.04 测试成功
启用休眠功能:
创建SWAP分区,启动SWAP
找到 SWAP 分区的 UUID:
sudo blkid | grep swap
编辑
/etc/default/grub,向GRUB_CMDLINE_LINUX_DEFAULT添加resume=xxx,例如:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=xxxx-xxxx-xxxx"sudo update-grub重启
测试是否能够休眠:
sudo systemctl hibernate添加休眠按钮
sudo -i
cd /var/lib/polkit-1/localauthority/50-local.d/
cat > com.ubuntu.enable-hibernate.pkla << 'EOF'
[Re-enable hibernate by default in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes
[Re-enable hibernate by default in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate
ResultActive=yes
EOFv2rayA
- 官网:https://v2raya.org
- 安装方法:https://v2raya.org/docs/prologue/installation/debian/
- 安装完成后访问:http://localhost:2017
(可选,建议)让 sudo 继承代理变量
这样在执行
sudo pacman -Syu、sudo apt update等命令时也会遵守代理环境变量中的设置。
paru -S --needed vi
sudo visudo添加(优先尝试这一行):
Defaults env_keep += "*_proxy *_PROXY"若系统提示语法不支持,则改用:
Defaults env_keep += "http_proxy https_proxy ftp_proxy all_proxy no_proxy HTTP_PROXY HTTPS_PROXY FTP_PROXY ALL_PROXY NO_PROXY"字体安装
- KDE:文件管理器右键安装
- GNOME:手动安装
# 手动安装字体
sudo cp <字体文件>.ttf /usr/share/fonts/truetype/<新文件夹>/
sudo fc-cache -fv
# 查看已安装字体
fc-listGit 配置
git config --global user.name "<your-name>"
git config --global user.email "<your-email>"
git config --global core.quotepath falseZsh
# 安装 Zsh
sudo apt install zsh
chsh -s $(which zsh) # 设置为默认 shell
# 临时切换回 bash
exec bashOh My Zsh
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"主题:powerlevel10k
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
# 在 ~/.zshrc 中设置 ZSH_THEME="powerlevel10k/powerlevel10k"插件
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
git clone https://github.com/conda-incubator/conda-zsh-completion ${ZSH_CUSTOM:=~/.oh-my-zsh/custom}/plugins/conda-zsh-completion然后编辑 ~/.zshrc:
plugins=(
git
z
zsh-autosuggestions
zsh-syntax-highlighting
conda-zsh-completion
)输入法
kununtu 22.04:建议 fcitx5
直接安装 language package,这会帮你安装 fcitx5
之后重启系统,在系统设置的输入法界面添加 Pinyin 输入法(不是 Keyboard - Chinese)
kubuntu 20.04:建议搜狗输入法
https://pinyin.sogou.com/linux/?r=pinyin
搜狗输入法不显示问题:安装以下依赖
sudo apt install libqt5qml5 libqt5quick5 libqt5quickwidgets5 qml-module-qtquick2
sudo apt install libgsettings-qt1解决 konsole,kate等软件无法切换中文输入法:
修改/etc/profile,增加以下语句:
#fcitx
export XIM_PROGRAM=fcitx
export XIM=fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"注销或重启即可解决问题
ubuntu 20.04:建议系统自带的
language package
sudo apt install $(check-language-support)
# 安装中文语言包、GNOME 包和 KDE 包
sudo apt install "language-pack-zh-han*" "language-pack-gnome-zh-han*" "language-pack-kde-zh-han*"注意⚠️如果使用搜狗输入法,需卸载 fcitx-ui-qimpanel(不使用则无需操作):
sudo apt purge fcitx-ui-qimpanel一些软件
Edge
官网下载安装包
如果想配置必应国际版搜索引擎:
{bing:baseURL}search?q=%s&{bing:cvid}{bing:msb}{google:assistedQueryStats}如果遇到GPG error "NO_PUBKEY":
在终端执行以下命令:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys <PUBKEY>其中 <PUBKEY> 是缺失的仓库公钥,例如 8BAF9A6F。
然后更新:
sudo apt-get update如果遇到 Warning: apt-key is deprecated:
https://askubuntu.com/questions/1398344/apt-key-deprecation-warning-when-updating-system
Samba
其他软件
sudo apt install gnome-disk-utility
sudo apt install gnome-keyring
sudo apt install yakuake
pip3 install tldr
sudo apt install flameshot # https://github.com/flameshot-org/flameshot视频解码器
仅在需要时安装
sudo apt install libdvdnav4 gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly libdvd-pkg -y
sudo dpkg-reconfigure libdvd-pkg
sudo apt install ubuntu-restricted-extrasGnome桌面环境推荐额外安装:
konsole 终端
sudo apt install konsole
# 切换默认终端
sudo update-alternatives --config x-terminal-emulatorGnome 插件
sudo apt install gnome-tweak-tool gnome-shell-extensions gnome-shell-extension-prefs gnome-shell-extension-autohidetopbar gnome-shell-extension-dash-to-panel剪切板
sudo apt install parcellite然后按 Ctrl+Alt+P 打开设置菜单
文件管理器右键菜单
sudo apt install nautilus-actions filemanager-actions然后打开 fma-config-tool
(配置完可能需要重启 nautilus 才能生效:nautilus -q)
Preference:

Open in Konsole


Open in VSCode


常见问题
KDE Dolphin 无法访问 Windows 共享文件夹
问题:报错 The file or folder smb://ip does not exist.
解决方法:在系统设置 -> 网络设置 -> Windows 共享中,填入任意用户名和密码,然后重启 Dolphin。
参考:https://forum.manjaro.org/t/dolphin-the-file-or-folder-smb-sharename-does-not-exist/114900/10
update-grub 不会找到其他 btrfs 分区中的 Linux
GRUB 的 os-prober 在检测 btrfs 子卷时存在问题。解决方案:在每个 btrfs 卷根目录创建
@/boot和@/etc的符号链接。
#navigate to root of your current booted brtfs based OS
cd /
#create symlink for boot
ln -s @/boot boot
#create symlink for etc
ln -s @/etc etc
#mount the other btrfs volume with OS-install and navigate to its root
cd /mnt/exampleotherbtrfsvolume
#create symlink for boot
ln -s @/boot boot
#create symlink for etc
ln -s @/etc etc
#let grub detect btrfs based install volume
sudo update-grub2
#reboot to the other btrfs based OS (probably listed this time in grubmenu)
#let this grub detect the previously booted btrfs volume
sudo update-grub2