ArchLinux入坑
想要体验一个完全定制化的Linux系统,非Arch和Gentoo莫属。而我只需要一个桌面系统,貌似Arch更适合我。这篇文章很大程度上坚定了我对Arch的选择。
我的安装环境是Mac+Parallels,我没有选择直接在电脑上安装,而是从虚拟机入手。Parallels已经证明是一款在Mac上表现优异的虚拟机了,我的Win10操作系统在Parallels里养得好好的。
安装手册我推荐官方wiki的Installation_guide章节,有中文版也有英文版。安装过程就不详细介绍了,细节太多,照着wiki做就行了。或者参考这篇文章,写很详细。我就记录下我踩过的坑。
一、安装系统时忘记安装无线软件包dialog
当我装完系统重启之后,想要联网下载软件包,输入命令
1 | wifi-menu |
来选择无线网络,却报错
Please install ‘dialog’ to use wifi-menu
。原因是我在安装操作系统时,忘记下载dialog包,导致新系统无法使用无线网络。而且我使用的是MacBookPro,没有雷电转网线的转接线,只有wifi可以用。
网上的解决方法是
如果以后我们的系统出现了问题,只要插入U盘并启动, 将我们的系统根分区挂载到了
/mnt
下(如果有efi
分区也要挂载到/mnt/boot
下),再通过arch-chroot /mnt
这条命令就可以进入我们的系统进行修复操作。
我的环境是虚拟机,我只需要以iso镜像文件来启动。但是为啥安装完系统之后,我进不了iso的启动程序了呢。原来Parallels配置里有个启动顺序,我默认以硬盘启动,CD/DVD启动被排在硬盘的后面,所以能够解释我新系统安装完成之后,每次默认以硬盘启动,而不再读取CD了。
调整顺序,将CD/DVD排在最前,就能以iso镜像文件来启动了。接下来分三步走
- 将系统根分区挂载到/mnt目录,如果有efi分区挂载到/mnt/boot下。
- 通过arch-chroot /mnt命令,进入系统进行修复。
- 执行pacman -S dialog命令,下载无线网络依赖的dialog包。
Arch关机,调整顺序,仍旧将硬盘排在最前,启动Arch,执行wifi-menu不再报刚才的错。但是出现了新的提示
Interactively connect to a wireless network on INTERFACE using netctl.
If only one wireless interface is available, INTERFACE can be omitte.
。原来是因为虚拟机没有无线网卡,在虚拟机里面都是本地连接。所以只要执行命令
1 | dhcpcd |
,就能连接网络了。dhcpcd命令默认已经安装了,不需要下载额外的包。搞了半天为了能连上网络,我绕了一个大圈。
二、安装i3-wm窗口管理器,快捷键无效
安装完Arch系统之后,我需要一个图形界面,听说i3不错,它是一款平铺式窗口管理器,相对于GNOME和KDE来讲,i3-wm是一个轻量级的显示管理器,不会占用太多内存,而且支持自己美化。我是因为这篇文章,才决定安装i3的。
i3的安装过程真的是很曲折,建议参考官方wiki的i3章节。一开始我完全没理解教程,以为安装i3了之后,就能执行startx
命令了。因为命令出错,我又去找原因,原来桌面环境需要Xorg的支持,Xorg是Linux下的一个著名的开源图形服务。我把xorg的包全部安装了,然后执行startx
,结果图形界面黑屏。我又找了一大堆命令,最后执行命令
1 | cp /etc/X11/xinit/xinitrc ~/.xinitrc |
之后,图形界面总算出来了。但是MacbookPro的像素太高了,导致图形界面里的终端看不清楚,又得找办法调整图形界面里的像素。好在也有办法,在图形界面里执行命令
1 | xrandr -s 8 |
,这里的8是分辨率的代号,根据自己的喜欢决定。执行一下xrandr
就能知道当前的像素,有10多个像素的选择。
图像是有了但是i3最引以为傲的快捷键却完全不起效果。我几乎把网上能查的都查了个遍,能用的方法都试了个遍,依然无果。最后无意间发现了i3-config-wizard
命令,该命令会自动将/etc/i3/config
文件内容复制到~/.config/i3/config
文件。然后将/etc/i3/config.keycodes
里的$mod
加入到~/.config/i3/config
文件。我把原来的~/.config/i3/config
文件删除,在图像界面下执行i3-config-wizard
命令,报错
i3-config-wizard : could not connect to i3 : no such file or directory
我一直以为不能用快捷键的原因是出错在这里了。网上各种找答案,还是没法解决快捷键的问题。而且这个错误在每次先删除~/.config/i3/config
文件,再执行i3-config-wizard
命令时,依然会提示。
我几乎要放弃了的时候,我又回到官方wiki的i3章节,跟着教程再走一次。我发现教程里提到,启动桌面环境会依赖xinitrc文件,而且遇到exec处,xinit暂时就不再执行下去了,直到exec的程序退出,然后才会再执行。于是我打开了我的~/.xinitrc
文件。文件末尾处是这么写的
twm &
xclock -geometry 50*50-1+1 &
xterm -geometry 80*50+494+51 &
xterm -geometry 80*20+494-0 &
exec xterm -geometry 80*60+0+0 -name login
exec i3
难怪我的exec i3
每次都看不出效果,原来我的程序先执行的并不是i3而是xterm桌面环境。我赶紧注释了exec xterm
,再次执行startx
。结果图形界面一闪而过,我知道有戏了,于是修改~/.xinitrc
文件末尾处为
1 | exec i3 -V >> ~/i3log-$(date +'%F-%k-%M-%S') 2>&1 |
,用来记录输出日志。日志内容为
another window manager seem to be running
再次在网上找了一堆关于这个问题的解答,依然无解。
最后我又打开~/.xinitrc
文件看了一下,突然发现注释掉的exec xterm
上面还有xterm,而且还是以&作为结尾的。于是我赶紧再改了一下
#twm &
#xclock -geometry 50*50-1+1 &
#xterm -geometry 80*50+494+51 &
#xterm -geometry 80*20+494-0 &
#exec xterm -geometry 80*60+0+0 -name login
exec i3
终于这一次,桌面出来了。
但还是黑屏的,当我还在懵逼的时候,我按了下$mod+Enter
,结果一个白底的终端出现了,我知道我成功了!
i3装得我真是一点脾气都没有了,整整花了两天时间,就为了解决一个快捷键的问题,但收获的不仅仅是一个快捷键而已。我知道了启动桌面环境的依赖,学会了看脚本,最关键的是,这一次我没有在网上找到答案,跟我有同样困惑的同学也不少,国外国内的都有,但这一次我真的是靠自己解决的。
其实说起来,i3的整个安装并不复杂,但是坑很多。尤其是不明白原理的时候。如果有同样疑惑的同学,希望这篇文章能帮助到你^_^。