配置和美化ArchLinux

過了即是客發表於2016-02-02

前面說了如何安裝一個最小化的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_MACHINESYSTEMCurrentControlSetControlTimeZoneInformation下新建一個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的美化就基本完成了。等到我學的差不多了。在寫一個美化指令碼,自動完成上面的所有事情。敬請期待吧。


相關文章