监听用户在linux中的GUI程序

时间:2009-10-27 18:17:22

标签: c++ linux qt

我有一个项目来创建一个程序,它阻止用户转义GUI程序。该计划专为学生考试而设计。该计划包含一个网页浏览器页面。

我环顾四周,并在不同的地方询问我应该怎么做,我被推荐Qt。我现在有了第二个想法...

我正在使用ubuntu 9.04 64位。

您认为GUI程序中监控用户的最佳解决方案是什么?

4 个答案:

答案 0 :(得分:7)

首先,请参阅this answer

阻止用户使用其他任何内容的最佳方法是使用full-screen mode而不是启动窗口管理器。所以,只需启动X然后启动您的应用程序即可。

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

  • 禁用切换到文本控制台(通常 Ctrl - Alt - F1 .. F10 )< / LI>
  • 杀死X服务器( Ctrl - Alt - Backspace
  • 魔术钥匙( Alt - SysRq -...)

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

答案 1 :(得分:4)

你想阻止什么?

我的猜测是,主要的是确保他们没有谷歌答案的限制。

作为一种完全不同的替代方法:将网络堆栈压缩到可以(几乎只)达到所需服务器的程度。

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

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

甚至可以通过调整DHCP服务器来实现这些设置。通过设置和重启所有系统,可以轻松“整理/取消”整个培训室。

答案 2 :(得分:2)

您要做的第一件事是disable the Ctrl-Alt-Backspace key combination,以防止讨厌的用户关闭您的X服务器。

当涉及到写入的内容时,我认为你的朋友对Qt的想法是好的,你可以把整个程序写成大约50行的东西。如果您关心的只是“Home”,“Back”和“Forward”按钮,您可以创建一个简单的工具栏,并使用QWebView小部件来进行实际的Web查看。这会阻止用户去任何地方,因为他们没有地址栏,他们仍然可以参加测试。

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

答案 3 :(得分:0)

我认为最好的解决方案是监管机构以及视频录制或系统日志记录,以获得不可接受的用途(例如,流程列表快照)。

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