我已安装一个程序,说:“火狐“,并且我想(出于某种原因)只有双击图标才能运行它,而不是通过输入“火狐“在终端中。
对于任何程序或可执行文件,有没有什么方法可以做到这一点?
附言:我想要任何用户从图标打开程序,但只有 root 或没有人可以从命令行打开它
第二个 P.S:我希望该程序中的一些选项可以在我从终端运行它时使用
编辑:为什么?
有些程序,有一个安全模式禁用所有附加组件后,这种情况可能从命令行发生,而不是从 GUI 发生。我想禁用命令行,只让所有用户(root 除外)从图标访问该程序。这也是Firefox 示例
答案1
回答您的具体问题的基本理论:
使用 chown 确保应用程序归 root:root 所有。
使用 chmod 将二进制文件的权限更改为 700,这样除了 root 之外的任何人都无法访问该应用程序。
编辑 .desktop 文件以确保 root(而不是 user、dbus 或任何其他用户)在点击时触发应用程序。让 root 执行此操作通常是不明智的,可能会产生意想不到的效果。
....并确保你的系统已完全备份,因为这对你的系统来说可能是一件非常可怕的事情。最好使用类似这样的工具rbash
来阻止非管理员用户访问大多数应用程序。
答案2
你可以创建一个.desktop
文件。基本上,它是这样的文件(继续你的火狐例子):
[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=Firefox
Exec=firefox
Terminal=false
Exec=...
用你的命令(包括参数)和你想要的任何内容替换Name=...
。如果需要,你也可以用 指定图标Icon=/path/to/icon/file.png
。如果你的程序需要以 root 身份运行,你可以在命令前加上pkexec
。
完成后,您可以放入此文件~/.local/share/applications/
,然后您会在 Gnome Shell 中找到您的应用程序。
阅读更多: