ReGreet配置完全指南:背景、时钟、主题与字体终极自定义清单
ReGreet配置完全指南:背景、时钟、主题与字体终极自定义清单
【免费下载链接】ReGreetClean and customizable greeter for greetd项目地址: https://gitcode.com/gh_mirrors/re/ReGreet
ReGreet 是一款基于 GTK、使用 Rust 编写的 greetd 登录界面(greeter),以简洁和高度可定制著称。无论你是想更换登录界面的背景图片、让时钟显示更符合习惯,还是彻底换一套主题与字体,这份完整的 ReGreet 配置指南都能帮到你。本文按背景、时钟、主题、字体四大板块整理全部配置项,并附可直接照抄的示例,让你一次性把登录界面打造成想要的样子。
ReGreet 是什么?先认识这个 greetd 登录界面
ReGreet 是 greetd 生态中最受欢迎的登录界面之一:它基于 GTK 4 与 Relm4 框架,通过 D-Bus 与 AccountsService 交互,能在 Wayland 合成器(如 Sway、Hyprland、Cage)下运行。它支持用户与桌面会话的下拉选择、记住上次登录的用户与会话、自定义环境变量,甚至可以通过自定义 CSS 做更深度的美化。
它的所有外观与行为都集中在一个 TOML 配置文件里,改起来非常直观,这也是它比许多写死样式的 greeter 更受欢迎的原因。
快速上手:ReGreet 配置文件放在哪里?
默认情况下,ReGreet 会读取 greetd 配置目录下的regreet.toml,完整路径通常是:
- 配置文件:
/etc/greetd/regreet.toml - 自定义样式文件:
/etc/greetd/regreet.css
如果不想动系统目录,也可以用命令行参数指定任意位置:
regreet --config /home/you/regreet.toml regreet --style /home/you/regreet.css项目自带一份标注了全部选项及示例值的参考文件regreet.sample.toml,配置前建议先对照它检查格式;所有配置项的实际解析逻辑可以在源码src/config.rs中查看。
如何设置 ReGreet 背景图片与适配方式
背景是登录界面的门面,ReGreet 的配置位于[background]小节,一共只有两个关键项:
[background] path = "/usr/share/backgrounds/greeter.jpg" fit = "Cover"path:背景图片或视频的绝对路径,支持格式取决于系统安装的 GStreamer/Glycin 插件。fit:图片与屏幕比例不一致时的适配方式,共有 4 种:Fill:拉伸填满整个屏幕(可能变形)Contain:完整显示,留白边Cover:裁剪后铺满,最常用ScaleDown:仅等比缩小,不放大
想让背景不变形又铺满屏幕,首选Cover;想完整欣赏整张图,则用Contain。
ReGreet 时钟格式与刷新频率设置方法
登录界面上的时钟由[widget.clock]小节控制,是 ReGreet 最具特色的可定制点之一,对应源码实现位于src/gui/widget/clock.rs。常用配置如下:
[widget.clock] format = "%a %H:%M" resolution = "500ms" timezone = "Asia/Shanghai" label_width = 150 locale = "zh_CN"format:时间显示格式,使用 strftime 语法。例如%Y-%m-%d %H:%M:%S显示“2026-08-19 07:40:48”,%a显示星期缩写,%p显示上午/下午。resolution:刷新间隔,默认500ms,对格式不含秒的场景足够平滑。timezone:时区(IANA 名称),不填则跟随系统时区;想同时显示多个时区,可以再加一个时钟。locale:语言与区域格式,影响星期、月份和 AM/PM 的显示语言。label_width:标签最小宽度,保持文本变化时布局不跳动,可按字体大小微调。
如何切换 ReGreet 主题、深色模式与图标光标
主题相关设置全部集中在[GTK]小节,一处配置,全局生效:
[GTK] theme_name = "Adwaita" application_prefer_dark_theme = true icon_theme_name = "Papirus" cursor_theme_name = "catppuccin-mocha-red-cursors" cursor_blink = falsetheme_name:GTK 主题名称,填入已安装到系统的主题名即可。application_prefer_dark_theme:是否优先使用深色模式,设为true后界面立即变暗,和系统深色主题搭配效果最佳。icon_theme_name/cursor_theme_name:图标主题与光标主题,光标主题同时还会设置对应的环境变量。cursor_blink:控制输入框光标是否闪烁。
换主题后如果显示异常,记得确认对应主题已安装到/usr/share/themes或~/.themes,并检查名称拼写是否与主题目录完全一致。
ReGreet 字体设置最简单方法
字体的设置同样在[GTK]小节内,只需一行:
[GTK] font_name = "Cantarell 16"font_name由“字体家族名 + 空格 + 字号”组成。系统默认无中文字体时,可以指定为中文字体,例如"Noto Sans CJK SC 16",避免登录界面中文显示为方块。想要更精细的字体样式(如字重、字距),可以配合自定义 CSS 实现,ReGreet 的界面结构可参考源码src/gui/templates.rs。
锦上添花:问候语、环境变量与自定义 CSS
除了四大板块,还有几个实用的进阶配置:
[appearance] greeting_msg = "欢迎回来!" [env] MY_VARIABLE = "value" skip_selection = true [commands] reboot = ["loginctl", "reboot"] poweroff = ["loginctl", "poweroff"][appearance]的greeting_msg:登录框上方的问候语,默认是 “Welcome back!”。[env]:登录会话启动时注入的环境变量。skip_selection:设为true后跳过用户与会话选择,直接使用上次登录的用户和会话,加快开机流程。[commands]:自定义重启与关机命令,适合以非 root 用户运行 greeter 的场景。
如果你的 Linux 发行版不支持reboot/poweroff直接执行,务必在这里换成loginctl等免 root 的命令。
安装与启动 ReGreet 的完整步骤
安装方式因发行版而异,以下是三种最常见的选择:
- Arch Linux:官方仓库直接安装
pacman -S greetd-regreet,或用 AUR 助手安装paru -S greetd-regreet-git。 - NixOS:在配置中加入一行
programs.regreet.enable = true;即可。 - 手动编译:克隆仓库并编译,仓库地址为
https://gitcode.com/gh_mirrors/re/ReGreet,随后执行:
cargo build --release安装完成后,需要把 ReGreet 设置为 greetd 的默认会话,例如配合 Cage 时在/etc/greetd/config.toml中写入:
[default_session] command = "dbus-run-session cage -s -mlast -d -- regreet" user = "greeter"-s允许切换 VT(防止锁死)、-mlast让 Cage 使用最后连接的显示器、-d关闭客户端装饰。Sway、Hyprland、Niri 的配置方式在项目 README 中都有对应示例。
常见问题与排错技巧
- 启动卡顿:部分系统上 GTK 应用会因 portal 服务延迟 20 秒才启动,可在会话命令前加
env GTK_USE_PORTAL=0 GDK_DEBUG=no-portals,或在 Hyprland 配置中写入对应环境变量。 - 想调试样式:用
regreet --demo进入演示模式,无需 greetd 即可预览界面,配合 GTK Inspector 能实时查看 CSS 层级,改样式前强烈建议先在这里试。 - 查看运行日志:日志默认写入
/var/log/regreet/log,可用regreet --verbose同时输出到终端。
结语
ReGreet 的强大之处在于:所有外观细节都通过一个 TOML 文件暴露给用户,背景、时钟、主题、字体四大板块各司其职,配合自定义 CSS 甚至可以做到与桌面环境完全一致的视觉风格。按照本文的顺序逐项调整,配合演示模式反复预览,你也能在十分钟内拥有一个干净、美观、完全属于自己的 Linux 登录界面。
【免费下载链接】ReGreetClean and customizable greeter for greetd项目地址: https://gitcode.com/gh_mirrors/re/ReGreet
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
