安装桌面环境,首先需要安装xorg-server以及xorg-xinit。这是目前大多数桌面环境的依赖库
为了方便起见,直接安装xorg软件包组(注意,xorg-xinit并不包含在其中)
$ sudo pacman -S xorg xorg-xinit
这里我没有安装显示管理器(Display manager)
显示管理器和Xinit两者取其一即可
关于显示管理器详细参考 ArchWiki-显示管理器
软件包组i3包含了所有的可选包,其中包含的i3-gaps和i3-wm是互斥的。i3-gaps包含了额外的参数(窗口之间间隔的设定),所以我选择i3-gaps。其他方面的区别,我了解的不是很多。
本软件包组的其他可选依赖凭自己的喜好安装。
$ sudo pacman -S i3
先拷贝默认配置文件到用户家目录
$ cp /etc/X11/xinit/xinitrc ~/.xinitrc
修改 .xinitrc 最后几行
#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
$ startx
记得安装软件包组fcitx-im而不是单个软件包fcitx
#安装输入法框架
$ sudo pacman -S fcitx-im
#安装输入法引擎
$ sudo pacman -S fcitx-sunpinyin
关于具体的输入法引擎参见:ArchWiki-fcitx
之后会用i3的自启动配置,不用再额外配置
gruvbox配色: git仓库
生成默认配置
$ 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) | 窗口视觉效果 |
bindsym [--release] [<Group>+][<Modifiers>+]<keysym> command
其中--release
参数,使得绑定在松开之后进行触发。便于某些工具的使用(xdotool
、import
)
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) |
因未对其键值做深入了解,不做具体解释。
获取应用class
xprop
然后点击其他的应用,xporp就会输出应用相关信息,其中WM_CLASS就是应用的class
WM_CLASS(STRING) = "chromium", "Chromium"
for_window [class="netease-cloud-music"] floating enable
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
常用的颜色大概有:前景(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 #或者重新登陆
就可看到效果啦