本文主要记录在实验室的 Manjaro 主机上的 i3wm 即工作环境的配置,以及o双显示器的完整工作流内容.
主要内容涵盖:
- 显卡支持
- 显示器布局
- OpenVPN 自动连接
显卡支持
虽然通常 Arch 系列的 Nvidia 显卡驱动都可以根据 installation guide 进行安装,但是由于 Kernel 的不同内核不一定可以加载这些通用的模块,因此最佳的办法还是查找对应内核的驱动。
Manjaro 自行维护了 Nvidia 驱动支持,通过 sudo manjaro-setting-manager
打开”硬件设置“,可以找到维护的 Nvidia 驱动。
在 Nvidia CodeName 中找到自己显卡所属的序列和对应使用的驱动后,可以直接在 GUI 界面选择安装配置,虽然实质和 installation guide 的步骤完全一直,但是 GUI 安装过程中的 details 中可以发现其自动选择了与内核相兼容的 linux610-nvidia-settings
包。
尽管重启后 nvidia-smi
已经可以正常工作,但是由于使用 HDMI
口需要直接设置使用 Nvidia 驱动1,所以 xrandr
中看不到我的第二个显示器,此时需要通过 NVIDIA Optimus 设置启用 Nvidia 显卡进行渲染。
通过安装 EnvyjControl 进行管理,通过
$ sudo envycontrol -s nvidia --dm lightdm
可以创建一个 service unit,在系统启动时就启用 nvidia 驱动进行桌面渲染。
此时正常进入可以通过 xrandr
查看到两个显示器:
$ xrandr | grep connected
HDMI-0 connected primary 2560x1440+1080+121 (normal left inverted right x axis y axis) 597mm x 336mm
DP-1-2 connected 1080x1920+0+0 right (normal left inverted right x axis y axis) 527mm x 296mm
显示器布局
通过 Arandr 来以 GUI 方式管理显示器布局,导出其显示器配置脚本到 ~/.screenlayout/default.sh
.
在给予执行权限后,在 .config/i3/config
中,设置登入时时加载显示器布局脚本并重置壁纸:
exec_always --no-startup-id sh ~/.screenlayout/default.sh
exec_always --no-startup-id nitrogen --set-zoom-fill ~/Pictures/inf.jpeg
OpenVPN
由于实验室集群需要使用 OpenVPN,因此在 /etc/systemd/system/tank-openvpn.service
增加
[Unit]
Description=OpenVPN connection
[Service]
User=root
ExecStart=/usr/bin/openvpn --config /home/cyc/Documents/trswnca.ovpn --auth-user-pass /home/cyc/Documents/trswnca-ovpn.auth
Restart=on-failure
[Install]
WantedBy=multi-user.target
并通过 sudo systemctl enable tank-openvpn.service
开启自动启动,此后对与 192.168.1.*
的访问都会通过 OpenVPN 转发。
Last modified on 2025-02-13