我想制作一个 debian 系统,你只能在启动时打开一个 GUI 程序,没有其他图形界面,没有最小化,或者除了该程序之外的任何 X,如果可能的话,有没有办法在 debian 上做到这一点,或者任何其他自定义发行版?我只想启动打开该程序并允许用户仅查看和使用该程序。
答案1
我已经在 Ubuntu(基于 Debian)上完成了此操作,但我认为该技术也适用于其他发行版。我在这里只总结这些步骤并附上一些说明,请参阅“使用裸窗口管理器运行 Linux” 对于脚本。
通过在 处创建文件来添加自定义会话
/usr/share/xsessions/metacity-session.desktop
。该文件告诉登录管理器有关您的会话的信息。创建(1)中添加的session要执行的文件
/usr/local/bin/metacity-session
创建用户特定的配置文件
~/.metacity-session
。该文件将由(2)中添加的文件执行。内容应该是您要运行的程序,后跟一个&符号,例如firefox &
(可选)使用户自动登录并将自定义会话设为用户的默认会话。
这里我使用 Metacity 作为窗口管理器,因为它简单,如果你愿意,你可以使用 Compiz。
有一些工具可以锁定系统。搜索会产生诸如萨巴雍和盘管。我没有使用过其中任何一个来给出推荐。
还有专门针对信息亭模式的发行版,最有前途的似乎是Fedora Kiosk 模式,尽管它不是基于 Debian 的。
答案2
我知道这有点老了,但我写了一个简单的方法,可以在 PC 和 Raspberry PI 上运行:
创建 Debian Chromium Kiosk(PC 或 Raspberry PI)
下载并安装 debian
- PC x64 或 i386 :从 debian.org 下载“标准”iso
- raspberry pi 2/3 :从 raspberryip.org 下载“raspbian lite”
- 使用Win32DiskImager将img写入SD卡
安装后使用 apt 安装软件包
apt install --no-install-recommends xorg openbox lightdm chromium pulseaudio
- 树莓派上的 chromium 包是 chromium-browser
- 在树莓派上安装软件包很慢,获取快速 SD 卡(10 级或更好)
配置 lightdm 自动登录
- 编辑
/etc/lightdm/lightdm.conf
转到[SeatDefaults]
部分,取消注释autologin-user
[SeatDefaults] autologin-user={USER}
{USER}
在 PC 版 Debian 安装程序中定义{USER}
'pi' 代表树莓派
- 编辑
配置 openbox 自动启动 chromium
- 编辑
/etc/xdg/openbox/autostart
或创建~/.config/openbox/autostart
并添加这些行:xset -dpms xset s off chromium --kiosk http://google.com
- 将 google.com 更改为您需要的任何内容
- xset 命令禁用屏幕保护程序
- 在树莓派上 chromium 是 chromium-browser
- 编辑
自动连接到 Wifi
edit /etc/network/interfaces
和写:auto wlan0 iface wlan0 inet dhcp wpa-ssid {ssid} wpa-psk {password}
- 将
{ssid}
和替换{password}
为您各自的 WiFi SSID 和密码
答案3
查看我的信息亭安装程序。创建很久以前,但仍然可以在最新的 Debian 中运行。
它将创建一个名为 的普通用户kiosk
,安装软件(检查脚本)并设置配置(它将备份现有配置),以便在重新启动时 kiosk 用户将自动登录并使用一个 url 在 kiosk 模式下运行 chromium。它还会隐藏鼠标。
当用户插入键盘并通过键盘退出 chromium 时,它会重新启动,因为它是循环运行的。
虽然它将作为普通用户运行(我建议你不要留下键盘和鼠标),但有可能会插入迷你键盘,打开终端并打开一些讨厌的东西。安全是你的事;-)