Ubuntu 开机自启 Kiosk 模式浏览器全屏展示网页配置指南
本文档介绍如何通过 autostart 桌面条目,在 Linux 系统登录后自动以 Kiosk(自助服务终端) 模式启动浏览器,并全屏显示指定网页。
一、单用户配置(当前用户生效)
- 创建父级目录(若不存在)并编辑启动器文件:
bash
mkdir -p /home/teamhd/.config/autostart
nano /home/teamhd/.config/autostart/my-kiosk.desktop
- 将以下内容粘贴到文件中(请将
"http://你的网址"替换为实际地址):
ini
[Desktop Entry]
Type=Application
Name=My Kiosk
Exec=google-chrome-stable --kiosk --noerrdialogs --start-fullscreen "http://192.168.20.60:5173"
X-GNOME-Autostart-enabled=true
- 保存并退出:
- 按
Ctrl + X - 按
Y确认保存 - 按
Enter返回终端
- 按
二、全用户配置(所有登录用户生效)
若希望任何用户登录后都自动启动,使用系统级目录(需 sudo):
bash
sudo nano /etc/xdg/autostart/my-kiosk.desktop
粘贴相同内容(同上),保存退出。
三、生效与测试
重启系统验证配置:
bash
sudo reboot
重启后应自动进入全屏 Kiosk 模式。
四、工作原理:为什么 .desktop 文件能控制开机自启?
这个机制基于 Linux 桌面环境遵循的 XDG 自动启动规范 (XDG Autostart Specification),并非 .desktop 文件本身有特殊能力,而是由存放位置 和会话管理器共同决定的。
4.1 文件身份 ------ 它是一个"应用程序启动器"
.desktop 文件是 Linux 下的桌面入口文件(类似于 Windows 的 .lnk 快捷方式或 macOS 的 .app 捆绑包)。
Type=Application表明它是一个应用。Exec=定义了具体执行的命令(即启动浏览器的完整指令)。Name仅为显示名称,不影响启动行为。
4.2 特殊目录 ------ 系统约定的"开机自启文件夹"
桌面环境(如 GNOME、KDE、XFCE 等)会监控以下固定目录:
| 目录 | 作用范围 |
|---|---|
~/.config/autostart/ |
仅对当前登录用户生效 |
/etc/xdg/autostart/ |
对所有系统用户生效 |
只要用户成功登录,桌面会话管理器就会自动扫描 这两个目录,并尝试运行其中所有 .desktop 文件。
4.3 触发时机 ------ 登录会话初始化的"自启阶段"
完整的执行流程如下:
- 用户输入密码(或自动登录)。
- 显示管理器(如 GDM/LightDM)启动桌面会话(GNOME/KDE/XFCE)。
- 会话管理器(如
gnome-session)在加载壁纸、面板等核心组件的同时,进入 Autostart Phase(自启阶段)。 - 它递归读取上述两个目录下的
.desktop文件。 - 检查
X-GNOME-Autostart-enabled=true(虽然该键源于 GNOME,但主流环境均将其视为"启用"标志)。 - 条件满足后,会话管理器调用系统 Shell 执行
Exec=后的命令,浏览器随即以 Kiosk 模式启动。
4.4 与 Windows 自启的区别
- Windows :开机自启通常依赖注册表或
Startup文件夹,由系统内核在早期加载。 - Linux autostart :依赖于用户登录之后、图形界面(X11/Wayland)已就绪 时触发。这也是为什么有时需要用
sleep延迟启动(如虚拟键盘),以确保显示输出完全初始化。
4.5 如何临时禁止某个自启项?
无需删除文件,只需在 .desktop 文件中添加一行:
ini
Hidden=true
桌面环境扫描时会忽略该项。恢复启动时改为 Hidden=false 或直接删除该行即可。
五、浏览器命令与关键参数说明
5.1 各浏览器的启动命令
| 浏览器 | 常见命令 |
|---|---|
| Chrome | google-chrome-stable |
| Chromium | chromium-browser 或 chromium |
| Firefox | firefox |
替换
Exec=中的命令即可切换浏览器。
5.2 常用启动参数
| 参数 | 作用 |
|---|---|
--kiosk |
核心参数 。启动真正的全屏无边框模式,隐藏地址栏、工具栏等所有 UI,用户无法通过常规方式退出(退出需按 Ctrl+W 关标签或 Ctrl+Q 退出浏览器)。 |
--start-fullscreen |
模拟 F11 全屏,通常与 --kiosk 配合使用,增强全屏效果。 |
--noerrdialogs |
禁止弹出任何错误对话框,避免干扰。 |
--disable-infobars |
禁用浏览器顶部的信息栏提示。 |
--disable-session-crashed-bubble |
禁用页面崩溃后的恢复提示气泡。 |
5.3 典型命令示例
Chrome:
bash
google-chrome-stable --kiosk --noerrdialogs --start-fullscreen "https://example.com"
Chromium:
bash
chromium-browser --kiosk --noerrdialogs --start-fullscreen "https://example.com"
Firefox(同样支持 --kiosk):
bash
firefox "https://example.com" --kiosk
六、扩展:同时启动屏幕键盘(Onboard)
若触屏设备需要虚拟键盘,可在启动浏览器前先运行 onboard,示例:
bash
Exec=bash -c "onboard & sleep 2 && chromium --kiosk --noerrdialogs --start-fullscreen 'http://192.168.1.1'"
该命令会后台启动
onboard,等待 2 秒后再启动浏览器,确保键盘先行加载。
七、故障排查提示
- 若未自动启动,检查
.desktop文件权限(应至少为644)。 - 确认浏览器命令路径是否正确(可用
which google-chrome-stable等查看)。 - 检查系统日志:
journalctl -xe | grep autostart或查看~/.xsession-errors。 - 若使用 Wayland,某些参数可能需调整为
--ozone-platform-hint=auto等,视具体环境而定。