看見圖形吧 - 透過 X Windows 視窗

在這前面為止,一直處於只有文字的 terminal,這樣一個作業系統很快玩不下去,最起碼要能上 Youtube、開 Facebook、看電影、聽音樂啊,所以圖形介面就十分重要。

不過我為了能繼承 Arch Linux 輕量和快速的優點,所以這裡採取的是 bspwm 的 windows manager,優點是平鋪式窗口、輕量、高客製化。

基本應用

終端機 (Terminal) 和瀏覽器 (Browser) 可以說是我在 Linux 上使用最多的應用,先安裝它們也方便等一下測試圖形介面

Terminal - 使用 alacritty

pacman -S alacritty

瀏覽器 - 使用 firefox

pacman -S firefox

可按照自己喜好選擇合適的 termianl & browser

顯示卡

先查詢自己電腦目前正在使用的顯卡

lspci | grep VGA

像我的部分:

00:02.0 VGA compatible controller: Intel Corporation HD Graphics 530 (rev 06)
01:00.0 VGA compatible controller: NVIDIA Corporation G96 [GeForce 9500 GT] (rev a1)

可以看見我用 NVIDIA GeForce 9500 GT 的這張顯卡

安裝驅動

pacman -S xf86-video-intel

安装 bspwm WM (windows manager)

pacman -S xorg (包含xorg-server,xorg-apps和其他軟件包)
pacman -S xorg-xinit (此軟件包提供了 xinit、startx和默認的 xinitrc 文件)
pacman -S bspwm sxhkd

開啟桌面(X服務)時執行 bspwm

編輯 $HOME/.xinitrc 並加入:

exec bspwm

示例配置文件

位于 /usr/share/doc/bspwm/examples/

複製或安裝 bspwmrcsxhkdrc 分別到 ~/.config/bspwm/~/.config/sxhkd/

文件 bspwmrc 必須是可執行的,因為默認示例是一個 shell 腳本,此腳本隨後通過 bspc 命令配置 bspwm。

install -Dm755 /usr/share/doc/bspwm/examples/bspwmrc ~/.config/bspwm/bspwmrc
install -Dm644 /usr/share/doc/bspwm/examples/sxhkdrc ~/.config/sxhkd/sxhkdrc

添加快捷鍵 - 啟動 Terminal 和瀏覽器

編輯 .config/sxhkd/sxhkdrc

設置同時按 super + Enter 開啟 terminal alacritty

super + Return
        alacritty

super 鍵 默認是 win 鍵

設置同時按 Ctrl + Enter 開啟瀏覽器 firefox

ctrl + Return
        firefox

startx

此時就能使用最簡單的 startx 方式去開啟 bspwm,只需要執行命令:

startx

試試看能不能打開 Terminal 和 Browser

美化

字體

pacman -S ttf-dejavu (英文字體)
pacman -S wqy-zenhei (中文字體)
pacman -S wqy-microhei (流行字體)
pacman -S ttf-sarasa-gothic (簡體中文)
yay -S ttf-google-fonts-git (未分類字體)
yay -S noto-fonts-emoji-apple (emoji)

多螢幕 - arandr

pacman -s arandr

把螢幕的設定排好後,儲存檔案 3-display.sh

.xinitrc 添加中

sh .screenlayout/3-display.sh

設定背景圖片 - 使用 feh

feh --bg-fill --randomize --recursive My_Data/Wallpapers

動態效果/陰影/透明度等渲染 - 使用 picom

pacman -S picom

(GIT)

自動執行 picom

編輯 .config/bspwm/bspwmrc 並加入:

picom -b &

另外亦有 compton

pacman -S compton
compton -b

Terminal 透明化

由於 Terminal 是使用 alacritty ,所以如果只想 Terminal 透明化,只需

編譯 .config/alacritty/alacritty.yml 並加入:

background_opacity: 0.8

範圍為 0 - 1 ,0.8 意思為透明度設為 80%

顯示電腦資訊

pacman -S screenfetch
pacman -S neofetch

(例子)

執行:

neofetch

顯示:

2021-05-09_18-10

neofetch 指令放到 $HOME/.zshrc 裡,便能每次開啟 Terminal 都執行。

Screen Saver

查看:

xset q

默認是 timeout 是 600 秒(即 10 分鐘)內沒有操作會關閉螢幕

改為半小時:

xset s 1800 1800

不過重開機就失效,把這指令寫到 .xinitrc 裡讓它開機執行

狀態列 - 使用 polybar

安裝 polybar

這裡無法使用 pacman 來進行安裝,請參閱 AUR 倉庫工具篇裡的 polybar 了解更多安裝細節

polybar 配置文件

配置文件位置 : /usr/share/doc/polybar/config

複製配置文件

cp /usr/share/doc/polybar/config ~/.config/polybar/config

這個文件裡有一行 [bar/example] 是用來辨識 polybar ,這裡的 example 就是的名稱

所以這樣就能運行:

polybar example

創建啟動腳本

創建並編譯 ~/.config/polybar/launch.sh:

#!/bin/bash

# 终端可能已经有在运行的实例
killall -q polybar

# 等待进程被终止
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done

# 运行Polybar,使用默认的配置文件路径 ~/.config/polybar/config
polybar mybar &

echo "Polybar launched..."

自動運行 polybar

.config/bspwm/bspwmrc 添加:

sh ~/.config/polybar/launch.sh

這樣的話就能每次開啟 bspwm 便會自動運行 polybar