[toc]
安装目标
-
操作系统: ArchLinux
-
文件系统: Btrfs
-
引导程序: GRUB
-
桌面环境: KDE Plasma (Wayland)
-
登录管理器: greetd + Tuigreet / SDDM
设备信息
-
华硕天选5Pro (FA607PV)
-
CPU: AMD Ryzen 9 7940HX
-
内存: 16 GiB 内存
-
GPU1: AMD Radeon 610M
-
GPU2: NVIDIA GeForce RTX 4060 Laptop GPU
安装前的准备
下载 内容
-
Arch Linux 镜像
-
(推荐) ventoy
-
(推荐) Flclash build 包
-
下载
Package Actions中的Download snapshot下载
Source中的 全部文件
-
-
(推荐) 万象拼音
-
下载 最新的
Rime万象拼音输入方案中的rime-wanxiang-base.zip如果有更新的
实时提交的词库更新下载base-dicts.zip如果词库比输入方案旧则不用下载 -
下载最新的
tone_moe.dict.yaml
-
-
部分软件安装包
-
(推荐) XnViewMP: 一款免费的专业图片浏览和管理工具
-
(可选) Mujoco: 机器人仿真平台
-
(可选) STM32CubeMX: 意法半导体单片机配置工具
-
-
需要的 AppImage
-
(推荐) Motrix: 一款下载器
-
(可选) QQ 音乐
-
(可选) PureRef: 一款绘画参考图查看工具
Linux 下载中选择
Portable然后Select amount中选择第三个Custom Amount输入0即可下载免费版 -
(可选) QtScrcpy: 一款安卓投屏工具
PS: 腾讯 QQ 也提供了 AppImage 版本, 但是由于打包问题, 无法使用 AppImageLauncher 安装, 建议直接使用 AUR 包
-
-
字体文件
-
(可选) Nerd Fonts: 用于终端美化显示系统图标等
这里选择
0xProto Nerd Font -
(可选) Jetbrains Mono: 好看的编程字体
-
(可选) Windows 字体: 防止wps和qq音乐缺少字体
从 Windows 系统中拷贝
C:\Windows\Fonts文件夹下的字体文件到一个单独的文件夹中备用
-
Ventoy 制作启动盘
系统安装 (Live CD)
chroot 前
禁用 reflector 服务
不禁用也没关系, 后面也会手动换换源
systemctl stop reflector.servicesystemctl status reflector.service(可选) wifi连接
iwctl # 进入交互界面device list # 查找网卡名称-wlan0station wlan0 scanstation wlan0 get-networksstation wlan0 connect wifi-name# 输入密码exit更新时钟
timedatectl set-ntp truetimedatectl status(可选) 使用 ssh 安装
passwd # 设置 root 密码ip a # 查看 IP 地址
# 使用ssh客户端临时连接ssh -o StrictHostKeyChecking=no -o "UserKnownHostsFile /dev/null" root@目标计算机的_IP_地址修改镜像站和仓库
修改 Arch 仓库镜像站
编辑
nano /etc/pacman.d/mirrorlist在文件的最顶端添加
Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch(可选) 添加cachyos软件源
CachyOS 是一个基于 Arch Linux 的发行版, 专注于为用户提供更好的性能, 特别是针对AMD硬件进行了优化, 其软件源包含了很多特定优化的软件包.
-
导入 CachyOS 的 GPG 密钥并安装相关包
导入密钥
Terminal window sudo pacman-key --recv-keys F3B607488DB35A47 --keyserver keyserver.ubuntu.comsudo pacman-key --lsign-key F3B607488DB35A47注: 密钥可能会更新, 请进入 CachyOS 官方文档 -
Adding Our Repositories to an Existing Arch Linux Install-Manual选项 -Install CachyOS keyring:查看最新指令安装 CachyOS 相关包
Terminal window sudo pacman -U 'https://mirror.cachyos.org/repo/x86_64/cachyos/cachyos-keyring-20240331-1-any.pkg.tar.zst' \'https://mirror.cachyos.org/repo/x86_64/cachyos/cachyos-mirrorlist-22-1-any.pkg.tar.zst' \'https://mirror.cachyos.org/repo/x86_64/cachyos/cachyos-v3-mirrorlist-22-1-any.pkg.tar.zst' \'https://mirror.cachyos.org/repo/x86_64/cachyos/cachyos-v4-mirrorlist-22-1-any.pkg.tar.zst' \'https://mirror.cachyos.org/repo/x86_64/cachyos/pacman-7.0.0.r7.g1f38429-2-x86_64.pkg.tar.zst'注: 包可能会更新, 请进入 CachyOS 官方文档 -
Adding Our Repositories to an Existing Arch Linux Install-Manual选项 -Install the necessary packages:查看最新指令注: 如果官方文档也没来得及更新, 可以去 cahcyos 仓库, 比如 中科大镜像站 搜索出错的包, 查看具体版本, 修改安装指令
-
启用仓库
注意:请参考 CachyOS Wiki 选择适合当前设备架构的仓库!错误的软件仓库可能导致系统不稳定或无法正常工作!
由于笔者使用 Ryzen 9 7940HX, 属于 Zen 4 架构, 因此选择 znver4 仓库
修改
/etc/pacman.confTerminal window nano /etc/pacman.conf添加以下内容到仓库中
[core]项之前[cachyos-znver4]Include = /etc/pacman.d/cachyos-v4-mirrorlist[cachyos-core-znver4]Include = /etc/pacman.d/cachyos-v4-mirrorlist[cachyos-extra-znver4]Include = /etc/pacman.d/cachyos-v4-mirrorlist[cachyos]Include = /etc/pacman.d/cachyos-mirrorlist -
修改镜像站
编辑
Terminal window nano /etc/pacman.d/cachyos-mirrorlist在最顶端添加
Server = https://mirrors.ustc.edu.cn/cachyos/repo/$arch/$repo编辑
Terminal window nano /etc/pacman.d/cachyos-v3-mirrorlist在最顶端添加
Terminal window Server = https://mirrors.ustc.edu.cn/cachyos/repo/$arch_v3/$repo编辑
Terminal window nano /etc/pacman.d/cachyos-v4-mirrorlist在最顶端添加
Terminal window Server = https://mirrors.ustc.edu.cn/cachyos/repo/$arch_v4/$repo -
更新仓库数据库
Terminal window sudo pacman -Syy
分区
注意: 建议提前备份重要数据, 以免误操作, 以下命令除非你非常清楚, 否则请勿直接复制粘贴执行!
lsblk -f # 查看磁盘结构, 找到目标磁盘, 笔者这里为 /dev/nvme1n1cfdisk /dev/nvme1n1 # 使用 cfdisk 工具分区进入 cfdisk 分区工具之后, 你会看到如图所示的界面。通过方向键 ↑ 和 ↓ 可以在要操作磁盘分区或空余空间中移动; 通过方向键 ← 和 → 在对当前高亮的磁盘分区或空余空间要执行的操作中移动
首先创建 EFI 分区, 选中 Free space , 再选中操作 [New] , 然后按下回车 Enter 以新建 EFI 分区
按下回车后会提示输入分区大小, 默认为剩余的全部空间, EFI 分区建议最少为 550MB, 笔者选择输入 1G > 然后按下回车 Enter
注意,由于 Windows 更新往往会破坏掉 Windows Boot Manager 所在的 EFI 分区, 因此建议新建一个 EFI 分区专门用于 Linux 的引导程序, 并且这个 EFI 分区和 Windows Boot Manager 所在的 EFI 分区离得越远越好, 最好不要在同一个磁盘上, 但是该 EFI 分区需要和 Linux 系统所在分区在同一个磁盘上
然后创建 Swap 分区, Swap 分区建议为电脑内存大小的 60%, 或者和内存大小相等, 笔者内存为 16G, 所以大小设置为 16G
然后创建 Linux 系统分区, 剩余全部空间用于 Linux 系统分区, 所以直接使用默认值,即剩余全部空间大小
接下来选择分区类型, 选中第一个分区, 即 EFI 分区, 然后选择 [Type] , 按下回车 Enter, 在弹出的分区类型列表中选择 EFI System , 然后按下回车 Enter
然后设置 Sway 分区类型为 Linux swap
Linux 系统分区类型无需修改
然后请仔细确认分区是否正确无误! 包括磁盘选择是否正确! 是否错误的删除了重要分区!
接下来选中操作 [Write] 并回车 Enter, 输入 yes 并回车 Enter 确认分区操作
选中操作 [Quit] 并回车 Enter 以退出 cfdisk 分区工具
lsblk -f # 再次查看磁盘结构, 确认分区无误# 此处笔者查看分区 /dev/nvme1n1p2 为 EFI 分区, /dev/nvme1n1p3 为 Swap 分区, /dev/nvme1n1p4 为 Linux 系统分区格式化分区
mkfs.fat -F32 /dev/nvme1n1p2mkswap /dev/nvme1n1p3mkfs.btrfs -L ArchLinux /dev/nvme1n1p4 # 输入自己喜欢的分区名字, 并格式化为 btrfs 文件系统挂载 Btrfs 分区并创建子卷
mount -t btrfs -o compress=zstd /dev/nvme1n1p4 /mntdf -hbtrfs subvolume create /mnt/@btrfs subvolume create /mnt/@homebtrfs subvolume create /mnt/@cachebtrfs subvolume create /mnt/@logbtrfs subvolume list -p /mnt # 检测子卷是否创建正确umount /mnt正式挂载系统
mount -t btrfs -o subvol=/@,compress=zstd /dev/nvme1n1p4 /mntmount --mkdir -t btrfs -o subvol=/@home,compress=zstd /dev/nvme1n1p4 /mnt/homemount --mkdir -t btrfs -o subvol=/@cache,compress=zstd /dev/nvme1n1p4 /mnt/var/cachemount --mkdir -t btrfs -o subvol=/@log,compress=zstd /dev/nvme1n1p4 /mnt/var/logmount --mkdir /dev/nvme1n1p2 /mnt/bootswapon /dev/nvme1n1p3df -h #查看挂载情况安装基础系统
# 更新密钥环pacman -S archlinux-keyring
# 安装基础组件pacstrap -K /mnt base base-devel linux-cachyos linux-cachyos-headers linux-firmware amd-ucode btrfs-progs networkmanager gvim sudo zsh zsh-completions =grub efibootmgr os-prober openssh| 软件包名称 | 说明 | 可选替代 |
|---|---|---|
| base base-devel | 基础组件 | |
| linux-cachyos linux-cachyos-headers | (可更换) CachyOS 内核及头文件, 如果之前没有添加 CachyOS 镜像源, 需要换更换 | linux linux-headers 或 linux-zen linux-zen-headers |
| linux-firmware | linux 固件 | |
| amd-ucode | 微码驱动 | intel-ucode |
| btrfs-progs | Btrfs 工具 | |
| networkmanager | 网络工具 | |
| gvim | (可更换) 命令行文本编辑器, gvim 相比 vim 多了剪贴板集成 | nano 或 vim 或 micro |
| sudo | 权限工具 | |
| zsh zsh-completions | (可更换)终端工具 | bash bash-completion |
| grub efibootmgr os-prober | 引导工具,本教程使用 grub, 也可以使用 rEFInd, systemd-boot 或 limine | |
| openssh | (可选) sshd 客户端, 方便退出 Live CD 后远程安装系统 |
分区表
genfstab -U /mnt > /mnt/etc/fstabcat /mnt/etc/fstab # 确认分区表chroot 后
进入 chroot
arch-chroot /mnt自定义设置
设置主机名
echo Arch-TUF > /etc/hostname # 设置你喜欢的主机名设置时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtimehwclock --systohc设置语言
编辑
vim /etc/locale.gen取消注释
en_US.UTF-8 UTF-8zh_CN.UTF-8 UTF-8生成语言配置
locale-gen设置语言
echo 'LANG=en_US.UTF-8' > /etc/locale.conf #设置语言设置密码
passwd root引导相关
安装引导
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=ArchLinux编辑
vim /etc/default/grub修改配置 GRUB_CMDLINE_LINUX_DEFAULT
GRUB_CMDLINE_LINUX_DEFAULT ="loglevel=5 nowatchdog modprobe.blacklist=sp5100_tco"取消注释 GRUB_DISABLE_OS_PROBER
GRUB_DISABLE_OS_PROBER = false生成引导配置文件
grub-mkconfig -o /boot/grub/grub.cfg卸载挂载点并重启
exitumount -R /mntreboot第一次进入系统(root)
使用 root 账户登录
启动基础服务
systemctl enable --now NetworkManagersystemctl enable --now sshd # (可选) 启动sshd服务(可选) 连接 wifi
nmcli dev wifi listnmcli dev wifi connect "SSID" password "password"(可选) 使用 ssh 安装
修改镜像站和仓库
修改 Arch 仓库镜像站
(可选) 添加cachyos软件源
启用 32 位仓库
编辑
vim /etc/pacman.d/mirrorlist取消 [multilib] 项前的注释
[multilib]Include = /etc/pacman.d/mirrorlist想使用 Hyprland 的用户到这里就可以跳转到 Hyprland 使用教程 继续安装了
软件相关
安装软件
pacman -S fastfetch nvidia-open-dkms lib32-nvidia-utils nvidia-utils nvidia-settings libva-nvidia-driver vulkan-radeon vulkan-mesa-layers libva libva-utils power-profiles-daemon vulkan-icd-loader snapper btrfs-assistant grub-btrfs inotify-tools asusctl rog-control-center plasma-meta konsole dolphin egl-wayland ark kleopatra partitionmanager sof-firmware alsa-firmware alsa-ucm-conf fcitx5-im fcitx5-chinese-addons fcitx5-rime fcitx5-configtool wqy-zenhei noto-fonts noto-fonts-cjk noto-fonts-emoji noto-fonts-extra paru starship firewalld greetd greetd-tuigreet| 软件包名称 | 说明 | 可选替代 |
|---|---|---|
| fastfetch | (可选) 大家都在用 | |
| nvidia-open-dkms lib32-nvidia-utils nvidia-utils nvidia-settings libva-nvidia-driver | Nvidia 独显相关 | |
| vulkan-radeon vulkan-mesa-layers libva libva-utils | AMD 核显相关 | |
| power-profiles-daemon | 电源管理 | |
| vulkan-icd-loader | Vlkan 管理 | |
| snapper btrfs-assistant | Btrfs 快照工具 | |
| grub-btrfs inotify-tools | (可选) Grub 的 Btrfs 工具, 防滚挂 | |
| asusctl rog-control-center | 华硕相关 | |
| plasma-meta konsole dolphin egl-wayland ark kleopatra partitionmanager | KDE 及相关工具 | |
| sof-firmware alsa-firmware alsa-ucm-conf | 音频相关 | |
| fcitx5-im fcitx5-chinese-addons fcitx5-rime fcitx5-configtool | 输入法 | |
| wqy-zenhei noto-fonts noto-fonts-cjk noto-fonts-emoji noto-fonts-extra | 中文字体 | |
| paru | AUR 管理器 | |
| starship | (可选) 终端美化 | |
| firewalld | (可选) 防火墙 | |
| greetd greetd-tuigreet | (可选) 登录管理器, 也可以用 kde 自带的sddm |
(可选) 卸载软件
pacman -Rns discover sddm-kcm sddm# 如果你打算使用 greetd, 可以卸载 kde 自带的 sddm# discover 软件中心有元数据更新问题, 可以卸载账户设置
修改全局文本编辑器
vim ~/.bash_profile写入
export EDITOR='vim'添加账户
useradd -m -G wheel,uccp -s /bin/zsh kinntaku # 选择你喜欢的用户名# 笔者需要嵌入式开发, 添加了 uccp 组, 普通用户可以不添加passwd kinntaku编辑用户权限
EDITOR=vim visudo取消注释
%wheel ALL=(ALL:ALL) ALL登录管理器
(选择1) 若使用 sddm
启用服务
systemctl start sddm(选择2) 若使用 greetd
编辑 greetd 配置文件
vim /etc/greetd/config.toml修改为以下内容
command = "tuigreet --time --remember --cmd startplasma-wayland"user = "kinntaku"启用服务
systemctl enable greetd.service启用系统服务
systemctl enable --now grub-btrfsd # (可选) 启用 grub-btrfs 服务systemctl enable --now power-profiles-daemon.servicesystemctl --user enable --now pipewire pipewire-pulse wireplumber重启
reboot第二次进入系统(rootless)
(可选) 安装字体
Plasma 设置 - 文字和字体 - 字体管理 - 安装字体 - 系统字体
安装软件
(可选) 安装提前准备的 flclash
解压之前下载的 flclash-bin.tar.gz 在文件夹中创建 src 文件夹, 并将在 Source 中下载的所有文件放入 src 文件夹中
进入到提前下载好的 flclash 包所在目录
makepkgsudo paru -U flclash-bin-xxx.tar.zst安装用户软件
sudo pacman -S podman xorg-xhost lazydocker distrobox nvidia-container-toolkit picocom cmake jdk21-openjdk obs-studio chromium virt-manager pandoc vlc ffmpeg vlc-plugin-ffmpeg steam blender gimp krita kdenlive localsendsudo paru -S appimagelauncher wps-office-cn wps-office-mui-zh-cn wemeet-bin linuxqq| 软件包名称 | 说明 | 可选替代 |
|---|---|---|
| podman xorg-xhost lazydocker distrobox nvidia-container-toolkit | (可选) 容器开发 | |
| picocom | (可选) 串口工具 | |
| cmake | (可选) 构建工具 | |
| jdk21-openjdk | (可选) java 相关 | |
| obs-studio | (可选) 录屏推流工具 | |
| chromium | (可选) 浏览器 | |
| virt-manager | (可选) 虚拟机工具 | |
| pandoc | (可选) 文档工具 | |
| vlc ffmpeg vlc-plugin-ffmpeg | (可选) 影音工具 | |
| steam | (可选) 游戏 | |
| blender gimp krita kdenlive | (可选) 生产力工具 | |
| localsend | (可选) 局域网文件传输工具 | |
| appimagelauncher | (可选) AppImage安装器 | |
| wps-office-cn wps-office-mui-zh-cn | (可选) wps相关 | |
| wemeet-bin linuxqq | (可选) 通讯工具 |
使用 AppImageLauncher 安装 AppImage
安装需要手动安装的软件
(可选) 安装 micromamba
"${SHELL}" <(curl -L micro.mamba.pm/install.sh)安装 nvidia-laptop-power-cfg
git clone https://gitlab.com/asus-linux/nvidia-laptop-power-cfg.gitcd nvidia-laptop-power-cfgmakepkg -sfisystemctl enable nvidia-suspend.service nvidia-hibernate.service nvidia-resume.servicesystemctl enable --now nvidia-powerd实现独显运行软件
编辑
vim ~/.zshrc添加
alias prime-run='__NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=NVIDIA_only __GLX_VENDOR_LIBRARY_NAME=nvidia '此时使用 prime-run 前缀即可实现独显运行软件
修改防火墙设置
sudo firewall-cmd --add-interface=FlClash --zone=trusted --permanentsudo firewall-cmd --permanent --add-service=ms-wbtsudo firewall-cmd --zone=public -add-port=53317/tcp --permanent # (可选) 这是LocalSend 的端口, 如果不用可以不开sudo firewall-cmd --zone=public -add-port=53317/udp --permanent # (可选) 这是LocalSend 的端口, 如果不用可以不开sudo firewall-cmd --reload(可选) 美化 vim
编辑
vim ~/.vimrc写入
set numbercolorscheme eveningsyntax on(可选) 修改关机超时
编辑
sudo vim /etc/systemd/system.conf取消注释并修改为 10s
DefaultTimeoutStopSec=10s(可选) 阻止usb外设唤醒电脑
创建系统服务
sudo vim /etc/systemd/system/disable-xhc-wakeup.service[Unit]Description=Disable all XHC wakeup devicesAfter=multi-user.target
[Service]Type=oneshotExecStart=/bin/bash -c "grep XHC /proc/acpi/wakeup | awk '{print $1}' | while read dev; do echo $dev | tee /proc/acpi/wakeup; done"RemainAfterExit=true
[Install]WantedBy=multi-user.target启用并检查
sudo systemctl enable --now disable-xhc-wakeup.servicecat /proc/acpi/wakeup | grep XHC # 检查外设是否变为disabled(可选) 禁用密码尝试次数耗尽锁定时间
编辑
sudo vim /etc/security/faillock.conf修改
deny = 0fcitx 设置
编辑
sudo vim /etc/profile添加
export GTK_IM_MODULE=fcitx5export QT_IM_MODULE=fcitx5export XMODIFIERS=@im=fcitx5编辑
sudo vim /etc/environment添加
XIM=fcitx5XIM_PROGRAM=fcitx5GTK_IM_MODULE=fcitx5QT_IM_MODULE=fcitx5XMODIFIERS=@im=fcitx5SDL_IM_MODULE=fcitx5GLFW_IM_MODULE=fcitx5编辑
vim ~/.config/gtk-3.0/settings.ini添加
gtk-im-module = fcitx第三次进入系统(rootless)
查看显卡是否动态启动
cat /proc/driver/nvidia/gpus/0000:01:00.0/power #其中 0000:01:00.0 换成你自己的地址会输出类似
Runtime D3 status: Enabled (fine-grained)Video Memory: Off
GPU Hardware Support: Video Memory Self Refresh: Supported Video Memory Off: Supported
S0ix Power Management: Platform Support: Supported Status: Enabled
Notebook Dynamic Boost: Supported软件设置
(可选) 设置 fcitx 万象拼音
Plasma设置 - 键盘 - 虚拟键盘 - Fcitx 5 Wayland启动器 (实验性)
Plasma设置 - 输入法 - 配置附加组件 - 经典用户界面 - 主题:默认深色,深色主题:默认深色
Plasma设置 - 输入法 - 配置附加组件 - 添加输入法 - 中州韵
Plasma设置 - 输入法 - 配置全局选项 - 切换输入法: Super+空格, 在程序中显示预编辑文本: off
打开 ~/.local/share/fcitx5/rime/
将语法模型wanxiang-lts-zh-hans.gram文件放入这个目录。
把之前下载的方案压缩包(.zip)解压, 然后将解压出来的所有文件和文件夹放入这个目录 (注意不包含压缩包根目录, 其中default.yaml是rime配置, weasel.yaml是小狼毫皮肤等配置, 可选择性放入)
如果有更新的词库文件,将里面的内容覆盖放到 dicts 文件夹中
将萌娘词库文件 tone_moe.dict.yaml 放入 dicts 目录下
编辑 wanxiang.dict.yaml
添加新词库
- dicts/tone_moe修改 default.yaml
注释掉快捷键, 防止和 vscode 冲突
# - Control+grave修改 wanxiang.schema.yaml
调整设置
spelling_hints: 0 # 取消拼音显示tips_key: "Control+q" # 设置快速输入提示键为 Ctrl + Q右键任务栏 Fcitx 图标 - 选择中州韵 - 右键地球图标项 - 选择重新部署
(可选) micromamba
编辑
vim ~/.zshrc添加
alias conda='micromamba'(可选) 如果使用 starship 终端美化, 禁用 micromamba 修改提示符
micromamba config set changeps1 falseplasma
Plasma设置 - 快速设置 - 主题:微风深色,动效速度:即时 - 应用
Plasma设置 - 鼠标和触摸板 - 触摸板 - 反向滚动 - 应用
Plasma设置 - 键盘 - 虚拟键盘 - Fcitx5Wayland - 应用
Plasma设置 - 键盘 - 快捷键 - Spectacle截图工具 - 默认快捷键 - 取消勾选 - 应用
Plasma设置 - 远程桌面 - 勾选系统用户,登录时自动启动,响应速度 - 应用 - 启用rdp服务器
Plasma设置 - 文字和字体 - 字体管理 - 安装字体文件
Plasma设置 - 电源管理 - 空闲时:无操作,按下电源键时:显示注销屏幕
Plasma设置 - 锁屏 - 自动锁定屏幕:不自动锁屏
Plasma设置 - 会话 - 桌面会话 - 登录时自动启动应用程序: 启动为空会话
(可选) starship 终端美化
编辑
vim ~/.zshrc添加
eval "$(starship init zsh)"新建主题
starship preset tokyo-night -o ~/.config/starship.toml编辑
vim ~/.config/starship.toml"$schema" = 'https://starship.rs/config-schema.json'
format = """[░▒▓](#a3aed2)\[ ](bg:#a3aed2 fg:#090c0c)\[](bg:#769ff0 fg:#a3aed2)\$directory\[](fg:#769ff0 bg:#394260)\$git_branch\$git_status\[](fg:#394260 bg:#212736)\$nodejs\$rust\$golang\$php\$conda\[](fg:#212736 bg:#1d2230)\$time\[ ](fg:#1d2230)\\n$character"""
[directory]style = "fg:#e3e5e5 bg:#769ff0"format = "[ $path ]($style)"truncation_length = 3truncation_symbol = "…/"
[directory.substitutions]"Documents" = " ""Downloads" = " ""Music" = " ""Pictures" = " "
[git_branch]symbol = ""style = "bg:#394260"format = '[[ $symbol $branch ](fg:#769ff0 bg:#394260)]($style)'
[git_status]style = "bg:#394260"format = '[[($all_status$ahead_behind )](fg:#769ff0 bg:#394260)]($style)'
[nodejs]symbol = ""style = "bg:#212736"format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)'
[rust]symbol = ""style = "bg:#212736"format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)'
[golang]symbol = ""style = "bg:#212736"format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)'
[php]symbol = ""style = "bg:#212736"format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)'
[conda]symbol = ""style = "bg:#212736"format = '[[ $symbol ($environment) ](fg:#769ff0 bg:#212736)]($style)'
[time]disabled = falsetime_format = "%R" # Hour:Minute Formatstyle = "bg:#1d2230"format = '[[ $time ](fg:#a0a9cb bg:#1d2230)]($style)'(可选) minegrub
编辑 ./minegrub-world-selection/theme.txt
所有 top 属性都加上 45
复制到主题目录
mkdir -p /boot/grub/themes/sudo cp -ruv ./minegrub-world-selection /boot/grub/themes/编辑 grub 文件
sudo vim /etc/default/grub修改设置
GRUB_TERMINAL_OUTPUT=gfxtermGRUB_THEME=/boot/grub/themes/minegrub-world-selection/theme.txt创建 grub 配置
sudo grub-mkconfig -o /boot/grub/grub.cfg(可选) vscode
安装插件
-
background
-
Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code
-
Path Intellisense
-
Panda Theme
"files.autoSave": "afterDelay","files.autoGuessEncoding": true,"workbench.list.smoothScrolling": true,"editor.cursorSmoothCaretAnimation": "on","editor.smoothScrolling": true,"editor.cursorBlinking": "smooth","editor.mouseWheelZoom": true,"editor.formatOnPaste": true,"editor.formatOnType": true,"editor.formatOnSave": true,"editor.wordWrap": "on","editor.guides.bracketPairs": true,"debug.showBreakpointsInOverviewRuler": true,设置半透明背景
"background.fullscreen": { "images": [ "你喜欢的背景图片位置" ], "opacity": 0.075, "size": "cover", "position": "center", "interval": 0, "random": false},添加字体
"editor.fontFamily": "JetBrains Mono, 'Droid Sans Mono', 'monospace', monospace, 'MesloLGS NF'",(可选) podman 和 distrobox 设置
编辑
vim ~/.zshrc添加
PATH=$PATH:$HOME/.local/podman/bin:$HOME/.local/binxhost +si:localuser:$USERexport DOCKER_HOST=unix:///run/user/1000/podman/podman.sockalias docker='podman'设置配置
sudo nvidia-ctk cdi generate --output=/etc/cdi/nvidia.yamlsudo nvidia-ctk runtime config ure --runtime=dockersudo systemctl restart dockersystemctl --user enable --now podman.socket-
创建带cuda的Ubuntu容器
Terminal window distrobox create --name ubuntu2204 --additional-flags "--device nvidia.com/gpu=all" --image docker.io/nvidia/cuda:12.8.0-cudnn-devel-ubuntu22.04 --home /home/kinntaku/Documents/distrobox/ubuntu2204_home容器内如出现无法调用 xserver 可以尝试
Terminal window sudo apt install libqt5gui5 -y容器内使用独显运行软
将宿主机的
~/.zshrc中的 prime-run 配置复制到容器内的~/.zshrc中Terminal window alias prime-run='__NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=NVIDIA_only __GLX_VENDOR_LIBRARY_NAME=nvidia '容器内使用 micromamba
将宿主机的
~/.zshrc中的 micromamba 初始化代码复制到容器内的~/.zshrc中Terminal window # >>> mamba initialize >>># !! Contents within this block are managed by 'micromamba shell init' !!export MAMBA_EXE='/home/kinntaku/.local/bin/micromamba';export MAMBA_ROOT_PREFIX='/home/kinntaku/micromamba';__mamba_setup="$("$MAMBA_EXE" shell hook --shell zsh --root-prefix "$MAMBA_ROOT_PREFIX" 2> /dev/null)"if [ $? -eq 0 ]; theneval "$__mamba_setup"elsealias micromamba="$MAMBA_EXE" # Fallback on help from micromamba activatefiunset __mamba_setup# <<< mamba initialize <<<alias conda='micromamba'安装软件
Terminal window sudo apt install git vim容器内调用 vulkan
安装软件
Terminal window sudo apt install mesa-utils vulkan-tools libglu1-mesa libxt6 libxmu6 libx11-6 libxrender1 libxrandr2 libxi6 libxcursor1 libxinerama1 libxxf86vm1测试 vulkan
Terminal window prime-run glxinfo | grep OpenGL应该显示包含 Nvidia 的内容
配置 VSCode 进行开发
vscode 安装插件
- Remote Development
修改 vscode 设置
"dev.containers.dockerPath": "podman",注意: 每次更新 nvidia 驱动后都需要重新执行以下命令确保容器的动态链接库版本正常
sudo nvidia-ctk cdi generate --output=/etc/cdi/nvidia.yaml(可选) mujoco 设置
编辑
vim ~/.zshrc添加路径
export PATH="/home/kinntaku/Applications/mujoco-3.3.7/bin:$PATH"(可选) chromium
如果出现 twitter 无法登录可以尝试添加以下启动参数
--use-spdy=off安装扩展
安装油猴脚本
(可选) latex
拉取镜像
podman pull docker.io/texlive/texlive创建容器
podman run -it \ --name kinntakutexbox \ -v ~/Documents/Latex/texproject1:/alltex/texproject1 \ -w /alltex/texproject1 \ texlive/texlive \ bash重新启用
podman start -ai kinntakutexbox安装字体
tlmgr install fandolvscode 连接容器
vscode server 安装插件
-
LaTeX
-
LaTeX Workshop`
修改 vscode 设置
// 鼠标悬停,预览公式时,支持 boldsymbol 宏"latex-workshop.hover.preview.mathjax.extensions": [ "boldsymbol"],// 是否启用 IntelliSense,自动补全引用的包中的环境和命令"latex-workshop.intellisense.package.enabled": true,// 编译后的文件输出目录"latex-workshop.latex.outDir": "./tmp",// 默认编译引擎为上次使用的"latex-workshop.latex.recipe.default": "lastUsed",// 预览复杂公式,使用时需要通过 command palette (命令面板) 打开"latex-workshop.mathpreviewpanel.cursor.enabled": true,"latex-workshop.latex.recipes": [ { "name": "XeLaTeX", "tools": [ "xelatexmk" ] }, { "name": "PdfLaTeX", "tools": [ "pdflatexmk" ] }],"latex-workshop.latex.tools": [ { "name": "xelatexmk", "command": "latexmk", "args": [ "-synctex=1", "-xelatex", "-interaction=nonstopmode", "-file-line-error", "-outdir=%OUTDIR%", "%DOC%" ], "env": {} }, { "args": [ "-synctex=1", "-pdf", "-interaction=nonstopmode", "-file-line-error", "-outdir=%OUTDIR%", "%DOC%" ], "command": "latexmk", "env": {}, "name": "pdflatexmk" }],(可选) labelme
conda create -n labelme python=3.13conda activate labelmepip install labelme创建快捷方式
#!/bin/bashexport QT_QPA_PLATFORM=xcbmicromamba run -n labelme labelme(可选) pdfmathtranslate-next
使用 docker
podman pull docker.io/awwaawwa/pdfmathtranslate-nextpodman run --rm -p 7860:7860 docker.io/awwaawwa/pdfmathtranslate-nexthttp://127.0.0.1:7860(可选) Minecraft
创建 hmcl 的快捷方式
#!/bin/bashexport __NV_PRIME_RENDER_OFFLOAD=1export __GLX_VENDOR_LIBRARY_NAME=nvidiajava -Dglass.gtk.uiScale=1.5 -jar ~/Applications/Minecraft/HMCL-3.8.0.304.jar(可选) Kirta
Kirta - 笔刷 - 笔刷编辑器 - 大小 - 覆盖旧笔刷 - 保存
Kirta - 设置 - 配置Kirta - 笔刷光标图标 - 箭头 - 笔刷轮廓形状 - 圆形轮廓
(可选) Github
git config --global user.name "你的名字"git config --global user.email "你的邮箱"ssh-keygen -t ed25519 -C "你的邮箱"cat ~/.ssh/id_ed25519.pubssh -T git@github.com(可选) XnviewMP
设置 - 标签卡 - 仅打开一个文件时隐藏标签: on; 退出 XnView 时, 关闭最后一个选项卡: on, 查看器标签卡上限: 1
设置 - 鼠标 - 鼠标左键 - 无修饰键: 移动图片
设置 - 鼠标 - 滚轮 - 无修饰键: 向上/向下滚动
设置 - 鼠标 - 鼠标右键 - 无修饰键: 创建选区
一些奇怪的问题
部分傻逼软件的快捷方式修复
-
qq: 添加启动参数
Terminal window -enable-features=UseOzonePlatform -ozone-platform=wayland --enable-wayland-ime --wayland-text-input-version=3 -
wechat: 添加环境变量
Terminal window QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx GTK_IM_MODULE=fcitx -
qq 音乐: 添加启动参数
Terminal window --no-sandbox
安装字体导致字体 fallback 链出问题
创建
vim /etc/fonts/conf.d/99-my-global.conf写入
<?xml version="1.0"?><!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd"><fontconfig>
<!-- 强制重写 generic family,让它进入 alias 阶段 --> <match target="pattern"> <test name="family" compare="eq"> <string>sans-serif</string> </test> <edit name="family" mode="assign" binding="same"> <string>Noto Sans</string> </edit> </match>
<match target="pattern"> <test name="family" compare="eq"> <string>serif</string> </test> <edit name="family" mode="assign" binding="same"> <string>Noto Serif</string> </edit> </match>
<match target="pattern"> <test name="family" compare="eq"> <string>monospace</string> </test> <edit name="family" mode="assign" binding="same"> <string>Noto Sans Mono</string> </edit> </match>
<!-- Noto Sans 的 fallback 链 --> <alias binding="same"> <family>Noto Sans</family> <prefer> <family>Noto Sans CJK SC</family> </prefer> </alias>
<!-- Noto Serif 的 fallback 链 --> <alias binding="same"> <family>Noto Serif</family> <prefer> <family>Noto Serif CJK SC</family> </prefer> </alias>
<!-- Noto Sans Mono 的 fallback 链 --> <alias binding="same"> <family>Noto Sans Mono</family> <prefer> <family>Noto Sans Mono CJK SC</family> </prefer> </alias>
</fontconfig>刷新缓存
sudo fc-cache -f -v验证
fc-match sansfc-match seriffc-match monospace应该看到类似
NotoSans-Regular.ttf: "Noto Sans" "Regular"NotoSerif-Regular.ttf: "Noto Serif" "Regular"NotoSansMono-Regular.ttf: "Noto Sans Mono" "Regular"