我已经设置了一个信息亭系统,它使用xorg
、openbox
和。它通过如下方式chromium-browser
启动:systemd
#/etc/systemd/system/kiosk.sh
[Unit]
After=systemd-user-sessions.service
[Service]
User=kiosk
ExecStart=/usr/bin/startx
Restart=always
[Install]
WantedBy=multi-user.target
和/home/kiosk/.xsession
#!/bin/sh
xset -dpms
xset s off
openbox-session &
start-pulseaudio-x11
while true; do
chromium-browser --kiosk --no-first-run 'http://thepcspy.com'
done
一切运行正常,浏览器在启动时全屏启动,就像我喜欢的那样。但现在客户端要求配置无线网络。我想要做的是启动一个网络管理器窗口。
如何从命令行在现有 openbox 会话中的附加窗口中启动网络管理器。
基本上,我将在本地主机上设置一个受密码保护的小型 nodejs 服务器,它将运行一个 shell 脚本。
所以现在我有一个很小的服务器,如果执行这个:
shell.exec('chromium-browser');
如果服务器是从信息亭用户启动的,则会出现此错误:
Trace/breakpoint trap
如果这个是别人执行的:
(chromium-browser:6532): Gtk-WARNING **: 10:22:24.837: cannot open display: :0
exec: No protocol specified
答案1
由于这是一个自助服务终端设置,我改变了触发方式wicd
。我添加了一条 udev 规则,每当插入某个 USB 盘时,该规则都会触发一个脚本。从那里,我将 unix 时间戳写入特定文件。此外,我创建了第二个 bash 脚本,它使用inotify 工具。该.xsession
文件内已执行。