这里写自定义目录标题
- 桌面环境安装
 - Xorg安装
 - 安装I3WM
 - Xinit设置
 - 自体和终端的安装
 - i3,启动!
 - 必要软件安装
 - fcitx
 - rofi
 - ranger
 - 软件列表(待完善)
 - I3配置简单介绍
 - i3 按键绑定
 - for_window
 - 自定义软件与i3交互
 - URXVT 配置
 - 颜色
 
桌面环境安装
Xorg安装
安装桌面环境,首先需要安装xorg-server以及xorg-xinit。这是目前大多数桌面环境的依赖库
为了方便起见,直接安装xorg软件包组(注意,xorg-xinit并不包含在其中)
1  | $ sudo pacman -S xorg xorg-xinit  | 
这里我没有安装显示管理器(Display manager)
显示管理器和Xinit两者取其一即可
关于显示管理器详细参考 ArchWiki-显示管理器
安装I3WM
软件包组i3包含了所有的可选包,其中包含的i3-gaps和i3-wm是互斥的。i3-gaps包含了额外的参数(窗口之间间隔的设定),所以我选择i3-gaps。其他方面的区别,我了解的不是很多。
本软件包组的其他可选依赖凭自己的喜好安装。
1  | $ sudo pacman -S i3  | 
Xinit设置
先拷贝默认配置文件到用户家目录
1  | $ cp /etc/X11/xinit/xinitrc ~/.xinitrc  | 
修改 .xinitrc 最后几行
- 将twm,xclock,xterm的执行语句都注释掉(或者直接删掉)
 - 加上i3的执行语句
 - 例子中的最后一行是 i3的执行语句并将日志输出到文件
 
1 2 3 4 5 6 7  | #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  | 
自体和终端的安装
理论上这个时候桌面已经可以运行,但是我们还需要安装字体和虚拟终端
1 2  | $ sudo pacman -S wqy-microhei adobe-source-code-pro-fonts $ sudo pacman -S rxvt-unicode  | 
i3,启动!
1  | $ startx  | 
必要软件安装
fcitx
记得安装软件包组fcitx-im而不是单个软件包fcitx
1 2 3 4  | #安装输入法框架 $ sudo pacman -S fcitx-im #安装输入法引擎 $ sudo pacman -S fcitx-sunpinyin  | 
关于具体的输入法引擎参见:ArchWiki-fcitx
之后会用i3的自启动配置,不用再额外配置
rofi
gruvbox配色: git仓库
ranger
生成默认配置
1  | $ ranger --copy-config=all  | 
设置环境变量
1  | RANGER_LOAD_DEFAULT_RC=FALSE  | 
来防止ranger同时读取你的配置和默认配置
安装w3m来预览图片
1  | $ sudo pacman -S w3m  | 
同时修改配置文件 .config/ranger/rc.conf
将preview_images的值改为true
1  | set preview_images true  | 
软件列表(待完善)
| 软件名 | 功能 | 
|---|---|
| feh | 查看静态图片/壁纸 | 
| sxiv | 查看gif图片 | 
| urxvt(rxvt-unicode) | 终端 | 
| ranger | 文件管理器 | 
| rofi | 程序启动器 | 
| polybar | bar | 
| picom(原compton) | 窗口视觉效果 | 
I3配置简单介绍
i3 按键绑定
1  | bindsym [--release] [<Group>+][<Modifiers>+]<keysym> command  | 
其中
按键对应的名称查询:
1  | xmodmap -pke  | 
Modifiers按键查询:
1  | 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
1  | xprop  | 
然后点击其他的应用,xporp就会输出应用相关信息,其中WM_CLASS就是应用的class
1  | WM_CLASS(STRING) = "chromium", "Chromium"  | 
1  | for_window [class="netease-cloud-music"] floating enable  | 
自定义软件与i3交互
i3wm 使用Unix Socket提供IPC接口.该功能默认开启。
启用后,会在
其中
该目录可以通过环境变量
也可以在配置文件中设置:
1  | ipc-socket ~/.i3/i3-ipc.sock  | 
i3也用
另外,
1  | $ 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 | 
这里分享一个测试颜色的脚本,脚本来自这里
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15  | 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 文件下(没有就创建)。然后
1  | $ xrdb .Xresource #或者重新登陆  | 
就可看到效果啦