ArchLinux入坑

想要体验一个完全定制化的Linux系统,非Arch和Gentoo莫属。而我只需要一个桌面系统,貌似Arch更适合我。这篇文章很大程度上坚定了我对Arch的选择。

我的安装环境是Mac+Parallels,我没有选择直接在电脑上安装,而是从虚拟机入手。Parallels已经证明是一款在Mac上表现优异的虚拟机了,我的Win10操作系统在Parallels里养得好好的。

安装手册我推荐官方wiki的Installation_guide章节,有中文版也有英文版。安装过程就不详细介绍了,细节太多,照着wiki做就行了。或者参考这篇文章,写很详细。我就记录下我踩过的坑。

一、安装系统时忘记安装无线软件包dialog

当我装完系统重启之后,想要联网下载软件包,输入命令

1
wifi-menu

来选择无线网络,却报错

Please installdialog’ to use wifi-menu

。原因是我在安装操作系统时,忘记下载dialog包,导致新系统无法使用无线网络。而且我使用的是MacBookPro,没有雷电转网线的转接线,只有wifi可以用。

网上的解决方法是

如果以后我们的系统出现了问题,只要插入U盘并启动, 将我们的系统根分区挂载到了/mnt下(如果有efi分区也要挂载到/mnt/boot下),再通过arch-chroot /mnt这条命令就可以进入我们的系统进行修复操作。

我的环境是虚拟机,我只需要以iso镜像文件来启动。但是为啥安装完系统之后,我进不了iso的启动程序了呢。原来Parallels配置里有个启动顺序,我默认以硬盘启动,CD/DVD启动被排在硬盘的后面,所以能够解释我新系统安装完成之后,每次默认以硬盘启动,而不再读取CD了。

调整顺序,将CD/DVD排在最前,就能以iso镜像文件来启动了。接下来分三步走

  1. 将系统根分区挂载到/mnt目录,如果有efi分区挂载到/mnt/boot下。
  2. 通过arch-chroot /mnt命令,进入系统进行修复。
  3. 执行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的整个安装并不复杂,但是坑很多。尤其是不明白原理的时候。如果有同样疑惑的同学,希望这篇文章能帮助到你^_^。

avatar

chilihotpot

You Are The JavaScript In My HTML