第 4.9 节 安装 bspwm

bspwm,据说更符合 UNIX 哲学。

安装 bspwm

通过 pkg 安装

# pkg install xorg bspwm sxhkd rofi kitty feh picom polybar dunst lightdm lightdm-gtk-greeter wqy-fonts xdg-user-dirs
# cd /usr/ports/x11/xorg/ && make install clean
# cd /usr/ports/x11-wm/bspwm/ && make install clean
# cd /usr/ports/x11/sxhkd/ && make install clean
# cd /usr/ports/x11/rofi/ && make install clean
# cd /usr/ports/x11/kitty/ && make install clean
# cd /usr/ports/graphics/feh/ && make install clean
# cd /usr/ports/x11-wm/picom/ && make install clean
# cd /usr/ports/x11/polybar/ && make install clean
# cd /usr/ports/sysutils/dunst/ && make install clean
# cd /usr/ports/x11-fonts/wqy/ && make install clean
# cd /usr/ports/x11/lightdm/ && make install clean
# cd /usr/ports/x11/lightdm-gtk-greeter/ && make install clean
# cd /usr/ports/devel/xdg-user-dirs/ && make install clean

解释:

  • bspwm, sxhkd: bspwm 组件

  • rofi: 程序启动器

  • kitty: 终端模拟器

  • feh: 桌面背景修改

  • picom: 窗口合成器,添加窗口透明,阴影,动效等

  • polybar: 面板

  • dunst: 通知管理器

提示

polybar 建议换成别的,因为 polybar 在 freebsd 上功能不全。建议换成 chinese/tintin++,可显示 systray 图标

配置工作

启用 dbus 服务

# sysrc dbus_enable="YES"
# service dbus start

创建配置文件

$ mkdir ~/.config
$ mkdir ~/.config/bspwm
$ mkdir ~/.config/sxhkd
$ cp /usr/local/share/examples/bspwm/bspwmrc ~/.config/bspwm
$ cp /usr/local/share/examples/bspwm/sxhkdrc ~/.config/sxhkd
$ chmod +x ~/.config/bspwm/bspwmrc

修改 ~/.config/sxhkd/sxhkdrc

super + Return
    kitty

super + @space
    rofi -show drun

设置 polybar 启动脚本和配置文件

$ mkdir ~/.config/polybar 
$ cp /usr/local/etc/polybar/config.ini ~/.config/polybar

创建 ~/.config/polybar/launch.sh

#!/bin/sh
killall -q polybar
polybar example 2>&1 | tee -a /tmp/polybar.log

并执行

$ chmod +x ~/.config/polybar/launch.sh

设置 picom, polybar, dunst 启动

$ echo "picom &" >> ~/.config/bspwm/bspwmrc
$ echo "\$HOME/.config/polybar/launch.sh" >> ~/.config/bspwm/bspwmrc
$ echo "dunst &" >> ~/.config/bspwm/bspwmrc

启动 bspwm

通过 startx

$ echo "exec bspwm" >> ~/.xinitrc
$ startx

通过 lightdm

创建 /usr/local/share/xsessions/bspwm.desktop

# mkdir /usr/local/share/xsessions
# ee /usr/local/share/xsessions/bspwm.desktop # 写入以下内容

[Desktop Entry]
Name=bspwm
Comment=Log in with bspwm
Exec=/usr/local/bin/bspwm
Type=Application

启动 lightdm 服务

# sysrc lightdm_enable="YES"
# service lightdm start

一些操作和设置

Windows + 空格:用 rofi 启动应用

Windows + 回车:启动终端(即 kitty)

更多快捷键可以参考 ~/.config/sxhkd/sxhkdrc

生成桌面文件夹(Downloads,Documents 等)

$ xdg-user-dirs-update

设置桌面背景:

$ feh --bg-center "$HOME/.local/share/wallpapers/wallpaper.jpg"

执行一次后自动设置:

~/.config/bspwm/bspwmrc 中的 polybar 启动脚本之前添加

$HOME/.fehbg &

展示图片

注:图片中的 Chrome 浏览器,Thunar 文件管理器均需要自己安装。

参考文献

最后更新于

FreeBSD 中文社区 2024