我的Arch永遠在安裝(二:桌面環境I3WM的安裝)

桌面環境安裝

Xorg安裝

安裝桌面環境,首先需要安裝xorg-server以及xorg-xinit。這是目前大多數桌面環境的依賴庫
爲了方便起見,直接安裝xorg軟件包組(注意,xorg-xinit並不包含在其中)

$ sudo pacman -S xorg xorg-xinit

這裏我沒有安裝顯示管理器(Display manager)
顯示管理器和Xinit兩者取其一即可
關於顯示管理器詳細參考 ArchWiki-顯示管理器

安裝I3WM

軟件包組i3包含了所有的可選包,其中包含的i3-gapsi3-wm是互斥的。i3-gaps包含了額外的參數(窗口之間間隔的設定),所以我選擇i3-gaps。其他方面的區別,我瞭解的不是很多。
本軟件包組的其他可選依賴憑自己的喜好安裝。

$ sudo pacman -S i3

Xinit設置

先拷貝默認配置文件到用戶家目錄

$ cp /etc/X11/xinit/xinitrc ~/.xinitrc

修改 .xinitrc 最後幾行

  • 將twm,xclock,xterm的執行語句都註釋掉(或者直接刪掉)
  • 加上i3的執行語句
  • 例子中的最後一行是 i3的執行語句並將日誌輸出到文件
#twm &
#xclock -geometry 50x50-1+1 &
#xterm -geometry 80x50+494+51 &
#xterm -geometry 80x20+494-0 &
#exec xterm -geometry 80x66+0+0 -name login
exec i3
#exec i3 -V >> ~/i3logs/$(date + '%F-%k-%M-%S') 2>&1

自體和終端的安裝

理論上這個時候桌面已經可以運行,但是我們還需要安裝字體虛擬終端

$ sudo pacman -S wqy-microhei adobe-source-code-pro-fonts
$ sudo pacman -S rxvt-unicode

i3,啓動!

$ startx

必要軟件安裝

fcitx

記得安裝軟件包組fcitx-im而不是單個軟件包fcitx

#安裝輸入法框架
$ sudo pacman -S fcitx-im
#安裝輸入法引擎
$ sudo pacman -S fcitx-sunpinyin

關於具體的輸入法引擎參見:ArchWiki-fcitx
之後會用i3的自啓動配置,不用再額外配置

rofi

gruvbox配色: git倉庫

ranger

生成默認配置

$ ranger --copy-config=all

設置環境變量

RANGER_LOAD_DEFAULT_RC=FALSE

來防止ranger同時讀取你的配置和默認配置
安裝w3m來預覽圖片

$ sudo pacman -S w3m

同時修改配置文件 .config/ranger/rc.conf
將preview_images的值改爲true

set preview_images true

軟件列表(待完善)

軟件名 功能
feh 查看靜態圖片/壁紙
sxiv 查看gif圖片
urxvt(rxvt-unicode) 終端
ranger 文件管理器
rofi 程序啓動器
polybar bar
picom(原compton) 窗口視覺效果

I3配置簡單介紹

i3 按鍵綁定

bindsym [--release] [<Group>+][<Modifiers>+]<keysym> command

其中--release參數,使得綁定在鬆開之後進行觸發。便於某些工具的使用(xdotoolimport)
bindcode方式不做介紹

按鍵對應的名稱查詢:

xmodmap -pke

Modifiers按鍵查詢:

xmodmap -pm

這裏列出我電腦的modifiers,供參考

KeyName Function(KeyCode)
Shift Shift_L(0x32) Shift_R(0x3e)
lock Caps_Lock(0x42)
control Control_L(0x25) Control_R(0x69)
mod1 Alt_L(0x40) Alt_R(0x6c) Meta_L(0xcd)
mod2 Num_Lock(0x4d)
mod3 (無)
mod4 Super_L(0x85) Super_R(0x86)
mod4(續) Super_L(0xce) Hyper_L(0xcf)
mod5 ISO_Level3_Shift(0x5c) Mode_switch(0xcb)

因未對其鍵值做深入瞭解,不做具體解釋。

for_window

獲取應用class

xprop 

然後點擊其他的應用,xporp就會輸出應用相關信息,其中WM_CLASS就是應用的class

WM_CLASS(STRING) = "chromium", "Chromium" 
for_window [class="netease-cloud-music"] floating enable

自定義軟件與i3交互

i3wm 使用Unix Socket提供IPC接口.該功能默認開啓。
啓用後,會在/tmp/i3-%u.XXXXXX/ipc-socket.%p 創建Socket文件。
其中%u是用戶名,%p是i3的pid,XXXXX X是隨機數(參見 mkdtemp(3)).
該目錄可以通過環境變量I3SOCK獲得和修改(重啓生效)。
也可以在配置文件中設置:

ipc-socket ~/.i3/i3-ipc.sock

i3也用i3-msg 實現了這個功能,所以也可以通過執行外部程序的方式與i3交互。
另外,i3-msg會將返回的json寫入標準輸出。

$ i3-msg boder none #設置當前窗口無邊框

具體的命令可查閱 i3wm user guide:List of commands

URXVT 配置

wiki:rxvt-unicode

顏色

常用的顏色大概有:前景(foreground)、背景(background)、遊標顏色(cursorColor),color0-15
前三個顏色都好理解,color0-15是什麼呢?
Linux終端有16個 基礎顏色,其中八個背景色(color0-7),八個前景色(color8-15)。

默認顏色 前景 背景
黑色 Color0 color8
紅色 Color1 color9
綠色 Color2 color10
黃色 Color3 color11
藍色 Color4 color12
洋紅色 Color5 color13
青色 Color6 color14
白色 Color7 color15

這裏分享一個測試顏色的腳本,腳本來自這裏

T='gYw'   # The test text
 
echo -e "\n                 40m     41m     42m     43m\
     44m     45m     46m     47m";
for FGs in  '    m' '   1m' '  30m' '1;30m' '  31m' '1;31m' '  32m' \
            '1;32m' '  33m' '1;33m' '  34m' '1;34m' '  35m' '1;35m' \
            '  36m' '1;36m' '  37m' '1;37m';
    do FG=${FGs// /}
    echo -en " $FGs \033[$FG  $T  "
    for BG in 40m 41m 42m 43m 44m 45m 46m 47m;
        do echo -en "$EINS \033[$FG\033[$BG  $T  \033[0m";
    done
    echo;
done
echo

至於具體配色,我直接使用的Gruvbox的配色,github上可以直接搜索到
這裏直接放出來https://pastebin.ubuntu.com/p/gds3C6rJBH
具體用法是,將其複製到家目錄下的 .Xresource 文件下(沒有就創建)。然後

$ xrdb .Xresource #或者重新登陸

就可看到效果啦

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章