我主要是在寻找一种将应用程序固定到Unity启动栏并以root用户身份运行的方法。
当前,即使我使用sudo启动该应用程序,并在启动后将其固定,下一次它将以当前用户身份启动。
很遗憾,但是没有上下文菜单选项“以...运行”。
更新:我切换到gnome3,现在很高兴,我只缺少搜索。
sudo
并且已经对其进行了调整。问题是关于如何为我要作为root用户运行的应用程序创建通往Ubuntu Unity启动器的快捷方式。
我主要是在寻找一种将应用程序固定到Unity启动栏并以root用户身份运行的方法。
当前,即使我使用sudo启动该应用程序,并在启动后将其固定,下一次它将以当前用户身份启动。
很遗憾,但是没有上下文菜单选项“以...运行”。
更新:我切换到gnome3,现在很高兴,我只缺少搜索。
sudo
并且已经对其进行了调整。问题是关于如何为我要作为root用户运行的应用程序创建通往Ubuntu Unity启动器的快捷方式。
Answers:
如果您希望应用始终以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
命令,您必须安装sudo apt-get install gksu
在“系统”,“首选项”下的主菜单中,键入gksudo
启动器属性的“命令”字段,例如:
/usr/bin/gksudo /usr/bin/yourapplication
您的姓名字段可能会说:
sudo yourapplication
因此用户知道他们可能会看到密码弹出窗口以及原因...
我不确定Unity Launcher与主菜单。也许有帮助吗?
祝好运
sudo
不应该使用Straight 来运行图形应用程序,因为- root
毕竟,您正在使用gksudo
(这是一种好方法)。出于同样的原因,不建议sudo
在名称字段中使用您的方式,因为这样做(1)在经验丰富的用户中给您的印象是您的启动器制作不当,以及(2)在经验不足的用户中给人印象。可以直接使用sudo
来运行图形应用程序root
。
Unable to locate package gksudo
-Ubuntu 18.04.1 LTS
以下内容似乎可以做同样的事情,而无需私有属性:
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
Unable to locate package gksudo
-Ubuntu 18.04.1 LTS
作为这里答案中描述的繁琐需求的一种快速简单的替代方法,我已经习惯于执行以下操作...
输入 gksu nautilus
(sudo -i nautilus
也可以。)
结果窗口落在sudo伞下,因此您可以使用它来访问和启动具有sudo-root特权的文件,直到您关闭它为止。对于不需要永久解决方案的临时情况,这非常方便。例如,我通常使用它来将压缩文件提取到受保护的系统文件夹中。
sudo
与图形应用程序一起使用不是一个好主意。gksu
如果需要,请使用或sudo -i
。
我将这个回复发布到@ Chris在评论中提出的问题:
假设您要创建一个启动程序,它将以根目录打开“文件管理器(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)”。单击此按钮将询问您密码,并且在身份验证后将以root用户身份打开nautilus。
注意:运行“ 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/。不必完全以Root身份打开Nautilus,而是允许您在Nautilus中以Root身份打开所选目录。无论如何,我检查了一下,这两个选项是兼容的。如果您将Nautilus作为Root打开,然后使用第二个选项作为Root打开目录,它只是在不询问密码的情况下将其打开。