前面说了如何安装一个最小化的Arch Linux。现在来说说如何配置。
配置网络
如果使用有线网络的话,将dhcp服务开机启动:
# systemctl enable dhcpcd
如果使用无线网络的话,使用wifi-menu
命令连接网络。如果在使用wifi-menu命令连接网络的时候选择保存配置,那么就可以下次让其自动连接。要让其自动连接,使用以下命令:
# systemctl enable netctl@保存的网络配置名.service
要管理无线网络的话使用netctl
命令。详情可以查阅其手册页。如果在使用netctl
命令连接某个无线网的时候出现了类似The interface of network profile '网络名' is already up
错误,将网络设备关闭并再次运行命令通常可以解决问题。如果不知道无线网卡的名字,直接使用ip
命令就可以列出所有的网络接口了。
# ip link set 无线网卡名 down
# netctl start profile
配置区域和时间
配置区域
打开/etc/locale.gen
文件,取消掉en_US.UTF-8
和zh_CN.UTF-8
的注释:
# nano /etc/locale.gen
然后重新生成一下区域信息:
# locale-gen
然后再配置一下/etc/locale.conf
文件。将区域信息写入:
# echo LANG=en_US.UTF-8 > /etc/locale.conf
这里要注意,如果/etc/locale.conf
文件使用非英语区域的话,会导致tty,也就是我们目前使用的全屏黑色命令行界面乱码。另外还有一种解决方案是使用fbterm。接下来会说到。
配置时区
将时区设置为中国上海:
# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
或者这个命令也可以达到相同的目的:
# timedatectl set-timezone Asia/Shanghai
配置时间
推荐将硬件时间修改为UTC时间,这样各个linux系统都会完美协调,不过需要修改Windows操作系统。
# hwclock --systohc --utc
开启网络对时功能:
# timedatectl set-ntp true
要查看现在的时间,直接使用timedatectl
命令就可以。
下面是Windos下的修改:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation下新建一个DWORD
类型的名字为RealTimeIsUniversal
的项,并将值修改为十六进制的1。如果无效并且Windows是64位的话,新建一个QWORD
类型的值或许有效。
用户和权限设置
添加用户
添加用户的命令格式如下,-m
选项表示在创建用户组的同时创建用户目录。
# useradd -m -g 初始用户组 -G 额外用户组 -s 登陆shell 用户名
例如,我要添加一个test用户,让他隶属于users用户组,并且同时在wheel用户组,使用zsh作为登陆shell,那么命令就是这样的:
# useradd -m -g users -G wheel -s zsh test
删除用户
如果不小心添加了一个不需要的用户,可以将其删除。-r
选项表示再删除的时候同时删除其用户目录。
# userdel 用户名 -r
允许提权
在一般情况下,如果要将一个用户设为管理员,就将其加入到wheel用户组中,这样就可以使用su和sudo命令执行需要高级权限的操作。但是在Arch中,wheel用户组默认没有提权的权限。这就需要编辑/etc/sudoers
文件:
# nano /etc/sudoers
然后找到wheel ALL=(ALL) ALL
一行,并取消前面的注释,保存即可。这样,wheel用户组中的用户就可以利用su或者sudo命令来提权了。
安装桌面
安装xorg
所有桌面环境都需要依赖xorg。所以先要安装xorg组。
# pacman -S xorg
输入命令之后首先会询问要安装xorg组下的哪些包,选择全部。然后对于libgl包有个四个不同的实现,选择mesa-libgl。
然后再安装xorg-xinit和xterm:
# pacman -S xorg-xinit xterm
安装完成之后就可以使用startx命令启动xorg的简易界面了。进入成功的话会显示出几个简陋的窗口。然后按Ctrl+D就可以退出了。
安装显示管理器
这里安装的是sddm显示管理器,配合plasma桌面使用效果更佳。
# pacman -S sddm
安装完成之后,可以运行一下systemctl start sddm
命令来查看一下sddm是否能够正常运行。如果正常显示出来的话,就说明安装成功了。安装成功的话就可以按Ctrl+Alt+F数字来切换到其他tty,继续进行配置。如果安装成功,就可以使用systemctl enable sddm
来让其开机启动。
默认的sddm是没有配置文件的,需要先生成一个:
# sddm --example-config > /etc/sddm.conf
生成完成之后就可以编辑配置文件了。
比如,要修改主题为Breeze,打开配置文件找到[Theme]
下的Current
,然后修改成Current=breeze
。默认情况下主题都在目录/usr/share/sddm/themes/
下。运行ls /usr/share/sddm/themes/
命令就可以查看现在安装的主题。breeze主题默认情况下没有,在安装plasma桌面的时候会附带安装。
如果想要开机时候启用数字锁定键,找到Numlock
条目并改为Numlock=on
。
sddm默认情况下会从tty1启动,如果想要传统的从tty7启动,找到MininumVT
并改为MininumVT=7
。
如果要为用户添加头像的话,照一张png格式的图片,重命名为username.face.icon
,然后放到/usr/share/sddm/faces/
目录即可。如果不能识别,使用ls -l /usr/share/sddm/faces/
查看一下是否是用户权限的问题。如果是的话使用chmod 744 /usr/share/sddm/faces/username.face.icon
把所有用户的读权限加上,应该就可以了。
安装桌面环境
如果想要轻巧的话使用xfce桌面,如果想要华丽效果的话使用plasma桌面。
安装xfce4桌面和附带的软件包:
# pacman -S xfce4 xfce4-goodies
安装plasma桌面和附带的软件包:
# pacman -S plasma kde-applications kde-l10n-zh_cn
系统中文化
这一部分最好在桌面环境安装好之后进行,一来桌面环境方便进行各种操作,二来可能需要编辑一些由桌面环境生成的文件。
安装中文字体
首先使用pacman搜索一下所有字体,然后安装所需的字体:
# pacman -Ss font
强烈建议现在这里安装一种文泉中文字体,比如文泉微米黑,否则可能出现重启之后所有字体全变成方块的问题。
# pacman -S wqy-microhei
设置中文区域
/etc/locale.conf
文件中的区域设置是全局设置,会影响到所有的程序。如果在这里把区域设置为中文,虽然桌面环境下可以正常显示,但是进入tty的话就会出现乱码现象。所以推荐的方法是在启动图形界面的时候加入中文区域设置,打开~/.xprofile
文件加入以下几行即可,注意文件名称全部是小写的。
export LANG=zh_CN.UTF-8
export LANGUAGE=zh_CN:en_US
export LC_CTYPE=en_US.UTF-8
安装fcitx输入法
# pacman -S fcitx fcitx-cloudpinyin fcitx-im fcitx-fbterm kcm-fcitx
安装完成之后还需要配置一下。打开~/.xprofile
文件并加入以下几行:
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
安装fbterm
安装fbterm并将当前用户添加到video用户组中:
$ pacman -S fbterm
$ gpasswd -a username video
其他美化
设置pacman彩色输出
打开/etc/pacman.conf
文件,找到被注释的#Color
,改为Color
。pacman就会输出彩色信息,方便查看。
终端美化
首先安装zsh,z shell以最后一个字母z命名,意为终极shell。配合oh-my-zsh一起使用效果更佳。安装完成之后将其设置为默认shell,重新登录即可生效。另外还要安装git。
# pacman -S zsh git
# chsh -s $(which zsh)
然后安装oh-my-zsh,可以从curl或者wget安装。
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
安装完成之后打开.zshrc
文件配置。我喜欢将主题设置为random,启用几个插件,并添加vim的简化命令。
ZSH_THEME="random"
plugins=(git archlinux history mvn python git-extras textmate lighthouse autojump)
# Example aliases
alias zshconfig="mate ~/.zshrc"
alias ohmyzsh="mate ~/.oh-my-zsh"
alias vi=vim
有些主题需要破解过的字体,需要安装git来同步这些字体:
git clone https://github.com/powerline/fonts.git
cd fonts
./install.sh
还有更多奇妙的主题,这里是其中的两个,在这里还可以找到更多:
字体美化
由于原作者可能不在更新项目了,所以现在好像没办法安装infinality了。Linux下字体发虚的原因是系统分辨率太低,而中文字体字形复杂,所以笔画会显示比较模糊。现阶段这属于无解状况。(当然如果有钱换个2K或者4K的屏幕,字体应该就显示正常了。)
默认情况下ArchLinux的字体并不好看,中文字体发虚。通过安装字体渲染包infinality可以改善这个问题。首先需要导入infinality的密钥并在本地签名。
# pacman-key -r 962DDE58
# pacman-key --lsign-key 962DDE58
然后需要在etc/pacman.conf
中添加infinality的软件源:
[infinality-bundle]
Server = http://bohoomil.com/repo/$arch
[infinality-bundle-multilib]
Server = http://bohoomil.com/repo/multilib/$arch
[infinality-bundle-fonts]
Server = http://bohoomil.com/repo/fonts
添加完成之后需要重新刷新缓存,然后就可以安装infinality的软件包了。安装时会提示与freetype2冲突,询问你是否替换,选择是即可。
# pacman -Syy
# pacman -S infinality-bundle infinality-bundle-multilib ibfonts-meta-extended jdk8-openjdk-infinality
安装完成之后,需要重启图形界面,或者直接重新启动电脑也可以。然后系统的字体应该就会变得赏心悦目了。
图标美化
numix-circle-icon-theme是一个非常好看的图标主题。但是需要我们手动安装。这个主题不是官方仓库的一部分,所以需要使用AUR(Arch User Repository)来安装。安装它最简单的办法就是使用Yaourt这个包管理器来做。它是一个建立在pacman上层的工具,既可以安装官方仓库的软件(和pacman一样),也可以安装AUR中的软件。
首先来安装Yaourt。先打开pacman.conf
,
$ sudo nano /etc/pacman.conf
然后把下面几行添加到pacman.conf
中,
[archlinuxfr]
SigLevel = Never
Server = http://repo.archlinux.fr/$arch
添加完成之后就能刷新软件仓库并安装Yaourt了,
$ sudo pacman -Sy yaourt
安装完成之后就可以使用yaourt来安装numix了,
# yaourt numix
这样就会列出所有的numix相关的软件包,在其中找到numix-circle-icon-theme
,然后输入前面的序号就可以安装了。然后接下来根据提示进行操作就可以了。
yaourt是一个强大的工具,你可以在AUR中查找一下其他的好用的软件,使用yaourt来安装。这是在其他Linux发行版中无法得到的体验。
其他设置
科学上网
修改hosts
最简单的是使用hosts文件,克隆项目并替换hosts文件:
$ git clone https://github.com/racaljk/hosts.git
$ sudo bash ~/hosts/hosts_tools/scripts/script_tool_for_linux.sh
使用lantern
lantern是一个开源的翻墙软件,稳定性和速度都不错。现在已经有对应的AUR包,但是现在已经过期了。因此无法使用AUR安装。
使用shadowsocks
shadowsocks需要购买一个可以连接外网的服务器,然后配置ss服务端,之后就可以使用客户端科学上网了。客户端有win、linux和安卓等版本。我现在用的就是ss,由于是自己搭服务端,也不用担心数据被第三方监听的风险,速度也挺快的。这是最推荐的方式。服务器的话可以买搬瓦工,一年20刀,每个月550G流量,性价比十分高。
这样,Arch的美化就基本完成了。等到我学的差不多了。在写一个美化脚本,自动完成上面的所有事情。敬请期待吧。
网友评论
infinality-bundle infinality-bundle-multilib ibfonts-meta-extended
参考:https://linux.cn/article-3019-1.html
我尝试照着你说的字体美化部分来安装infinality补丁,未能解决 Chrome 中字体发虚的问题,后来换了安装的包,才成功了。