如何在不使用终端的情况下以 root 用户身份运行程序

如何在不使用终端的情况下以 root 用户身份运行程序

我想以 root 用户身份运行程序而不使用终端命令行,可以这样做吗?如果可以,请告诉我。谢谢。

答案1

如果您想在不使用终端的情况下运行程序,我可以推断您指的是 GUI 程序。并且所有这些 GUI 应用程序中的每一个通常都有一个位于/usr/share/applications/或位于您的用户目录中的.desktop 文件~/.local/share/applications。因此,要以 root 身份启动程序,您必须编辑或最好复制其关联的 .desktop 文件。

让我们举个例子编辑,Ubuntu 中的默认 GUI 编辑器。其 .desktop 文件为/usr/share/applications/gedit.desktop,内容如下:

[Desktop Entry]
Name=gedit
GenericName=Text Editor
Comment=Edit text files
Exec=gedit %U
Terminal=false
Type=Application
StartupNotify=true
MimeType=text/plain;
Icon=accessories-text-editor
Categories=GNOME;GTK;Utility;TextEditor;
X-GNOME-DocPath=gedit/gedit.xml
X-GNOME-FullName=Text Editor
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=gedit
X-GNOME-Bugzilla-Component=general
X-GNOME-Bugzilla-Version=3.10.4
X-GNOME-Bugzilla-ExtraInfoScript=/usr/share/gedit/gedit-bugreport
Actions=Window;Document;
Keywords=Text;Editor;Plaintext;Write;
X-Ubuntu-Gettext-Domain=gedit

[Desktop Action Window]
Name=Open a New Window
Exec=gedit --new-window
OnlyShowIn=Unity;

[Desktop Action Document]
Name=Open a New Document
Exec=gedit --new-document
OnlyShowIn=Unity;

现在创建该文件的副本如下:

sudo cp /usr/share/applications/gedit.desktop /usr/share/applications/root_gedit.desktop

并做以下更改:

[Desktop Entry]
Name=gedit as root
GenericName=Text Editor as root
Comment=Edit text files
Exec=gksudo gedit %U
Terminal=false
Type=Application
StartupNotify=true
MimeType=text/plain;
Icon=accessories-text-editor
Categories=GNOME;GTK;Utility;TextEditor;
X-GNOME-DocPath=gedit/gedit.xml
X-GNOME-FullName=Text Editor
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=gedit
X-GNOME-Bugzilla-Component=general
X-GNOME-Bugzilla-Version=3.10.4
X-GNOME-Bugzilla-ExtraInfoScript=/usr/share/gedit/gedit-bugreport
Actions=Window;Document;
Keywords=Text;Editor;Plaintext;Write;
X-Ubuntu-Gettext-Domain=gedit

[Desktop Action Window]
Name=Open a New Window
Exec=gksudo gedit --new-window
OnlyShowIn=Unity;

[Desktop Action Document]
Name=Open a New Document
Exec=gksudo gedit --new-document
OnlyShowIn=Unity;

gedit此后,当您在 Dash 中搜索时,您将看到两个 gedit 实例:一个名为文本编辑器和一个以 root 身份编辑文本你应该打开那个名为以 root 身份编辑文本如果您想以 root 身份运行 gedit。

笔记: gksudo必须安装才能使用它。如果你还没有安装,你可以从终端使用以下命令安装它:

sudo apt-get install gksudo

答案2

有些发行版(例如 Kali Linux)会自动以 root 身份运行所有程序,但这些发行版通常旨在作为实时系统运行,因为不可能像在硬安装中那样破坏实时系统。除了所有警告之外,还有一个这里是关于 root&ubuntu 的有趣页面,还有另一个适用于所有 Ubuntu 版本

您可以做一些事情,例如启用 root 帐户并登录,这将自动运行所有 root 权限。不推荐这样做。我认为 gksudo 可能是您最好的选择,

sudo apt-get install gksudo

...但是请问一下,你为什么要绕过终端?你能告诉我你到底想做什么吗?我建议,如果你需要定期以 root 身份运行程序,你可以通过 USB/CD 进行操作。这样,如果出现任何问题,您就不必担心会破坏您的系统。如果您需要帮助制作实时光盘,请告诉我。

相关内容