首页>教程>FreeBSD 教程> 使用 Wayland >FreeBSD 安装配置 Sway 合成器

FreeBSD 安装配置 Sway 合成器

Sway 合成器是一款平铺式合成器,可以用来替代 i3 窗口管理器,并且兼容 i3 的配置文件,并且在 i3 的基础上添加了不少新功能。

Sway 基于 wlroots 基础库开发。wlroots 是一个基础库,为构建 Wayland 合成器提供模块化的组件,合成器使用这些模块进行开发。

安装 Sway

要使用 Sway 作为窗口管理器,不只是要安装 Sway ,还需要安装其配套工具,如终端模拟器、锁屏工具等。

使用如下命令安装 Sway:

sudo pkg install sway swayidle swaylock-effects alacritty dmenu-wayland dmenu

注:alacritty 为默认终端模拟器,也可替换为 kitty 等兼容 Wayland 的终端。

配置文件初始化

Sway 的配置文件名为 config,安装 Sway 后提供了一个配置文件,可以在该文件的基础上修改配置。

1)创建配置目录

mkdir ~/.config/sway

2)使用示例文件创建配置文件:

cp /usr/local/etc/sway/config ~/.config/sway

核心配置项说明

默认的配置已能满足多数用户的需求,因此无需修改。可以根据如下的内容优化配置。

1)设置修饰键

input * xkb_rules evdev  # 加载 evdev(4) 事件的 xkb 规则
set $mod Mod4            # 设 Super 键(Windows 键)为修饰键(也可设为 Mod1 即 Alt 键)

2)设置默认终端

set $term alacritty      # 设 alacritty 为默认终端

3)锁屏设置

# 屏幕锁定配置
set $lock swaylock -f -c 000000  # 锁定屏幕,背景色为黑色(000000)

# 空闲管理配置
exec swayidle -w \
          timeout 300 'swaylock -f -c 000000' \          # 300 秒无操作锁定屏幕
          timeout 600 'swaymsg "output * dpms off"' \    # 600 秒无操作关闭屏幕
          resume 'swaymsg "output * dpms on"' \          # 恢复操作时开启屏幕
          before-sleep 'swaylock -f -c 000000'           # 睡眠前自动锁定

4)配置显示器输出

output "My Workstation" mode 1366x768@60Hz position 1366 0  # 指定显示器分辨率、刷新率和位置
output * bg ~/wallpapers/mywallpaper.png stretch            # 全局背景:拉伸壁纸填充屏幕

解释说明:

  • swaylock-effects 可以使用 --clock 选项,增强锁屏功能,在锁屏界面显示时钟。
  • 显示器输出的详细配置可参考 man 手册(man 5 sway-output)。

锁定屏幕

在配置文件的 “Key bindings” 段添加以下内容,设置锁屏快捷键为 Super+Shift+Return

# Lock the screen manually
bindsym $mod+Shift+Return exec $lock

启动 Sway

使用如下命令启动 Sway 合成器:

sway -c ~/.config/sway/config

代码解释说明:

  • 使用选项 -c 指定启动时使用的配置文件

注:Sway 支持在 Plasma、GNOME 等 X11 桌面中启动,以方便进行迁移测试。