条件:1 个超级用户,1 个信息亭用户。超级用户具有 root 访问权限。信息亭用户我们只想访问 2 个应用程序,但不能同时访问。为每个应用程序创建 2 个 gnome 桌面。
场景:自助服务终端用户使用选定的桌面登录,应用程序以全屏模式打开。自助服务终端用户关闭应用程序,脚本强制 X 进入睡眠状态,然后重新打开应用程序。这是自助服务终端模式。
期望效果:Kiosk 用户关闭应用程序,强制注销。然后超级用户可以访问,或者 Kiosk 用户在 kiosk 模式下为应用程序 #2 选择第二个 gnome 桌面。
可能的?
答案1
您可以通过将桌面文件放在 /usr/share/xsessions 中来配置 LightDM 会话。例如,创建文件 /usr/share/xsessions/app1.desktop:
[Desktop Entry]
Name=Application 1
Exec=/path/to/app1
同样创建文件 /usr/share/xsessions/app2.desktop:
[Desktop Entry]
Name=Application 2
Exec=/path/to/app2
这是您的两个申请环节。
我假设您的超级用户将使用普通的 Ubuntu 桌面会话。我认为您无法配置 LightDM 以将对此会话的访问限制为管理员用户,但您应该能够添加一个 X 会话脚本,如果信息亭用户尝试访问它,则该脚本将中止会话启动。尝试使用以下内容创建 /etc/X11/Xsession.d/00-check-user:
if [ "$LOGNAME" = "kiosk" -a "$DESKTOP_SESSION" = "ubuntu" ]; then
errormsg "user not allowed to access ubuntu session"
fi
您还需要从 /usr/share/xsessions 中删除不需要的会话,因为它们可能无法运行完整的 Xsession 脚本,因此可能会向信息亭用户提供不必要的访问权限。
希望这可以帮助。