| Crates.io | pageos-greet |
| lib.rs | pageos-greet |
| version | 1.3.4 |
| created_at | 2025-07-07 16:41:55.042266+00 |
| updated_at | 2025-08-17 09:26:30.760074+00 |
| description | Rust 语言编写的登录界面服务器。包含一个最小网页服务器和内置的登录页面。 |
| homepage | https://github.com/swaybien/pageos-greet |
| repository | https://github.com/swaybien/pageos-greet |
| max_upload_size | |
| id | 1741548 |
| size | 132,387 |
简体中文 | English
Rust 语言编写的登录界面服务器。包含一个最小网页服务器和内置的登录页面。
本项目是 pageos 项目的一个子项目。
核心思想:
本项目依赖 greetd, 根据您的需求可能还需搭配其它桌面环境(如 cage)和浏览器(如 Firefox)。
以下是除帮助参数外可用参数:
--port:监听端口,默认为 12801;--page:传入自定义登录界面 HTML 文件路径(建议存放在 /usr/local/lib/pageos-greet/ 下),未指定时默认使用内嵌在 src/server.rs 中的 HTML;--launch-command:启动 pageos-greet 时运行的命令,一般用来启动 kiosk 浏览器界面以显示登录页面,在 pageos-greet 退出一同关闭;--session-command:用户登录成功后执行的命令,默认为 $SHELL 的值或 /usr/bin/bash;案例:
pageos-greet \
--port 12801 \
--page /path/to/login.html \
--launch-command "cage -s -- firefox --kiosk --no-remote http://127.0.0.1:12801" \
--session-command "pageos-core -p 12800 --command \"cage -s -- firefox --kiosk --no-remote http://127.0.0.1:12800\""
当配置 /etc/greetd/greetd.toml 时,添加了设置临时 Home 的命令以防止 firefox 无法正常启动。
[default_session]
command = "bash -c 'mkdir -p /tmp/pageos-greet; export HOME=/tmp/pageos-greet; pageos-greet --launch-command \"cage -s -- firefox --kiosk --no-remote http://127.0.0.1:12801\" --session-command \"pageos-core -p 12800 --command \\"cage -s -- firefox --kiosk --no-remote http://127.0.0.1:12800\\"\"'"
详见 CONTRIBUTING.md。
不是哥们,那我要怎么适配我的页面或 Scratch 以使用 pageos-greet 这个登录管理器?
是!哥们!您只需要做到以下两点:
模式判断:判断当前是否处于登录状态,可使用 PageOS 环境扩展;
在页面初始化最开始检查域名和端口号,如果匹配则初始化进入登录页面。 假如您的操作系统规定登录页面在 127.0.0.1:12801,则判断条件为:
if (
(window.location.hostname === "127.0.0.1" ||
window.location.hostname === "localhost") &&
window.location.port === "12801"
) {
// 初始化登录页面
}
接口适配:保证您的页面或项目中包含所有的显示(输出)和输入控件并适配了登录逻辑和消息格式; 可参考: