软件配置
-
硬件
-
电源配置项
power-profiles-daemon vulkan-icd-loader
-
AMD
mesa lib32-mesa vulkan-radeon vulkan-mesa-layers
-
NVIDIA
nvidia-open-dkms lib32-nvidia-utils nvidia-utils nvidia-settings libva-nvidia-driver
-
硬件加速
libva libva-utils
-
网络服务
bluez networkmanager
-
音频
pipewire-pulse sof-firmware alsa-firmware alsa-ucm-conf
-
华硕驱动
asusctl rog-control-center
-
-
Btrfs
snapper btrfs-assistant
-
系统相关
-
系统依赖
base-devel paru fuse2
-
系统监控
htop nvtop wev
-
系统美化
fastfetch starship lsd
-
神秘小软件
AUR: flclash
注: fuse2 用于 appimage 运行, wev 用于寻找笔记本上不知道叫什么名字的按键编号
-
-
字体
noto-fonts noto-fonts-cjk noto-fonts-emoji noto-fonts-extra
ttf-jetbrains-mono ttf-jetbrains-mono-nerd
wqy-zenhei
-
登录管理器
greetd greetd-tuigreet
-
桌面环境
hyprland hyprpolkitagent noctalia-shell
xorg-xwayland xorg-xrdb
xdg-desktop-portal-gtk xdg-desktop-portal-hyprland
-
输入法
fcitx5-im fcitx5-chinese-addons fcitx5-rime
-
配套软件
kitty firewalld vlc ffmpeg vlc-plugin-ffmpeg featherpad guvcview qalculate-qt obs-studio chromium
aur: xnviewmp
注: 由于加密媒体设定, chromium 有概率无法登录推特, 但多试几天也能登上去, 需稳定登录推特可换用 google-chrome (AUR)
-
文件相关
thunar thunar-volman tumbler gvfs-mtp
aur: peazip-qt-bin
-
主题美化
qt6ct qt5ct nwg-look adw-gtk-theme adwaita-qt6
-
剪贴板
wl-clipboard wl-clip-persist cliphist
-
截图
grim swappy slurp hyprpicker
注:
-
grim: 截取屏幕
-
swappy: 截图编辑器
-
slurp: 截图区域选择
-
hyprpicker: 实现冻结截图
-
-
自用生产力软件
kdenlive blender krita
aur: wps-office-cn wps-office-mui-zh-cn visual-studio-code-bin
-
docker
xorg-xhost lazydocker distrobox nvidia-container-toolkit podman
-
虚拟机
virt-manager qemu-full libvirt
-
开发
-
嵌入式开发
picocom cmake arm-none-eabi-gcc arm-none-eabi-newlib openocd
aur: stm32cubemx lceda-pro jlc-assistant-bin
-
-
娱乐
jdk21-openjdk zerotier-one steam prism-launcher zerotier-one
-
社交工作软件
aur: wechat-bin wemeet-bin linuxqq qqmusic-bin
注: wemeet-bin 的共享屏幕在 hyprland 下仍不可用, kde 下可正常运行, hyprland 下可使用 flatpak 版本, 或者曲线救国使用 obs 虚拟摄像头
-
一些小工具
localsend scrcpy
aur: pureref motrix-bin ventoy-bin
准备工作
账户设置
修改全局文本编辑器
vim ~/.bash_profile写入
export EDITOR='vim'添加账户
useradd -m -G wheel-s /bin/zsh kinntaku # 选择你喜欢的用户名passwd kinntaku编辑用户权限
EDITOR=vim visudo取消注释
%wheel ALL=(ALL:ALL) ALL登录管理器配置
编辑 /etc/greetd/config.toml
修改
command = "tuigreet --asterisks --time -r --cmd start-hyprland"...user = "kinntaku"启用服务
systemctl enable greetd.service启动必要服务
sudo systemctl enable --now NetworkManagersudo systemctl enable --now sshdsudo systemctl enable greetd.servicesudo systemctl enable --now bluetoothsudo systemctl enable --now power-profiles-daemon.servicesystemctl --user enable --now hyprpolkitagent.servicesystemctl --user enable --now pipewire pipewire-pulse wireplumber安装 nvidia-laptop-power-cfg
以下操作不能使用 root 账户进行
git clone https://gitlab.com/asus-linux/nvidia-laptop-power-cfg.gitcd nvidia-laptop-power-cfgmakepkg -sfisystemctl enable --now nvidia-powerdHyprland 配置
设置 XDG
创建 ~/.config/xdg-desktop-portal/hyprland-portals.conf 写入
[preferred]default=hyprland;gtkorg.freedesktop.impl.portal.FileChooser=gtk修复 QQ 打开文件被挂起
选择一个位置创建 xdg-open
#!/bin/zsh#gio open "$@"/bin/xdg-open "$@" &执行
sudo install -m 0755 ./xdg-open /usr/local/bin/xdg-open
# 测试是否成功command -v xdg-open配置 Kitty
编辑 ~/.config/kitty/kitty.conf 写入
font_family JetBrains Monofont_size 10.0bold_font autoitalic_font autoconfirm_os_window_close 0设置字体
关闭进程结束确认对话框
设置 X11 软件缩放
创建并编辑 ~/.Xresources
Xft.dpi: 144Hyprland 配置文件
默认配置文件 /usr/share/hypr/hyprland.conf
用户配置文件 ~/.config/hypr/hyprland.conf
注意: 以下配置是对默认配置文件的修改
环境变量
env = LANG,zh_CN.UTF-8env = QT_QPA_PLATFORMTHEME,qt6ct # 设置 QT 主题修改显示器缩放
monitor=,preferred,auto,1.60修改默认应用
$terminal = kitty$fileManager = thunar自动启动
exec-once = kitty zsh -c "fastfetch; exec zsh" # 装逼使用exec-once = qs -c "noctalia-shell"exec-once = fcitx5exec-once = flclashexec-once = rog-control-centerexec-once = wl-paste --watch cliphist storeexec-once = xrdb -merge ~/.Xresources通用
general{
gaps_in = 1 # 窗口内边距 gaps_out = 1 # 窗口外边距
...
layout = scrolling # 类似 Niri 的滚动布局}装饰
decoration {
rounding = 0 # 窗口圆角
inactive_opacity = 0.9 # 非激活窗口透明度
shadow { enabled = false # 关闭阴影节省性能 }
blur { enabled = false # 关闭模糊节省性能 }}关闭不需要的动画
animations {
enabled = yes
# 贝塞尔曲线定义 bezier = quick, 0.2, 1, 0.2, 1
# 窗口动画 animation = windows, 1, 2.5, quick
# 禁用渐入渐出 animation = fade, 0, 1, default
# 工作区切换, 为了适配 scrolling 布局, 改成了竖直切换 animation = workspaces, 1, 2.0, quick, slidevert
}滚动布局设置
scrolling { fullscreen_on_one_column = false # 关闭工作区只有一个窗口时自动占满宽度 column_width=0.55 # 设置默认宽度 explicit_column_widths = 0.55, 1.0 # 设置可以切换的宽度列表 focus_fit_method = 0 # 移动焦点时自动居中窗口而不是到刚好把窗口送进屏幕就停止}关闭默认二次元壁纸
misc { force_default_wallpaper = 0 # Set to 0 or 1 to disable the anime mascot wallpapers disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :(}输入设置
input {
follow_mouse = 2 # 关闭鼠标跟随焦点, 但是允许不对焦时滚动内容
# 添加内容 numlock_by_default = 1 # 开启小键盘锁定 float_switch_override_focus = 0 # 阻止鼠标到浮动窗口时被浮动窗口抢焦点
touchpad { natural_scroll = true # 开启触摸板的自然滚动 }}手势
gesture = 3, vertical, workspace, rgesture = 3, right, dispatcher, layoutmsg, move -colgesture = 3, left, dispatcher, layoutmsg, move +col更符合人类习惯的键位绑定
# Open Softwarebind = $mainMod, T, exec, $terminalbind = $mainMod, E, exec, $fileManagerbind = CONTROL SHIFT, Escape, exec, kitty htopbind = ALT, SPACE, exec, kitty -e navi --path "$HOME/user_dotfiles/navi"
# Window configbind = ALT, F4, killactive,bind = $mainMod, F, togglefloating,bind = SUPER ALT, F, fullscreenbind = SUPER SHIFT, F, layoutmsg, colresize +confbinde = SUPER, G, layoutmsg, colresize -0.1binde = SUPER, H, layoutmsg, colresize +0.1
# Layout and positionbind = $mainMod, 1, workspace, 1bind = $mainMod, 2, workspace, 2bind = $mainMod, 3, workspace, 3bind = $mainMod, 4, workspace, 4bind = $mainMod, 5, workspace, 5bind = $mainMod, 6, workspace, 6bind = $mainMod, 7, workspace, 7bind = $mainMod, 8, workspace, 8bind = $mainMod, 9, workspace, 9bind = $mainMod, 0, workspace, 10bind = $mainMod SHIFT, 1, movetoworkspace, 1bind = $mainMod SHIFT, 2, movetoworkspace, 2bind = $mainMod SHIFT, 3, movetoworkspace, 3bind = $mainMod SHIFT, 4, movetoworkspace, 4bind = $mainMod SHIFT, 5, movetoworkspace, 5bind = $mainMod SHIFT, 6, movetoworkspace, 6bind = $mainMod SHIFT, 7, movetoworkspace, 7bind = $mainMod SHIFT, 8, movetoworkspace, 8bind = $mainMod SHIFT, 9, movetoworkspace, 9bind = $mainMod SHIFT, 0, movetoworkspace, 10
binde = $mainMod, D, layoutmsg, move +colbinde = $mainMod, A, layoutmsg, move -colbind = $mainMod SHIFT, mouse_down, layoutmsg, move -colbind = $mainMod SHIFT, mouse_up, layoutmsg, move +colbinde = $mainMod SHIFT, D, layoutmsg, swapcol rbinde = $mainMod SHIFT, A, layoutmsg, swapcol l
binde = $mainMod, W, workspace, r-1binde = $mainMod, S, workspace, r+1bind = $mainMod, mouse_down, workspace, r-1bind = $mainMod, mouse_up, workspace, r+1binde = $mainMod SHIFT, W, movetoworkspace, r-1binde = $mainMod SHIFT, S, movetoworkspace, r+1
bind = $mainMod ALT, W, movefocus, ubind = $mainMod ALT, S, movefocus, d
bind = $mainMod, Z, movewindow, lbind = $mainMod SHIFT, Z, layoutmsg, promote
bind = $mainMod, M, togglespecialworkspace, magicbind = $mainMod SHIFT, M, movetoworkspace, special:magic
bindm = $mainMod, mouse:272, movewindowbindm = $mainMod, mouse:273, resizewindow
bind = ALT, TAB, cyclenextbind = ALT SHIFT, TAB, cyclenext, prev
# Noctalia Shell$ipc = qs -c noctalia-shell ipc call# Laptop multimedia keys for volume and LCD brightnessbindel = , XF86AudioRaiseVolume, exec, $ipc volume increasebindel = , XF86AudioLowerVolume, exec, $ipc volume decreasebindel = , XF86AudioMute, exec, $ipc volume muteOutputbindel = ,XF86AudioMicMute, exec, $ipc volume muteInputbindel = , XF86MonBrightnessUp, exec, $ipc brightness increasebindel = , XF86MonBrightnessDown, exec, $ipc brightness decreasebindel = , XF86AudioNext, exec, $ipc media nextbindel = , XF86AudioPrev, exec, $ipc media previousbindel = , XF86AudioPlay, exec, $ipc media playPause
bind = , XF86Launch3, exec, rog-control-centerbind = , XF86Launch5, exec, $ipc powerProfile cyclebind = $mainMod, grave, exec, $ipc launcher togglebind = $mainMod, V, exec, $ipc launcher clipboardbind = $mainMod, N, exec, $ipc notifications toggleHistorybind = $mainMod, L, exec, $ipc lockScreen lockbind = $mainMod, X, exec, $ipc sessionMenu togglebind = $mainMod, I, exec, $ipc controlCenter togglebind = $mainMod ALT, E, exec, $ipc launcher emojibind = $mainMod ALT, V, exec, $ipc volume togglePanel
# Screenshotbind = $mainMod, Q, exec, hyprpicker -r -z & sleep 0.2 && grim -g "$(slurp)" - | wl-copy; pkill hyprpickerbind = $mainMod SHIFT, Q, exec, wl-paste --type image/png | swappy -f -bind = , Print, exec, grim - | wl-copy窗口规则
# wps 修复windowrule = no_anim on, float on, match:title ^wps$windowrule = no_anim on, float on, match:title ^et$windowrule = no_anim on, float on, match:title ^wpp$
# 部分软件半透明windowrule = opacity 0.95 override, match:class ^(code)$windowrule = opacity 0.9 override, match:class ^(kitty)$
# 关闭 xwayland 缩放防止模糊xwayland{ force_zero_scaling=true}设置 zsh
关闭 zsh 历史记录
编辑 ~/.zshrc 添加
HISTSIZE=1000SAVEHIST=0HISTFILESIZE=0删除配历史记录文件 ~/.histfile
Nvidia GPU
使用独显运行应用
alias prime-run='__NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=NVIDIA_only __GLX_VENDOR_LIBRARY_NAME=nvidia '配置 thunar
打开 编辑 - 配置自定义动作 - Open Terminal Here
将指令修改为
kitty -e zsh系统配置
阻止usb外设唤醒电脑
创建系统服务 /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/systemd/system.conf取消注释并修改为 10s
DefaultTimeoutStopSec=10s禁用密码尝试次数耗尽锁定时间
编辑 /etc/security/faillock.conf
修改
deny = 0针对某些没 NumbLock 指示灯的傻逼键盘永久启用 Numlock
针对图形界面
编辑 /usr/share/X11/xkb/symbols/keypad
替换所有小键盘的功能键
KP_Home -> KP_7
KP_Up -> KP_8
…
KP_Insert -> KP_0
重启
针对控制台 (tuigreet)
创建 /etc/systemd/system/fix-ttynumpad.service
写入
[Unit]Description=Force Numeric Keypad to output numbers in TTYAfter=local-fs.target
[Service]Type=oneshotExecStart=/bin/sh -c "printf 'keycode 71=seven\nkeycode 72=eight\nkeycode 73=nine\nkeycode 75=four\nkeycode 76=five\nkeycode 77=six\nkeycode 79=one\nkeycode 80=two\nkeycode 81=three\nkeycode 82=zero\nkeycode 83=period\n' | loadkeys"StandardInput=ttyRemainAfterExit=yes
[Install]WantedBy=multi-user.target启用服务
sudo systemctl enable --now fix-ttynumpad.service字体设置
字体1
包含
| 字体 | 字体 | 字体 | 字体 | 字体 | 字体 |
|---|---|---|---|---|---|
| arial | comicz | framdit | monbaiti | segoescb | sylfaen |
| arialbd | consola | Gabriola | msgothic | segoeui | symbol |
| arialbi | consolab | gadugi | msjh | segoeuib | tahoma |
| ariali | consolai | gadugib | msjhbd | segoeuii | tahomabd |
| ariblk | consolaz | georgia | msjhl | segoeuil | taile |
| bahnschrift | constan | georgiab | msyh | segoeuisl | taileb |
| calibri | constanb | georgiai | msyhbd | segoeuiz | times |
| calibrib | constani | georgiaz | msyhl | seguibl | timesbd |
| calibrii | constanz | himalaya | msyi | seguibli | timesbi |
| calibril | corbel | impact | mvboli | seguiemj | timesi |
| calibrili | corbelb | Inkfree | Nirmala | seguihis | trebuc |
| calibriz | corbeli | javatext | NirmalaB | seguili | trebucbd |
| cambria | corbell | l_10646 | NirmalaS | seguisb | trebucbi |
| cambriab | corbelli | LeelaUIb | ntailu | seguisbi | trebucit |
| cambriai | corbelz | LeelawUI | ntailub | seguisli | verdana |
| cambriaz | cour | LeelUIsl | pala | seguisym | verdanab |
| Candara | courbd | lucon | palab | simfang | verdanai |
| Candarab | courbi | malgun | palabi | simhei | verdanaz |
| Candarai | couri | malgunbd | palai | simkai | webdings |
| Candaral | Deng | malgunsl | phagspa | simsun | wingding |
| Candarali | Dengb | marlett | phagspab | simsunb | YuGothB |
| Candaraz | Dengl | micross | segmdl2 | Sitka | YuGothL |
| comic | ebrima | mingliub | segoepr | SitkaB | YuGothM |
| comicbd | ebrimabd | mmrtext | segoeprb | SitkaI | YuGothR |
| comici | framd | mmrtextb | segoesc | SitkaZ |
准备好一个 Windows 安装镜像
# 解压 install.wim7z e "your windows iso name" sources/install.wim
# 解压出字体文件7z e install.wim -r 'Windows/Fonts/*.ttf' 'Windows/Fonts/*.ttc' -ofonts/
# 创建字体目录sudo mkdir -p /usr/share/fonts/Windows
# 复制字体sudo cp fonts/* /usr/share/fonts/Windows/
# 授予权限sudo chmod 644 /usr/share/fonts/Windows/*
# 刷新字体缓存sudo fc-cache -fv字体2
| 字体 | 字体 | 字体 | 字体 | 字体 | 字体 |
|---|---|---|---|---|---|
| 华文中宋 | 华文仿宋 | 华文彩云 | 华文新魏 | 华文楷体 | 华文琥珀 |
| 华文细黑 | 华文行楷 | 华文隶体 | 微软雅黑 | 微软雅黑粗体 |
# 复制仓库git clone https://github.com/chengda/popular-fonts
# 复制字体sudo cp fonts/* /usr/share/fonts/Windows/
# 授予权限sudo chmod 644 /usr/share/fonts/Windows/*
# 刷新字体缓存sudo fc-cache -fv打开 WPS 查看字体是否安装成功
dotfiles 管理
创建文件夹
创建目录
-
home: ~ 目录下的文件, 如 .zshrc
-
config: ~/.config 目录下按文件夹分类的文件
-
scripts: 存储自定义脚本
-
shotcut_scripts: 存储快捷启动脚本
创建链接脚本
功能列表
-
将 home 目录下的文件创建符号链接到用户主目录
-
将 config 目录下的文件夹创建符号链接到 ~/.config 目录
#!/bin/bash
DOTFILES_DIR=$(cd "$(dirname "$0")"; pwd)
echo "--- 开始应用 Dotfiles ---"
cleanup_dead_links() { local target_dir="$1" local source_dir="$2" echo "清理 $target_dir 中的失效链接..." find "$target_dir" -maxdepth 1 -type l | while read -r link; do target_path=$(readlink "$link") if [[ "$target_path" == "$source_dir"* ]] && [ ! -e "$target_path" ]; then rm "$link" echo "已删除失效链接: $(basename "$link")" fi done}
# 1. 处理 home 文件夹内容if [ -d "$DOTFILES_DIR/home" ]; then for item in "$DOTFILES_DIR/home"/* "$DOTFILES_DIR/home"/.[!.]*; do [ -e "$item" ] || continue base_name=$(basename "$item") target="$HOME/$base_name"
# 核心修改:使用 -snf # -s: symbolic # -n: no-dereference (防止在目录内创建嵌套链接) # -f: force ln -snf "$item" "$target" echo "已链接: $base_name -> $target" done cleanup_dead_links "$HOME" "$DOTFILES_DIR/home"fi
# 2. 处理 config 文件夹内容if [ -d "$DOTFILES_DIR/config" ]; then mkdir -p "$HOME/.config" for item in "$DOTFILES_DIR/config"/*; do [ -e "$item" ] || continue base_name=$(basename "$item") target="$HOME/.config/$base_name"
# 同理,使用 -snf ln -snf "$item" "$target" echo "已链接: $base_name -> $target" done cleanup_dead_links "$HOME/.config" "$DOTFILES_DIR/config"fi
echo "--- Dotfiles 应用完成 ---"必要软件设置
starship
编辑 ~/.zshrc 添加
if [[ "$TERM" != "linux" ]]; then # 只在交互式终端下启用 source <(starship init zsh)fi可以选择 官网 上的模板
这里以 Tokyo Night Preset 主题演示
创建文件
starship preset tokyo-night -o ~/.config/starship.toml复制官网的 toml 文件内容, 写入 ~/.config/starship.toml
更改徽标
[ ](bg:#a3aed2 fg:#090c0c)\添加 conda 环境显示
...
$conda\
...
[conda]symbol = ""style = "bg:#212736"format = '[[ $symbol ($environment) ](fg:#769ff0 bg:#212736)]($style)'Fcitx5
编辑 /etc/environment
添加
XIM=fcitx5XIM_PROGRAM=fcitx5GTK_IM_MODULE=fcitx5QT_IM_MODULE=fcitx5XMODIFIERS=@im=fcitx5SDL_IM_MODULE=fcitx5GLFW_IM_MODULE=fcitx5编辑 ~/.config/gtk-3.0/settings.ini
添加
gtk-im-module = fcitxFcitx5 配置 - 输入法 - 配置附加组件 - 经典用户界面 - 主题:默认深色,深色主题:默认深色
Fcitx5 配置 - 输入法 - 配置附加组件 - 添加输入法 - 中州韵
Fcitx5 配置 - 输入法 - 配置全局选项 - 切换输入法: 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
...
# 注释掉 Shift_R 防止误触切换到英文# Shift_R: commit_code # commit_code | commit_text | inline_ascii | clear | noop修改 wanxiang.schema.yaml
调整设置
...
- name: ascii_mode states: [ 中文 ] # 删掉无用输入状态
...
- name: ascii_punct states: [ 中标, 英标 ] reset: 1 # 默认开启英文标点
...
- name: emoji states: [表情关, 表情开] reset: 1 # 默认开启表情
...
spelling_hints: 0 # 取消拼音显示
tips_key: "Control+q" # 设置快速输入提示键为 Ctrl + Q右键任务栏 Fcitx 图标 - 选择中州韵 - 右键地球图标项 - 选择重新部署
开发软件设置
micromamba
"${SHELL}" <(curl -L micro.mamba.pm/install.sh)编辑 ~/.zshrc 添加
alias conda='micromamba'如果使用 starship 终端美化, 禁用 micromamba 修改提示符
micromamba config set changeps1 falsepodman
编辑 ~/.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 >>>...# <<< 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.yamlnodejs
添加环境加载
source /usr/share/nvm/init-nvm.sh# 安装 nodejsnvm install --lts# 使用指定版本nvm use --lts# 安装依赖npm install# 启动项目npm run devGithub
git config --global user.name "你的名字"git config --global user.email "你的邮箱"ssh-keygen -t ed25519 -C "你的邮箱"cat ~/.ssh/id_ed25519.pubssh -T git@github.comGPG 密钥添加
gpg --import FILE # 导入密钥
gpg --delete-keys NAME # 删除密钥
gpg --delete-secret-keys NAME # 删除私钥
gpg -e -r NAME FILE # 加密文件
gpg -d FILE > FILEO # 解密文件
gpg -k # 列出密钥
gpg -K # 列出私钥vscode 插件
-
全局插件
Remote DevelopmentPath IntellisenseEdit CSVChinese (Simplified) (简体中文) Language Pack for Visual Studio CodePanda Theme -
博客
MDXnodejsAstro -
嵌入式开发
C/C++ Extension PackCortex-DebugHex EditorCMake Tools -
Python 开发
MicromambaPython Extension Pack -
Mujoco 开发
URDFURDF Visualizer -
配置文件
{// 显示设置"workbench.colorTheme": "Panda Syntax", // 配置主题"editor.fontFamily": "'JetBrainsMono Nerd Font', 'JetBrains Mono'", // 自定义字体"workbench.activityBar.location": "top", // 顶部活动栏, 节省空间"workbench.list.smoothScrolling": true, // 文件树平滑滚动"editor.cursorSmoothCaretAnimation": "on", // 光标平滑动画"editor.smoothScrolling": true, // 编辑器平滑滚动"editor.cursorBlinking": "smooth", // 光标平滑闪烁"editor.guides.bracketPairs": true, // 显示括号对引导线"debug.showBreakpointsInOverviewRuler": true, // 在编辑器最右侧的垂直滚动条区域显示断点标记// 编辑器行为设置"editor.acceptSuggestionOnEnter": "off", // 回车不接受建议"files.autoSave": "afterDelay", // 自动保存"files.autoGuessEncoding": true, // 自动检测文件编码"editor.mouseWheelZoom": true, // 鼠标滚轮缩放"editor.formatOnPaste": true, // 粘贴时格式化"editor.formatOnType": true, // 输入时格式化"editor.formatOnSave": true, // 保存时格式化"editor.wordWrap": "on", // 自动换行"github.copilot.nextEditSuggestions.enabled": true, // 启用 Copilot 下一次编辑建议"explorer.confirmPasteNative": false, // 粘贴文件不确认// 容器设置后端"dev.containers.dockerPath": "podman",// git 设置"git.enableSmartCommit": true, // 启用智能提交"git.confirmSync": false, // 同步时不确认// 文件移动设置"explorer.confirmDelete": false, // 删除文件时不确认"explorer.confirmDragAndDrop": false, // 拖拽文件不确认// markdown 设置"markdown.copyFiles.destination": {"**/*": "${documentBaseName}.assets/${unixTime}-${fileName}"}, // markdown 粘贴图片放到 assets 文件夹, 仿照 Typora// latex 设置// 鼠标悬停,预览公式时,支持 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"}],}
其他软件配置
配置 Navi
关闭第一级分类 (最左侧的一列)
创建 ~/.config/navi/config.yaml 写入
style: tag: width_percentage: 0 min_width: 0编辑 ~/.zshrc 添加
# navi# 设置 navi 的命令不自动执行alias nv='print -z $(navi --print)'# 你想要的snippet默认存储位置export NAVI_PATH="$HOME/DOTFILES/navi"目标文件夹创建 xxx.cheat 文件
其中格式
# refresh zshrcsource ~/.zshrc
# edit zshrcnano ~./zshrcMinecraft
prism-laucnehr
添加 java 启动参数
-Dforgewrapper.skipHashCheck=true勾选 使用系统 openal
勾选 使用独显运行
HMCL
创建 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.jarKirta
Kirta - 笔刷 - 笔刷编辑器 - 大小 - 覆盖旧笔刷 - 保存
Kirta - 设置 - 配置Kirta - 笔刷光标图标 - 箭头 - 笔刷轮廓形状 - 圆形轮廓
QQ 设置
编辑启动项
-enable-features=UseOzonePlatform -ozone-platform=wayland --enable-wayland-ime --wayland-text-input-version=3XnviewMP
设置 - 标签卡 - 仅打开一个文件时隐藏标签: on; 退出 XnView 时, 关闭最后一个选项卡: on, 查看器标签卡上限: 1
设置 - 鼠标 - 鼠标左键 - 无修饰键: 移动图片
设置 - 鼠标 - 滚轮 - 无修饰键: 向上/向下滚动
设置 - 鼠标 - 鼠标右键 - 无修饰键: 创建选区
编辑启动项
QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx GTK_IM_MODULE=fcitxqq音乐
如果使用 AppImage 版本, 编辑启动项
--no-sandboxmeshlab
修改启动项, 前面添加
QT_QPA_PLATFORM=xcbchromium 设置
编辑启动项
启用硬件解码: 加入启动参数. 这里核显用来解码, 使用AMD
# Intelgoogle-chrome --enable-features=AcceleratedVideoDecodeLinuxZeroCopyGL,AcceleratedVideoDecodeLinuxGL,AcceleratedVideoEncoder
# AMDgoogle-chrome --enable-features=AcceleratedVideoDecodeLinuxZeroCopyGL,AcceleratedVideoDecodeLinuxGL,VaapiIgnoreDriverChecks
# Nvidiagoogle-chrome --enable-features=AcceleratedVideoDecodeLinuxZeroCopyGL,AcceleratedVideoDecodeLinuxGL,VaapiIgnoreDriverChecks,VaapiOnNvidiaGPUs扩展插件
谷歌扩展商店
沉浸式翻译 篡改猴 Imagus Reborn Bitwarden 允许复制 + FireShot
GreasyFork
OCS 网课助手 bilibili视频下载 CSDN Focus 夸克网盘直链下载
labelme
conda create -n labelme python=3.13conda activate labelmepip install labelme创建快捷方式
#!/bin/bashexport QT_QPA_PLATFORM=xcbmicromamba run -n labelme labelme &disownpdfmathtranslate-next
使用 docker
podman pull docker.io/awwaawwa/pdfmathtranslate-nextpodman run --rm -p 7860:7860 docker.io/awwaawwa/pdfmathtranslate-next访问 http://127.0.0.1:7860
kvm
# 启动网络sudo virsh net-start default
# 自动启动网络sudo virsh net-autostart default