如何从Unity Launcher以root身份启动应用程序?
主要是我正在寻找一种方法将应用程序固定到Unity启动栏,并以root身份运行它。
目前,即使我使用sudo启动应用程序,并在启动后将其固定,它将在下次作为当前用户启动。
很遗憾,但没有上下文菜单选项“run as …”。
更新 :我切换到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
在System,Preferences下的Main Menu中,在Launcher Properties的Command字段中输入gksudo
,例如:
/usr/bin/gksudo /usr/bin/yourapplication
您的姓名字段可能会说:
sudo yourapplication
所以用户知道他们可能会看到密码弹出窗口以及为什么……
我不确定Unity Launcher与主菜单。 也许这有帮助吗?
祝好运
以下似乎做同样的事情,而不需要私有属性:
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权限的文件,直到它关闭为止。 这对于您不需要更永久解决方案的短暂情况非常有用。 例如,我经常使用它将压缩文件提取到受保护的系统文件夹中。
我将这个问题反复发布到@ Chris在评论中提出的问题:
假设您要创建一个将以root身份打开“文件管理器(nautilus)”的启动器。 然后你可以这样做:
打开终端。 类型:
sudo -H gedit /usr/share/applications/nautilus_root.desktop
点击进入。 询问后,输入您的登录密码并按Enter键。 这将打开gedit(文本编辑器)。 现在,粘贴以下内容:
[DesktopEntry] Encoding=UTF-8 Name=Nautilus(Root) Comment=FileManager Exec=gksu nautilus Icon=file-manager Categories=System; Type=Application Terminal=0
现在,只需保存并退出。 你完成了。 现在,如果你在破折号上搜索,那么你会发现一个新的启动器“Nautilus(Root)”。 单击此按钮将询问您的密码,经过身份validation后,nautilus将以root身份打开。
注意:运行“Nautilus(Root)”时要小心。 在此模式下,您可以删除/
几乎所有内容并打破系统。
这应该是对丹尼尔解决方案的评论。 即使在Ubuntu 15.04中,它也适用于我。 由于额外的参数,我不得不将命令放在引号Exec=gksu "nautilus --new-window"
。 另外,不知何故,我不知道为什么,我必须直接编辑启动器以保持原始菜单(与新选项一起)。 如果您拖动自己的启动器,它将被注册,但您将没有相同的菜单。
在Ubuntu 15.04中,nautilus的启动器是usr/share/applications/org.gnome.Nautilus.desktop
。 您必须使用命令行来查看真实文件名。
进一步的研究使我得到了我认为更好的选择: http : //ubuntuhandbook.org/index.php/2014/04/ubuntu-14-04-add-open-as-rootadministrator-to-context-menu/ 。 而不是完全打开Nautilus作为Root,这允许您在Nautilus中打开所选目录作为Root。 无论如何,我检查过,这两个选项是兼容的。 如果以Root身份打开Nautilus,然后使用第二个选项以Root身份打开目录,则只需打开它而不询问密码。