如何阻止某些应用程序在某些帐户上打开(例如:阻止帐户 John 打开 Firefox 或 Gimp)。假设这是针对 GUI 而不是终端,并且只适用于特定用户,例如用户 X 可以打开 Gimp 但不能打开 Firefox,用户 Z 可以打开软件中心但不能打开 VirtualBox。
对于 Ubuntu 的新用户来说,有什么好的和简单的方法可以做到这一点。
如何阻止某些应用程序在某些帐户上打开(例如:阻止帐户 John 打开 Firefox 或 Gimp)。假设这是针对 GUI 而不是终端,并且只适用于特定用户,例如用户 X 可以打开 Gimp 但不能打开 Firefox,用户 Z 可以打开软件中心但不能打开 VirtualBox。
对于 Ubuntu 的新用户来说,有什么好的和简单的方法可以做到这一点。
A. 配置选项
如果该阻止旨在阻止经验不足的用户使用某些应用程序,则编辑(本地副本)应用程序的桌面文件(如参考资料中所述
[1]
)可能是最快和最简单的方法。可以做一些额外的事情来创建额外的障碍和/或防止用户太容易发现我们为阻止应用程序所做的事情(
[2]
和[3]
)。该设置不适合有经验的用户无人值守的情况。在普通用户的“家庭”情况下,在许多情况下这就足够了。
1.通过编辑(本地版本的).desktop 文件来阻止 gedit 的示例
将应用程序的桌面文件复制
/usr/share/applications
到~/.local/share/applications
:编辑文件:通过将其拖到打开的 gedit 窗口上,使用 gedit 打开它(虽然您仍然可以:))。
更换线
经过:
删除(可能的)快捷方式,以防止从其中一个快捷方式启动应用程序:
删除行(对于 gedit 示例):
以及以下部分:
从那时起(注销/登录后),如果用户尝试从 Dash 打开 gedit,或尝试打开链接到应用程序的文件,他或她将看到此消息:
从 Dash 隐藏应用程序(可选措施)
在我们进行上述更改后,
gedit.desktop
文件仍然打开,我们可以添加一行:通过添加这一行,
gedit
甚至不会出现在 Dash 中。撤消
要撤消,只需
.desktop
从中删除本地文件~/.local/share/applications
2.让它更难被发现
虽然在编辑
.desktop
文件后,应用程序不会再出现在 Dash 中,但 Dash搜索仍会显示我们新创建的gedit.desktop
文件,这可能会无意中提示如何逃脱应用程序块。为避免这种情况,我们应该
~/.local/share/applications
从 Dash 搜索中排除该目录并清除搜索历史记录。打开系统设置>“安全和隐私”>“文件和应用程序”(选项卡)。将目录添加
~/.local/share/applications
到列表中以从搜索中排除。3.(不)使用终端/命令行
重定向
gedit
命令(1)
编辑
.desktop
文件会阻止使用来自 Dash 的应用程序,但如果用户知道AltF2组合和运行应用程序的命令,他或她仍然能够启动应用程序,就像使用终端一样。一个很好且容易设置的额外措施是创建(如果它还不存在)目录~/bin
并在目录中创建一个小脚本:使其可执行并以应用程序命名;
gedit
在这种情况下。由于
~/bin
在 中PATH
,运行命令将调用脚本而不是“真实”gedit
应用程序。结果,You are not allowed to use this application
将出现相同的消息重定向
gedit
命令(2)
重定向应用程序命令的另一种方法(效果更有限,请参见注释)是向
.bashrc
文件添加别名:添加行(gedit 示例):
注意:这仅用作额外措施,因为它仅防止直接从终端调用应用程序。但是,双击(例如)
.txt
文件仍会打开应用程序。使终端的使用变得困难或根本不可能
为防止使用终端,您还可以对
gnome-terminal.desktop
- 文件执行与 中相同的技巧[1]
,和/或更改默认快捷键组合以运行终端(系统设置 >“键盘”>“快捷方式”>“启动器” )4. 自动创建(或撤消)
.desktop
文件编辑版本的小工具(如 1.)如果您使用参数
block
或unblock
(您必须使用任何一个运行它)运行下面的脚本,您将看到一个包含(全局)桌面文件的列表,代表您已安装的应用程序:选择一个,你的应用程序被阻止或解除阻止,这取决于你运行它的参数。
笔记
您可能必须注销/登录才能使其正常工作。
剧本
将脚本复制到一个空文件中,将其另存为
block_apps.py
并通过以下任一方式运行:或者
B. 脚本选项
也可以通过在后台运行脚本来阻止某些应用程序。如果运行“禁止的”应用程序之一,脚本将必须采取某些操作。
1. 使用禁用应用程序时操纵屏幕的脚本。
下面的脚本提供了一种灵活的方式来阻止用户定义的应用程序。它使用一个简单的命令运行,将禁止的应用程序作为参数,例如(假设您使脚本可执行):
像这样阻止应用程序的优点是它很灵活;即使在一个帐户中,也可以使用不同的设置,只需使用其他应用程序作为参数即可。
它能做什么
通过取消注释其中一行:
或者
脚本要么:
黑屏 (
action = "xrandr --output "+screen+" --brightness 0"
):或将其颠倒(
action = "xrandr --output "+screen+" --rotate inverted"
):(谁说Unity 不允许将启动器放在右侧?)
剧本
如何使用
block_apps.py
,使其可执行通过命令运行它:
重要
要终止脚本并恢复“正常”设置,请使用下面的
block_apps.py
脚本(使其在快捷键组合下可用):与脚本一样,将其复制到一个空文件中,将其另存为
kill_blockapps.py
,使其可执行并通过以下方式运行:您可能希望将其置于快捷键下:选择:系统设置 >“键盘”>“快捷方式”>“自定义快捷方式”。单击“+”并添加上述命令。