Arch Linux 维护与配置
本文最后更新于:2023年10月22日 凌晨
为什么要玩Arch Linux?这是我近期加入一些社团后一个主要的矛盾,因为对比Ubuntu,Debian,CentOS等Linux系统来说,各类场景覆盖还不够用吗?直到我深入了解才发现主要是几个原因,这些点也是说服了我去试试这个系统:
- 超强的可定制性,让我们更好的学习与理解Linux,并且拥有对系统极致的掌控
- Arch Linux中的软件丰富度并不比另外几款系统来的差,能够达到的能力上限很高很便捷
- 没有企业参与,又社区推动更加纯粹极客
I. PVE下安装
可以参考这篇文章。
II. MacbookPro 安装ArchLInux 系统
可以参考这篇文章。
III. 系统配置
更新系统
1 |
|
安装帮助文档
1 |
|
安装基础编译工具
1 |
|
安装oh-my-zsh
1 |
|
安装编辑器,用于一会儿visudo
要用到的编辑器:
1 |
|
添加用户
1 |
|
配置远程ssh访问
1 |
|
然后在 ~/.ssh/authrozied_keys
中添加你的public key,然后禁用密码登录。
AUR软件管理,可以用yay来辅助安装,直接参照里面的教程就行了。
TLP用于电量管理(非常有用,会根据CPU等特性进行省电管理):
1 |
|
火狐浏览器
1 |
|
1 |
|
中文字体
1 |
|
终端
1 |
|
IV. 桌面服务
Deepin
图形服务:
1 |
|
deepin主题
1 |
|
需要注意的是deepin中的pdfium
与deepin-extra中的render
是有一些冲突的,建议是先安装deepin,如上面的指令,安装以后,然后再通过sudo pacman -S deepin-extra
然后选择一些要安装的,比如我就选择了terminal啊之类的安装了。(下面的截图里面的21我独立安装了,其他是后面再进行了一次性安装)
确定是否已经有lightdm
服务
1 |
|
比如启用deepin:
1 |
|
然后编辑下一面这行greeter-session
:
启用桌面
1 |
|
KDE Plasma
可参考该教程
1 |
|
安装后启用服务
1 |
|
关机
1 |
|
开机,进入系统。
DWM
比较方便是每次都是通过源码直接编译,在config.h
中配置
安装
1 |
|
在安装完后,我们会发现自动已经在/usr/share/xsessions
目录下添加了dwm.desktop
文件了。
我这里以我使用sddm管理登录引导+原本是kde plasma的session为案例。需要切换到dwm,可以在开机的时候选择,当然也可以参考SDDM说明直接修改/etc/sddm.conf.d/kde_settings.conf
文件:
1 |
|
改用xinit
来启动
不过这里要留意,由于后面我们有较多需要做开机启动执行的,为了方便,这里推荐使用xinit-xsession
,这样就可以后面直接在~/.xinitrc
中配置被执行,具体如下:
先安装
x11
与xinit-xsession
1
2sudo pacman -S xorg xorg-xinit
yay -S xinit-xsession将sddm的session配置为
xinit
的,打开/etc/sddm.conf.d/kde_settings.conf
文件,编辑为:
1 |
|
- 在
~/.xinitrc
的最后加上:1
exec dwm
其他不变,重启即可生效。
更新,直接更新仓库,重新执行sudo make install
编译安装后就完成更新,重启下dwm就生效了。
终端 alacritty
安装
1 |
|
可以在这里找到关于alacritty
的配色 alacritty themes
从 /usr/share/doc/alacritty/example/alacritty.yml
拷贝一份到~/.config/alacritty/alacritty.yml
作为配置文件,然后找到自己喜欢的配色,修改里面关于color的部分
修改dwm中启动终端的快捷键
1 |
|
程序启动器 rofi
关于rofi
的主题,可以在这个网站中找到 rofi theme
1 |
|
这里以misc里面的simple_kde主题为例, 在~/.config/rofi/launcher/misc
中有launcher.sh
,找到最后一行
1 |
|
将这行写入dwm的配置文件中,修改最后的路径为对应的.rasi
文件
1 |
|
状态 slstatus
参考官方教程:
1 |
|
音箱声音
1 |
|
其他补丁
- view-on-tag: dwm - dynamic window manager | suckless.org software that sucks less
- hide_vacant_tags: dwm - dynamic window manager | suckless.org software that sucks less
- fullscreen: dwm - dynamic window manager | suckless.org software that sucks less
- alpha: dwm - dynamic window manager | suckless.org software that sucks less
V. 各类配置
neovim
1 |
|
安装node
1 |
|
在.zshrc
中添加
1 |
|
然后继续各类安装
1 |
|
dwm配置
可以考虑直接用这个作者的dwm配置:
1 |
|
st配置
可以考虑直接用这个作者的dwm配置:
1 |
|
其他配置
.config
: 可以直接参考这个scripts
: theniceboy/scripts: useful scripts- 里面的
auto_start
可以参考下,包含了背景设置等:fengdongfa1995/dotfiles - 从零开始配置自己的Arch Linux桌面(极简) - 知乎
- dwm美化-腾讯云开发者社区-腾讯云
- 图标可以来源nerd font,直接拷贝其中的icon即可。
V. 常见软件推荐
chrome
1 |
|
壁纸(feh)
1 |
|
可以打开浏览器访问必应首页,把它的每日一图下载下来当壁纸。图片下载完成以后,进入图片下载目录,使用feh --bg-fill <filename>
将该图片设置为壁纸。下次登录的时候,设置好的壁纸又会失效,需要在~/.xinitrc
当中添加一行,使其在启动图形界面后自动设置壁纸。
1 |
|
中文输入法(fcitx5)
1 |
|
使用vim打开~/.bash_profile
,在最后添上:
1 |
|
然后在~/.xinitrc
当中的exec dwm
的前面加上:
1 |
|
加上了这句,才会在启动X窗口时在后台运行fcitx5
。
打开fcitx5-configtool
,将Pinyin
添加到输入法列表当中,可能需要去除仅显示当前语言的勾选项(Only Show Current Language)。然后还可以调整激活输入法、切换输入法的快捷方式等等。
获取更多词库和颜色主题,词库会自动应用,但是颜色主题需要在fcitx5-configtool
当中配置一下才会生效:
1 |
|
支持vim键位的pdf阅读器
1 |
|
VNC远程桌面访问
参考官方教程
1 |
|
注意防火墙配置,我们以:1
的session为案例:
1 |
|
配置访问的密码,直接输入vncpasswd
后进行设置即可,然后可以配置访问时用的用户,可以直接编辑/etc/tigervnc/vncserver.users
来进行映射,如添加:1
session的用户为`jacks:
1 |
|
配置session,这里我配置使用的是xinitrc
的session,编辑~/.vnc/config
添加如下:
1 |
|
启动:1
session的服务:
1 |
|
此时就可以远程访问了。
VI. 常见问题处理
pacman报错
当出现failed to synchronize all databases ( unable to lock database)
错误时,通常是之前安装过程中出现错误,没有有效的清理缓存,可以通过如下方式解决
1 |
|
或者是
1 |
|
写在所有分析,并且允许忙碌
1 |
|
执行软件出现问题排查
当运行软件出现问题的时候可以通过直接执行对应指令来检查,比如:
我之前运行sudo systemctl start NetworkManager.service
一直报失败原因也不清晰,后来执行了sudo /usr/bin/NetworkManager --no-daemon
看到具体输出才知道原来是我之前在/etc/NetworkManager/NetworkManager.conf
里面的一个配置是错误的,去掉就可以了。
如果引导出现错误,启动不了系统,可以考虑通过安装盘进入,将引导的efi
挂载到/mnt
中,然后执行:
1 |
|
查看当前一共有哪些字体
1 |
|
强制卸载包含被依赖的包
1 |
|
archlinux关闭自动休眠方法(这里mask的作用可以参考这个说明):
1 |
|
如果是笔记本还要防止盖下盖子时被休眠,编辑/etc/systemd/logind.conf
文件,修改下面几行:
1 |
|
这里需要留意的是几个关键词的定义: ignore
无任何操作,poweroff
关机,suspend
休眠。
查看有哪些可用的桌面(session)
1 |
|
查看是否安装了程序(如yay)
1 |
|