在 openEuler Linux 上安装 Sway
Sway 是一款基于 Wayland 的平铺式窗口管理器,兼容 i3 的配置语法,适合喜欢键盘驱动、高效工作流的用户。
openEuler 的软件生态和 Fedora、RHEL 并不完全一致,不能直接照搬其他发行版的安装命令。 因此推荐按“先源内安装,缺失则源码编译”的顺序来部署。
1. 安装前确认
Sway 是 Wayland 合成器,必须在图形环境下运行,openEuler 服务器版默认没有桌面,不能直接启动。
确认系统版本:
cat /etc/openEuler-release
uname -m
确认显卡:
lspci | grep -iE "vga|3d|display"
确认当前会话类型:
echo $XDG_SESSION_TYPE
echo $WAYLAND_DISPLAY
2. 方法一:通过 dnf 安装(优先尝试)
先刷新缓存:
sudo dnf makecache
尝试直接安装 Sway:
sudo dnf install -y sway
如果安装成功,可以查看版本:
sway --version
同时建议安装常用配套组件:
sudo dnf install -y \
swaybg \
swaylock \
swayidle \
foot \
wofi \
waybar \
wl-clipboard \
xorg-x11-server-Xwayland
各组件作用:
| 组件 | 作用 |
|---|---|
| sway | Wayland 平铺窗口管理器 |
| swaybg | 设置壁纸 |
| swaylock | 锁屏 |
| swayidle | 空闲管理 |
| foot | Wayland 终端模拟器 |
| wofi | 应用启动器 |
| waybar | 状态栏 |
| wl-clipboard | Wayland 剪贴板工具 |
| xorg-x11-server-Xwayland | 运行 X11 应用 |
如果 dnf 提示找不到 sway 或相关包,说明当前 openEuler 版本或仓库暂未提供,可以改用源码编译。
3. 方法二:源码编译安装
先安装编译依赖:
sudo dnf groupinstall -y "Development Tools"
sudo dnf install -y \
meson \
ninja-build \
pkg-config \
wayland-devel \
wayland-protocols-devel \
libxkbcommon-devel \
libinput-devel \
libdrm-devel \
pixman-devel \
pango-devel \
cairo-devel \
json-c-devel \
pcre2-devel \
libxcb-devel \
libX11-devel \
seatd-devel \
wlroots-devel
如果 wlroots-devel 找不到,可能需要先确认 openEuler 当前仓库是否提供,或改用更新版本的仓库。
克隆 Sway 源码:
git clone https://github.com/swaywm/sway.git
cd sway
git submodule update --init --recursive
编译安装:
meson setup build
ninja -C build
sudo ninja -C build install
安装后验证:
sway --version
如果编译失败,建议先去掉并行编译参数,根据报错信息补装对应 -devel 包。
4. 首次启动配置
首次使用前,建议复制默认配置:
mkdir -p ~/.config/sway
cp /etc/sway/config ~/.config/sway/config
如果系统默认配置不在 /etc/sway/config,可以在源码目录中查找:
find /usr/share/sway -name config 2>/dev/null
然后在用户配置文件中设置终端和启动器:
set $mod Mod4
set $term foot
set $menu wofi --show drun
常用默认快捷键:
Super + Return:打开终端Super + d:打开应用启动器Super + Shift + e:退出 SwaySuper + 数字:切换工作区
5. 通过显示管理器或 TTY 启动
如果系统安装了 GDM、SDDM 等显示管理器,通常可以在登录界面选择 Sway 会话。
也可以从 TTY 直接启动:
sway
如果显卡驱动尚未完全适配,可能需要临时使用:
sway --unsupported-gpu
但这只适合测试,不建议作为长期方案。
6. NVIDIA 显卡注意事项
Sway 对 NVIDIA 专有驱动的支持有限。
如果使用 NVIDIA 显卡,需要确认是否启用了 DRM modeset:
cat /sys/module/nvidia_drm/parameters/modeset
如果输出不是 Y,需要在 GRUB 内核参数中添加:
nvidia_drm.modeset=1
然后更新 GRUB 配置并重启。
即便如此,仍可能出现闪屏、无法启动或应用兼容问题,NVIDIA 环境下使用 Sway 需要做好调试准备。
7. 常见问题
| 问题 | 处理方式 |
|---|---|
dnf install sway 失败 |
当前源可能未提供,改用源码编译 |
| 启动后黑屏 | 检查显卡驱动和 --unsupported-gpu |
| 没有终端或启动器 | 安装 foot、wofi 并修改配置 |
| X11 应用无法运行 | 安装 xorg-x11-server-Xwayland |
| 状态栏不显示 | 安装 waybar 并在配置中启用 |
| 锁屏失败 | 安装 swaylock 并确认权限正常 |
小结
在 openEuler 上安装 Sway,优先尝试:
sudo dnf makecache
sudo dnf install -y sway swaybg swaylock swayidle foot wofi waybar wl-clipboard xorg-x11-server-Xwayland
如果源中没有,再使用源码编译:
git clone https://github.com/swaywm/sway.git
cd sway
git submodule update --init --recursive
meson setup build
ninja -C build
sudo ninja -C build install
Sway 适合喜欢键盘操作、平铺布局和 Wayland 原生环境的用户。相比 Hyprland,它更轻量、配置更接近 i3;但如果你需要更现代的动画效果和更活跃的视觉定制,Hyprland 会更有吸引力。
- 点赞
- 收藏
- 关注作者
评论(0)