让用户在Linux中的GUI程序

我有一个项目来创build一个程序,它可以防止用户逃离GUI程序。 该程序是专为学生参加考试。该程序包含一个网页浏览器页面。

我环顾四周,在不同的地方问我应该怎么做,而且我已经被推荐Qt 。 我现在有第二个想法…

我使用的是Ubuntu 9.04 64位。

您认为在GUI程序中监禁用户的最佳解决scheme是什么?

首先,看到这个答案 。

防止用户使用其他任何东西的最好方法是使用全屏模式,而不是启动窗口管理器。 所以,只需启动X,然后是您的应用程序,而不是别的

[编辑]你必须注意的一些事情:

  • 禁用切换到文本控制台(通常是CtrlAltF1 .. F10
  • 杀死X服务器( CtrlAltBackspace
  • 魔术键( AltSysRq -…)

如你所见,这可能会变得任意复杂。 因此,我建议关闭一些漏洞,让黑客把时间浪费在其他的漏洞上。 如果他们想把时间花在计算机上而不是在测试上,那没关系。

你想阻止什么?

我的猜测是,最主要的是要确保他们不要Google的答案。

作为一种完全不同的替代方法:将网络栈压缩到可以(仅)到达所需的服务器的地步。

这可以用一些(相对有效的)和简单的设置来完成:

  • 没有默认网关,只有考试服务器所在子网的网关。
  • 根本没有DNS服务器,只有一个固定的主机文件(或只包含考试服务器的考试DNS服务器)。

这些设置甚至可以通过调整DHCP服务器来获得。 这使得整个培训室可以轻松地对所有系统进行设置和重新启动。

你要做的第一件事就是禁用Ctrl-Alt-Backspace组合键 ,以防止烦人的用户关闭你的X服务器。

当谈到写什么的时候,我认为你的朋友对于Qt的理解是一个很好的想法,你可以把整个程序写成50行的东西。 如果您只关心“Home”,“Back”和“Forward”按钮,则可以制作一个简单的工具栏,并使用QWebView小部件来进行实际的网页浏览。 这将阻止用户去任何地方,因为他们没有地址栏,他们仍然可以进行测试。

如果你想使用WebKit以外的引擎,你可能会做更多的工作,WebKit应该在大多数网站上工作。

我认为最好的解决方案是监视器,无论是视频录制还是系统日志记录都是不可接受的(例如,进程列表快照)。

你有什么计划阻止人们携带材料? 或者在考试期间咨询他们的iPhone? 还是问邻居? 你不需要技术来解决政策问题。