两个月前我开始使用 Arch Linux,对这个简洁并可以高度定制的系统非常喜爱,不过当时忘记记下安装和配置的过程。今天不小心把 pacman 搞坏了,想着重新装一遍 Arch Linux,顺便把用到的配置记下来,这样以后换机器或者再次重装系统就不用回忆半天了。
顺便夸赞一句 Arch Linux Wiki,感觉是我见过的最棒的 wiki。基本上遇到的 90% 的问题可以在 wiki 里找到解决方案,剩下 9.99% 的问题可以在 Arch Linux Forum 里找到解决方案,Arch Linux 社区真的非常良好!
安装过程基本上和 官方文档 中描述的过程一样,不再赘述。记下几个附加的点。
Arch Linux 没有携带 sudo,需要通过 pacman -S sudo 安装。
完成安装后,编辑 /etc/sudoers 文件,把 %wheel ALL=(ALL) ALL 前的注释去掉。这样属于 wheel 用户组的用户就可以使用 sudo 操作了(使用前需要输入密码)。wheel 似乎是 Unix 类系统管理员用户组的传统名字,这里大概是方向盘的意思吧...
Arch Linux 也不会自动安装 boot loader,需要用户自行选择喜欢的 boot loader 进行安装。我选择了 grub,通过 pacman -S grub 安装。
grub-install 命令的使用可以参考 Arch Linux Wiki 中的 grub 页面。
可能会出现 efibootmgr not found 的问题,通过 pacman -S efibootmgr 安装即可。
安装过程中如果需要配置 DNS 服务器,可以在 /etc/resolv.conf 里配置。
配置内容一般为一行 nameserver <dns 服务器 ip 地址> 。
使用 pacman -S xorg xorg-xinit 安装 X-Server 图形服务器。
我个人不喜欢那些很重的桌面系统,还是 i3 窗口管理器比较符合我的口味。使用 pacman -S i3 安装。
我在 github 上开了一个 repo 存放配置文件。
我使用 urxvt 终端,通过 pacman -S rxvt-unicode 安装。配置文件也在 repo 里。
配置文件中使用了文泉驿微米黑(wqy-microhei)、Consolas 和 font-awesome 三种字体。其中文泉驿微米黑是中文字体,Consolas 是英文字体,font-awesome 用来显示 i3status 里的图标。
wqy-microhei 直接通过 pacman -S wqy-microhei 安装;
Consolas 有一个 AUR(AUR 的安装见 Arch Linux Wiki AUR 页面,或者见本文最底部):https://aur.archlinux.org/packages/consolas-font/
font-awesome 也有一个 AUR。注意 font-awesome5 对空格的处理有问题,建议安装 font-awesome4:https://aur.archlinux.org/packages/ttf-font-awesome-4/
使用 pacman -S ibus-pinyin 安装中文输入法。
在声音方面我使用 PulseAudio 声音服务器。通过 pacman -S pulseaudio 安装。i3 的配置文件中设置了通过键盘上的音量键,利用 pactl 调整音量的功能。
我自己写了一个 脚本 控制屏幕亮度。i3 的配置文件中设置了通过键盘上的屏幕亮度键,利用这个脚本调整屏幕亮度的功能。
Nvidia 显卡对 Linux 操作系统的支持都相对比较糟(我的独立显卡是 GTX 1050 比较新,支持更糟),要想用上 Nvidia Optimus(英伟达擎天柱,用来切换 Intel 的集显和 Nvidia 的独显)不太容易。难怪 Linus 对 Nvidia 破口大骂。
好在 Arch Linux 下有一个非常好的解决方案:nvidia-xrun。
为了防止奇怪的冲突,建议在安装 nvidia-xrun 之前,先禁止 nvidia 驱动和 nouveau(一种开源的,尝试兼容 nvidia 显卡的驱动)的开机启动。在 /etc/modprobe.d 中添加 no-nvidia.conf 文件,文件内容为:
1 blacklist nvidia 2 blacklist nvidia_drm 3 blacklist nouveau
nvidia-xrun 也有一个 AUR:https://aur.archlinux.org/packages/nvidia-xrun/
完成以上操作后,开机时独显是不会启用的,普通的 startx 开启图形界面也只是用集显。需要通过 nvidia-xrun 开启图形界面才会启动独显。它需要 .nvidia-xinitrc 配置文件,也在我的 repo 里。
我笔记本上的 HDMI 输出口是直接接到独显上的,所以只启用集显无法外接屏幕。要启用外接屏幕,可以选择插着屏幕的情况下 nvidia-xrun ;或者用 nvidia-xrun 进入图形界面后,再通过 xrandr --auto 命令自动检测并启用外接屏幕。外接屏幕内容的调整可参考 man xrandr
使用 iw 控制无线网卡,通过 pacman -S iw 安装。
对于无密码的无线网络,我写了一个 脚本,根据 SSID 自动选择信号最强的 AP 进行连接。
默认情况下,终端里进行错误输入会发出很大一声 beep,这个好像是主板上的硬件直接发出来的,所以调声音没用。在 /etc/modprobe.d 中加入 no-beep.conf 文件,内容为:
1 blacklist pcspkr
禁掉该模块就不会发出 beep 的声音了。
不做其它处理的话,Linux 耗电比 Wndows 快很多,因为 Linux 下对省电做的优化比较少。
laptop_mode 工具就是一个很好的省电工具,有一个 AUR:https://aur.archlinux.org/packages/laptop-mode-tools/
默认情况下,插着电的时候 laptop_mode 是关闭的,只有用电池的时候 laptop_mode 是开启的。不过 laptop_mode 开启的时候会禁止独立显卡等设备,所以如果在不插电的情况下想用独立显卡,记得提前 laptop_mode stop 以禁用 laptop_mode,之后 laptop_mode start 再次启用即可。
laptop_mode 省电效果非常好,我的机器用上了以后,Linux 下用电池支撑的时间已经约等于 Windows 了(大概能撑 4~5 小时,之前不用 laptop_mode 只能 2 小时)。
安装 AUR 之前,首先需要安装 base-devel 组的软件包: pacman -S base-devel 。
通过 git clone 把 AUR 的代码 clone 到本地,进入目录后 makepkg -si 即可安装。
原文:https://www.cnblogs.com/tsreaper/p/arch-config.html