是否可以创建一个 GUI 应用程序,用户可以与其交互,但不能切换到任何其他程序(终端、桌面等)。此类应用程序的示例是在公共信息亭上运行的程序,您希望用户能够使用您的应用程序,但不能以任何其他方式弄乱计算机。
如果这并非完全可能,那么用户切换应用程序会变得多“困难”,并对系统造成多大的潜在损害?
附言:如果需要的话,我可以在单独的用户帐户、chroot 等下运行该程序。
答案1
有一个信息亭模式为了node-webkit程序启动后全屏显示但对于 Linux,可以使用Alt-F4
系统级处理的组合键来绕过它。该库指出,否则该程序将被视为潜在病毒:
在 Linux 和 Windows 上,用户仍然可以通过按 Alt + F4 和 Control + Alt + Del 等键退出 node-webkit,目前 node-webkit 不会阻止这些键,因为这会使 node-webkit 表现得像病毒并被 AV 软件阻止。
答案2
您可以启动没有窗口管理器(或专门配置的轻量级窗口管理器)的 X 服务器,只运行您的应用程序。此示例将使用xterm
,将其替换为您的应用程序。
为此,创建文件~/.xinitrc
并添加如下内容:
exec xterm
现在通过 TTY 登录并输入以下命令:
startx
这应该启动一个仅xterm
运行的 X 服务器。
您还可以通过将以下内容添加到您的来禁用切换到 TTY xorg.conf
:
Section "ServerFlags"
Option "DontVTSwitch" "true"
EndSection
按照这样的思路进行游戏你就会到达你想要去的地方。
如果您需要窗口管理器,OpenBox 可能是一个不错的选择,因为它具有极高的可配置性(您可以删除所有标准键盘快捷键,例如ALT+F4等)
要使用 OpenBox,请使用 安装它sudo apt-get install openbox
并将其放入exec openbox-session
您的~/.xinitrc
,然后将您的应用程序添加到~/.config/openbox/autostart
。