
如何让ReGreet与Cage/Sway/Hyprland/Niri搭配5大Wayland合成器配置详解【免费下载链接】ReGreetClean and customizable greeter for greetd项目地址: https://gitcode.com/gh_mirrors/re/ReGreetReGreet 是一款基于 Rust 和 GTK4 的 greetd 登录界面greeter以简洁、美观、高度可定制著称被许多 Linux 玩家当作 Wayland 桌面环境的门面。不过它本身并不直接管理显示输出必须运行在 Cage、Sway、Hyprland、Niri 等Wayland 合成器之下才能显示登录界面。本文面向新手用最直白的方式讲清 ReGreet 与 5 大合成器的搭配方法你只需要照抄配置即可。什么是 ReGreet为什么需要 Wayland 合成器ReGreet 本质上是 greetd一个极简的登录守护进程的图形前端。它与 LightDM、GDM 这类全家桶不同只负责画出一个漂亮的登录界面其余脏活累活都交给 greetd 和合成器。角色负责什么greetd验证用户密码、启动会话ReGreet显示用户名输入框、会话列表、时钟、背景图Wayland 合成器渲染画面、处理键盘鼠标输入因为 ReGreet 是纯 GTK 应用必须有一个合成器替它撑场面。下面五种方案中Cage 最简单、Sway 最流行、Hyprland 最华丽、Niri 最新潮还有一个 Gamescope 作为游戏玩家的兜底。搭配前的准备工作安装 ReGreet在开始配置前请确保系统已安装以下组件greetd 与 AccountsServiceD-Bus 账户服务GTK 4.16 及以上版本一个 Wayland 合成器下文任选其一背景图解码库 Glycin、GStreamer想要动态壁纸/视频壁纸时需要Arch Linux 用户可以直接安装官方仓库的greetd-regreet包或通过 AUR 安装开发版。NixOS 用户只需在配置中加入programs.regreet.enable true;。手动编译也很简单在项目根目录执行cargo build --release然后把target/release/regreet复制到/usr/bin即可。如果希望日志和状态目录自动创建可参照 systemd-tmpfiles.conf 配置 tmpfiles。理解核心greetd 的默认会话配置所有合成器方案的入口都在同一个文件/etc/greetd/config.toml。它的结构非常简单[default_session] command 这里填合成器与 ReGreet 的组合命令 user greeter其中command是合成器启动 ReGreet 的完整命令user一般固定为greeter建议为 ReGreet 单独建一个低权限用户。下面五种方案只需把对应的command替换进去即可。一、Cage最轻量的搭配方案Cage 是一个为单应用设计的迷你合成器几乎零配置特别适合 kiosk 场景和追求简洁的用户。这是官方推荐的最简单写法[default_session] command dbus-run-session cage -s -mlast -d -- regreet user greeter三个参数的含义-s启用 VT 切换Cage 0.1.2防止把自己锁在系统外强烈建议保留-mlast只用最后连接的显示器因为 ReGreet 是单显示器应用-d关闭客户端装饰让登录窗口更干净dbus-run-session前缀是可选但推荐的很多用户反馈它能消除 ReGreet 启动延迟。二、Sway最流行的搭配方案Sway 是 i3 的 Wayland 继承者用户基数最大。它的思路是先用 Sway 启动一个极简环境再在其中运行 ReGreet退出登录界面时顺便关掉 Sway。第一步创建 Sway 专用配置例如/etc/greetd/sway-configexec regreet; swaymsg exit include /etc/sway/config.d/*第二步在/etc/greetd/config.toml中指向这份配置[default_session] command dbus-run-session sway --config /etc/greetd/sway-config user greeterinclude一行会继承系统 Sway 配置如键盘布局确保你登录界面的按键习惯和桌面保持一致。如果你发现 ReGreet 启动偏慢可以给 Sway 环境加上GTK_USE_PORTAL0、GDK_DEBUGno-portals两个环境变量来关闭门户。三、Hyprland动画最华丽的搭配方案Hyprland 以流畅动画和极高可定制性出名用它当登录界面背景同样很惊艳。新版 Hyprland 支持 Lua 配置创建一个/etc/greetd/hyprland.luahl.on(hyprland.start, function() hl.exec_cmd(regreet; hyprctl dispatch hl.dsp.exit()) end) hl.config({ misc { disable_hyprland_logo true, disable_splash_rendering true, disable_hyprland_guiutils_check true, }, })如果你的 Hyprland 版本不支持 Lua旧版则改用传统 Hyprlang 配置/etc/greetd/hyprland.confexec-once regreet; hyprctl dispatch exit misc { disable_hyprland_logo true disable_splash_rendering true disable_hyprland_guiutils_check true }然后在 greetd 配置中启用[default_session] command dbus-run-session start-hyprland -- -c /etc/greetd/hyprland.conf user greeter这里的disable_hyprland_logo等选项是为了隐藏 Hyprland 启动时的 logo 和欢迎语让登录界面保持纯净。四、Niri滚动窗口新秀的配置教程Niri 是近年爆火的滚动式 Wayland 合成器窗口像卷轴一样纵向排列用它的配置同样简洁。创建一个 KDL 格式的配置文件/etc/greetd/niri.kdlspawn-sh-at-startup regreet; niri msg action quit --skip-confirmation hotkey-overlay { skip-at-startup } cursor { xcursor-theme catppuccin-mocha-red-cursors }第一行表示启动时运行 ReGreet退出登录界面后自动关闭 Niricursor段可以顺便设置鼠标主题和大小。然后在 greetd 配置中引用[default_session] command dbus-run-session niri --config /etc/greetd/niri.kdl user greeter五、Gamescope游戏玩家的兜底方案严格来说 Gamescope 是一个微合成器专为游戏会话设计但它同样能承载 ReGreet适合已有 Gamescope 环境的用户[default_session] command dbus-run-session gamescope --backend drm --force-windows-fullscreen -- regreet user greeter--force-windows-fullscreen让 ReGreet 窗口强制全屏--backend drm让 Gamescope 直接接管显示设备。这个方案适合不想装完整桌面合成器的轻量环境。进阶用 regreet.toml 与 CSS 打造专属登录界面合成器只负责画布登录界面的颜值还得靠 ReGreet 自己。默认配置文件位于/etc/greetd/regreet.toml完整可选项参考 regreet.sample.toml。你可以自定义背景图片支持视频/动态壁纸与填充方式问候语、时钟格式与时区GTK 主题、暗色模式、图标/光标主题、字体开机、关机命令如改用loginctl免 root 权限想要更深度的定制还可以把/etc/greetd/regreet.css作为全局样式表参考源码中的 src/gui/templates.rs 了解界面结构配合regreet --demo演示模式调试样式所见即所得。常见问题ReGreet 启动慢怎么办如果你发现按回车后登录界面要等很久才出现通常是 GTK 门户portal导致的两个解决办法任选其一给 greetd 会话命令加前缀env GTK_USE_PORTAL0 GDK_DEBUGno-portals在 Hyprland 配置中追加env GTK_USE_PORTAL,0与env GDK_DEBUG,no-portals另外首次安装后记得创建/var/lib/regreet与/var/log/regreet目录并授予 greeter 用户写权限否则状态缓存与日志功能会失效。总结选哪个合成器最合适合成器特点适合人群Cage最轻量、零配置追求简单稳定的用户Sway生态成熟、配置易懂大多数桌面用户Hyprland动画炫酷、颜值最高外观党、折腾党Niri滚动布局、新鲜感强尝鲜玩家Gamescope游戏环境兼容掌机/游戏机形态设备五套配置的核心思路完全一致让合成器启动 ReGreet并在用户登录成功后自动退出。选一个顺眼的方案照抄你的 Linux 登录界面就能焕然一新。关于各路径常量和命令行参数还可以进一步查阅 src/constants.rs 与 src/main.rs了解编译时可配置的环境变量。【免费下载链接】ReGreetClean and customizable greeter for greetd项目地址: https://gitcode.com/gh_mirrors/re/ReGreet创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考