Archlinux 的安装见:Archlinux 的安装过程整理
配置文件在: gayhub
这份配置也是我正在用的,平时的一些优化更新都会同步上来
先上桌面截图:
关于 i3WM
第一次接触真的有点无从下手,不像之前用过的 Gnome,安装之后所有模块都齐全了,根据自己的喜好修改主题和布局。
i3 就只是个窗口管理而已。
除此之外,系统依然是那个命令行系统。。
一些基础安装
显卡支持
集显驱动
sudo pacman -S xf86-video-intel
我的是 AMD 独显,因此安装 xf86-video-ati
,其中 mesa
提供 DRI 和 3D 加速
sudo pacman -S xf86-video-ati mesa
开启 32 位应用支持, 编辑 /etc/pacman.conf
,取消下面两行注释
#[multilib]
#Include = /etc/pacman.d/mirrorlist
xorg 和 i3
sudo pacman -S xorg-server i3-gaps xorg-xinit
配置手动启动桌面环境,先将 xinitrc
文件复制一份到用户目录
cp /etc/X11/xinit/xinitrc ~/.xinitrc
编辑 .xinitrc
,在最后加上
exec i3
这时就能在命令行执行 startx
进入桌面环境了
再生成一份 i3 的配置文件,第一次进入 i3 的时候也能根据指引生成,路径是 ~/.config/i3/config
i3-config-wizard
第三方源
Arch 的 AUR(Arch User Repository) 提供了官方库之外的软件包
编辑 /etc/pacman.conf
,添加
[archlinuxcn]
SigLevel = Optional TrustedOnly
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
然后安装 archlinuxcn-keyring 包以导入 GPG key
sudo pacman -S archlinuxcn-keyring yay
yay 封装了 pacman,现在就可以 yay 安装第三方的包了
声音模块
yay -S alsa-utils
字体和 icon
字体我用的文泉驿微米黑
sudo pacman -S wqy-microhei
icon 可根据自己需要安装,如果配置外观后有方块出现,则说明是 icon 的支持不够
sudo pacman -S ttf-font-awesome
安装 font-awesome 之后,就能在 font-awesome 复制图标了
i3
主要简单说明一下如何配置,因为配置项和其它应用、脚本息息相关,直接找到个 config
复制粘贴是没用的,正确的做法是了解结构和语法后参考喜欢的配置文件来修改
建议添加和修改的内容都放在最后,一目了然
我的配置很简单,主要跟能功能有关,因为设置下面这几行之后,除了状态栏,i3 就没有其它外观上的配置了哈哈
通过 $mod+Shift+r
可以热重载配置文件
# general
focus_follows_mouse yes
# 去除窗口边框和标题
default_border none
default_floating_border none
hide_edge_borders both
gaps
窗口大小我用这个就感觉很舒服了,单窗口时全屏,多窗口时中间留些间距
# Gaps
gaps inner 20
gaps outer 20
smart_gaps on
smart_borders on
bindsym
这个用来绑定快捷键,其中的修饰键 $mod
已经在最前面定义了,Mod4
即 win
或 cmd
,如
# shortcuts
bindsym $mod+c exec chromium
bindsym $mod+Shift+c exec code
bindsym $mod+space exec --no-startup-id rofi -show drun -theme lb
bindsym $mod+F12 exec amixer -q set Master 2dB+ unmute
bindsym $mod+F11 exec amixer -q set Master 2dB- unmute
bindsym $mod+F10 exec amixer -q set Master toggle
exec
用来在启动 i3 时运行一些程序,比如输入法、Chromium、壁纸等,如
# exec
exec --no-startup-id fcitx
exec --no-startup-id picom -b
exec --no-startup-id termite
exec --no-startup-id chromium
exec --no-startup-id feh --bg-fill ~/Pictures/star_ring_city.png
exec_always --no-startup-id ~/.config/polybar/launch.sh
assign
用来将特定程序绑定到特定的 workspace,这样该程序则只会在对应的 workspace 打开,好处是通过切换工作区即可在各个程序之间快速跳转。
太方便了,甚至我现在在 Windows 上写东西,都还习惯性地按快捷键试图切换 Chrome 和 VSC
# assign
assign [class="(?i)termite"] $ws1
assign [class="(?i)chromium"] $ws2
assign [class="(?i)code"] $ws3
assign [class="(?i)chromium"] $ws4
bar
这个状态栏的入口,主要配置见后面的 i3status,这里我主要实现了
bar {
# 获取 ~/.config/i3status/config
status_command i3status
# 显示上传下载速度,将下面的脚本保存到指定位置
# http://code.stapelberg.de/git/i3status/tree/contrib/net-speed.sh
status_command ~/.config/i3status/net-speed.sh
# 状态栏移到上方
position top
separator_symbol " "
font pango: Monaco 10, Icons 9
# 主要是 workspace 标签的配色,颜色定义在 ~/.config/i3/config 中
colors {
# Border # Background # Text
focused_workspace $silver0 $silver0 $elegant
active_workspace $elegant $elegant $orange
inactive_workspace $elegant $elegant $cyan0
urgent_workspace $acqua $acqua $silver0
background $elegant
}
}
如果需要修改实时网速的显示格式,比如加个 icon 什么的,应该修改 rate
变量的值,而不是最后的 echo
,因为status_command
是将输出内容组合为一个 JSON 来读取,格式不对将导致状态栏出错,我们也可以根据这个格式自己编写脚本
i3status
复制一份配置文件方便修改,i3status 有一个配置文件查找顺序,~/.config/i3status/config
排在第一,因此复制一份过来方便修改
sudo cp /etc/i3status.conf ~/.config/i3status/config
general
i3status 的文档中好像没写,但在 reddit 上找到可以通过 markup
开启自定义模块颜色,其中 output_format = i3bar
也是必须的
output_format = i3bar
markup = "pango"
order
模块的顺序
format
order 下面就是具体模块,文档中还有一些其它的模块,也有示例,很方便
format
的值即为显示内容,可以自己添加变量和 icon 实现个性化
由于我们上面启用了 markup
因此可以通过 span
标签更改模块颜色
cpu_usage {
format = “ [%usage] %cpu0 %cpu1 %cpu2 %cpu3“
}
一些可选软件
Chromium
虽然是 Chromium,但其实就是 Chrome 吧。。。还是内核本来就长这样?总之可以通过 Google 账号同步就很 nice ~
sudo pacman -S chromium
在 ~/.config/i3/config
添加启动快捷键
bindsym $mod+c --no-startup-id exec chromium
所有书签和用户信息都保存在 ~/.config/chromium
,我是因为不小心把 .config
删了才发现的,这是另一个悲伤的故事了
v2ray
wget https://install.direct/go.sh
sudo bash go.sh
配置文件懒得改的话,直接复制 Windows 客户端的 config.json
,替换掉 /etc/v2ray/config.json
最近才知道 proxychains
,代理命令行的工具,太好用了!
Termite
sudo pacman -S termite
一个终端,将配置文件复制一份过来
cp /etc/xdg/termite/config ~/.config/termite/config
更改主题直接在 khamer/base16-termite 选一个替换掉 config
中的颜色配置即可
输入法 fcitx
sudo pacman -S fcitx-im fcitx-configtool sunpinyin
wiki 说 sunpinyin 在速度和精度之间有较好平衡,那就这个了,其实都差不多的
在 .zshrc
添加以下环境变量,如果用的 bash
则编辑 .bashrc
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
添加到 i3 的自启中 ~/.config/i3/config
exec --no-startup-id fcitx
fcitx
运行之后可以执行 fcitx-configtool
来配置输入法,一个英文,一个中文,便于用 shift
切换
背景图片 feh
sudo pacman -S feh
在 i3 的自启中添加,指向图片文件即可
exec --no-startup-id feh --bg-fill ~/Pictures/star_ring_city.png
透明度调节 picom
以前叫 compton
sudo pacman -S picom compton-conf
在 i3 的自启中添加
exec --no-startup-id picom -b
执行 compton-conf
可以调节透明度
rofi
通过快捷键呼出 rofi 可以快速启动程序
sudo pacman -S rofi
在 i3 配置文件中绑定快捷键
bindsym $mod+space exec --no-startup-id rofi -show drun -theme lb
其中的 -theme
参数可以指定 rofi 的主题,自带主题预览:Official Themes