上一篇博文中,已經完成了archlinux的安裝,但是進去僅僅是一個冰冷冷的交互式命令窗口。沒有圖像,也無法打開瀏覽器。離日常使用還差的很遠,接下來首先需要做的就是安裝桌面環境。這里我不打算使用諸如gnome或者kde之類的桌面環境,一來這些桌面環境會自動幫我們把所有的給配置好,這不符合深度定制或者說折騰的本意,而來它們的體量相對來說還是比較大的,我想實現最小化安裝,這里只需要一個窗口管理器就夠了
桌面環境與窗口管理器簡述
要將它作為日常使用來說,需要一個圖形化的操作界面,與Windows不同的是,Linux自身並不包含圖形操作界面,需要額外安裝,而Windows是將圖形操作界面作為內核的一部分。
為了完成圖形化的安裝,可以使用桌面環境或者窗口管理器。桌面環境桌面環境結合X客戶端,提供通用圖形用戶界面元素,如圖標、工具欄、壁紙,桌面小部件。 大多數桌面環境包括提供一套整合的應用程序和實用工具。桌面環境包含了自己的一套窗口管理器,但是這個可以被替換。為了維持我們進行折騰的目的,這里采用僅僅安裝窗口管理器的方式,后面陸續針對它僅配置,以達到和桌面環境差不多的效果
安裝前的准備工作
在安裝前需要做一些額外的工作,先下載安裝好一些必備組件。
sudo pacman -S net-tools man-db man-pages man-pages-zh_cn texinfo ntfs-3g tree pacman-contrib neofetch wget git usbutils pciutils acpi
- net-tools: 一個包含各種網絡工具的庫,像
ifconfig
或者netstat
,官方目前使用ip address
命令來獲取本機的IP地址,但是我仍然喜歡使用ifconfg
所以這里我安裝上這個包 - man-db: 提供man命令
- man-pages: 提供man頁面內容
- man-pages-zh_cn: 提供man中文頁面內容,這個包下載下來不能直接用,后面改別名會提到
- texinfo: info幫助文檔的包
- ntfs-3g: 對NTFS文件系統提供支持
- tree: 以樹形結構顯示目錄中各種文件的依附關系
- pacman-contrib: pacman包管理器的擴展好像是,我主要用裡面的那個pactree命令
- neofetch: 一個顯示系統信息的工具
- wget: 一個用來下載的工具
- git: 這個就不用說了,做程序員的都知道這個
- usbutils: 查看系統USB設備
- pciutils: 查看系統PCI設備
- acpi: 用來查看電池電量的工具
一些基礎工具安裝好后,下面來安裝中文和其他語言的字體包,防止后續出現亂碼的情況
sudo pacman -S adobe-source-han-serif-cn-fonts wqy-zenhei
sudo pacman -S noto-fonts-cjk noto-fonts-emoji noto-fonts-extra
## 這里我把官方推薦的所有帶unicode標識的全裝上了,這樣后續就不太會出現亂碼的情況了
yay -S ttf-ubraille ttf-symbola otf-cm-unicode ttf-arphic-ukai ttf-arphic-uming ttf-dejavu gnu-free-fonts ttf-google-fonts-git nerd-fonts-complete ttf-hack ttf-joypixels
接着安裝一下驅動
sudo pacman -S alsa-utils sof-firmware alsa-ucm-conf xf86-video-intel mesa xf86-input-libinput
- alsa-utils:聲卡驅動
- sof-firmware:聲卡驅動,如果你的機器比較新,那么你可能需要安裝。
- alsa-ucm-conf: 聲卡驅動,如果你的機器比較新,那么你可能需要安裝。
- xf86-video-intel: Intel核顯的渠道,這里我只安裝了核心顯卡的驅動,如果你有另外的獨立顯卡,請參考官方文檔中的相關內容
- mesa: 用來配合顯卡的另一種上層驅動
- xf86-input-libinput: 筆記本觸摸板的驅動
窗口管理器是搭載在x窗口系統之上的,安裝窗口管理器之前需要先安裝上x窗口系統的相關服務
sudo pacman -S xorg xorg-xinit nitrogen picom
- xorg: x服務,用來顯示圖形界面
- xorg-init: x服務的啟動程序
- nigrogen: 設置背景圖片
- picom: 窗口渲染,后面做半透明渲染
安裝窗口管理器
接下來就正式開始安裝窗口管理器了,這里使用suckless
全家桶,窗口管理器采用dwm
, 程序啟動器采用dmenu
, 終端程序采用st
git clone https://git.suckless.org/dwm --depth=1
git clone https://git.suckless.org/st --depth=1
git clone https://git.suckless.org/dmenu --depth=1
分別切換到這幾個下載下來的目錄中,依次執行 sudo make clean install
進行編譯安裝
接着在用戶的家目錄下新建一個 .xinitrc 文件(ps: 也可以將 /etc/X11/xinit/xinitrc
拷貝到家目錄下並改名為.xinitrc
,但是這個文件里面內容太多了,顯的有點亂,所以我直接新建一個自己往里面加想要的內容)
在文件中添加一行
exec dwm
保存退出后,輸入命令 startx
即可看到dwm
的窗口了
dwm 基本用法
dwm中最重要的鍵是 Mod1
鍵,這個鍵默認映射到了 Alt
鍵,使用 Mod1 + p
可以啟動 dmenu
, 然后只需要在上邊出現的工具條中輸入你想運行的程序的前幾個字母,也可以按左右箭頭在進行選擇,按回車鍵完成,即可啟動想要的程序
可以使用 Shift + Mod1 + x
來將當前的活動窗口移到其他的標簽頁,其中x是標簽頁的編號
關閉當前窗口可以使用 Mod1 + Shift +c
可以使用 Mod1 + Shift + q
來退出 dwm
到現在已經完成了dwm的基本安裝以及使用,但是它看起來是那樣的不起眼,比起剛開始來說僅僅是多了幾個可以運行的終端而已,后面將會介紹如何對它進行美化和相應的改造,讓它變得漂亮起來