如何阻止 Linux 程序被截屏?

10
我需要防止用户截屏显示在我的程序中的数据。目前我想法是制作一个全屏程序,可能会阻止调用其他Linux快捷键或应用程序,并阻止打印屏幕键。这种方法正确吗?我该如何实现?
更新:我的用户不能运行虚拟机,也没有摄像头。他们还使用GNOME桌面环境。
更新:这些系统是我的。我只是给他们临时访问权限,因此系统或操作系统不会被篡改。他们无法插入任何USB设备,而且用户对Linux大多不了解。

2
如果他们用手机相机拍摄屏幕会怎么样? - Tom Studee
7
我真的不敢相信有人投票关闭这个问题!即使对于发布者来说没有很好的答案,它仍然是一个合法且适合在 Stack Overflow 上提出的编程问题。许多 Stack Overflow 用户因“机器人关闭”而感到疏远。 - selbie
1
这是一个荒谬的问题,如果按照所述的方式进行解释,它没有解决方案。如果唯一正确的答案(到目前为止有两个人给出!)是“不,那是不可能的”,那似乎是“不是一个真正的问题”的主要候选人。 - C. A. McCann
1
真的有这么难要求人们不发表缺少关键信息的格式错误的问题吗?事后编辑虽然可以,但多考虑一下未来会更好。 - C. A. McCann
2
我强烈怀疑,快速关闭投票的真正原因不是因为问题没有答案。很可能是因为许多Linux用户对其操作系统自由和不存在专有限制感到非常自豪,而这个问题 挑战了 这种想法。我很惊讶没有人提出Linux的自由允许IT管理员编译自己的发行版,禁用所有屏幕截图功能。 这不容易,但也不是不可能的。让我们在这里保持理性,并给一些难题一个机会。 - selbie
显示剩余12条评论
3个回答

5

我的建议是不使用GNOME或其他多任务窗口管理器,而是让您的应用程序成为相关X服务器的唯一客户端(可能与特殊的窗口管理器一起使用,将窗口设置为全屏,并在程序关闭时注销)。

设置您的X服务器以使其不接受任何其他连接和/或拒绝用户在计算机上启动任何其他程序(例如,禁止shell登录)。


1

这是不可能的。你无法从每个层面都阻止“截屏”。

例如,即使你以某种方式禁用了键绑定、阻止了gnome-screenshot实用程序等,用户仍然可以将帧缓冲设备文件的内容导入到文件中。


1
只有当framebuffer的权限被设置为可以执行此操作时,才能这样做,但未必如此。并非所有用户都是root用户,完全可以作为不同用户运行和使用X服务器和应用程序。 - Jules

-3

这是不可能的。用户可以编写自己的屏幕快照程序,并在一天结束时获得截图,即使您试图阻止他们。

这与自由软件和Linux背后的哲学相矛盾。用户应该自由地使用他们的程序而没有任何限制。你怎么能阻止用户从他们“拥有”的系统中截取屏幕截图呢?这没有意义。他们有权这样做。


7
自由软件的自由之一在于您可以自由使用它来创建一个不允许任何人进行任何操作的系统。GPL并未仅限制编写允许人们无限制地执行任何操作的应用程序。 - ptomato

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接