配置和美化Arch Linux

96
乐百川
0.4 2016.02.02 20:21* 字数 2942

前面说了如何安装一个最小化的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-8zh_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的美化就基本完成了。等到我学的差不多了。在写一个美化脚本,自动完成上面的所有事情。敬请期待吧。

Linux学习笔记
Web note ad 1