问题描述
主要是我正在寻找一种将应用程序固定到Unity启动栏的方式,并以root用户身份运行它。
目前,即使我使用sudo启动应用程序,并在启动后将其固定,它将在下次启动时作为当前用户。
伤心,但没有上下文菜单选项“运行为…”。
更新:我切换到gnome3,现在我很高兴,我只缺少搜索。
最佳解决思路
如果你想让应用程序始终以root身份运行
-
正常情况下将应用程序固定到启动器。
-
找到位于以下任一位置的应用程序.desktop文件:
-
/usr/share/applications/APPNAME.desktop
-
~/.local/share/applications/APPNAME.desktop
-
或其他地方,使用
locate .desktop|grep APPAME
-
-
用gedit打开:
gksudo gedit /usr/share/applications/APPNAME.desktop
-
然后改变线
Exec=APP_COMMAND
至
Exec=gksudo -k -u root APP_COMMAND
-
保存
如果您需要连接到其他服务器并使用您的私钥,该命令还将保持您的环境非常有用。
要将快速列表选项添加到’以root身份运行’
按照上面的步骤1,2和3进行
如果启动器当前没有任何其他快速列表选项,只需将其附加到文档的末尾即可
X-Ayatana-Desktop-Shortcuts=Runroot
[Runroot Shortcut Group]
Name=Run as root
Exec=gksudo -k -u root APP_COMMAND
TargetEnvironment=Unity
次佳解决思路
在系统,首选项下的主菜单中,在启动器属性的命令字段中键入gksudo
,例如:
/usr/bin/gksudo /usr/bin/yourapplication
你的姓名字段可能会说:
sudo yourapplication
所以用户知道他们可能会看到密码弹出窗口,为什么…
我不确定Unity Launcher vs Main Menu。也许这有帮助?
祝你好运
第三种解决思路
以下似乎做同样的事情,而不需要私人属性:
Actions=Runroot;Another
[Desktop Action Runroot]
Name=Run as root
Exec=gksudo -k -u root APP_COMMAND
[Desktop Action Another]
Name=Another action
Exec=whatever
第四种思路
作为这里答案中描述的繁琐要求的一个简单而快捷的替代方案,我养成了以下的习惯……
-
启动一个新的终端。
-
输入
gksu nautilus
(sudo -i nautilus
也可以)。
由此产生的窗口属于sudo保护伞,因此您可以使用它来访问和启动sudo-root权限的文件,直至其关闭。这适用于您不需要更持久的解决方案的暂时情况。例如,我经常使用它将压缩文件提取到受保护的系统文件夹中。