由于平台上的安全性,有时需要在Linux上打开具有root权限的程序,事实上,常规用户无法进行某些操作(例如管理Root文件夹中的文件,格式化硬盘驱动器或编辑系统文件等)。有几种方法可以在Linux上使用Root访问权限打开程序,在本文中,我们将向你展示如何操作,但是,请记住:要使用Root帐户启动程序,需要先启用它,如果你使用的Linux操作系统已禁用root帐户,请按照以下说明了解如何启用它。
启用Root帐户
通过按键盘上的Ctrl+Alt+T或Ctrl+Shift+T启动终端窗口,然后,假设你的系统具有sudo权限,请使用sudo -s命令登录提升的会话:
sudo -s
接下来,输入passwd以强制重置系统上Root帐户的密码:
passwd
在Linux PC上为Root帐户设置新密码,但请记住,密码要复杂些(参考:在Linux中安装cracklib和pwscore检查密码复杂性/强度和分数),应该是安全的,设置新密码后,可以再次访问Root帐户。
使用Root - Terminal打开程序
使用Root权限启动程序的最快且通常最可靠的方法是在终端中登录Root,然后将该程序的名称作为命令执行:
su -
一旦在终端会话中获得root访问权限,就可以启动程序,例如,如果要使用Root访问权限访问Gnome文件管理器,则需要在终端中运行nautilus命令:
nautilus
请记住,以Root身份登录然后启动应用程序:
program-name
如果你是Root,大多数程序可以使用超级用户权限快速启动,但请记住,终端窗口方法不是100%可靠,由于Linux上命令行的性质,一些不完整的应用程序将无法运行。
没有办法检测哪些程序使用此方法,哪些不可用,确定的最佳方法是通过反复试验。
使用Root打开程序 - Pkexec
在大多数Linux操作系统上,当程序需要以Root身份运行时,会出现密码提示,此提示指示用户输入其帐户密码,然后,应用程序以提升的权限启动,借助Pkexec工具,以这种方式在桌面上启动程序成为可能,使用此工具可以轻松启动Linux桌面上安装的任何应用程序。
要使用pkexec,请按键盘上的Alt+F2,此键盘组合将在桌面环境中启动快速启动窗口。
在桌面上打开快速启动窗口后,写出pkexec命令,然后输入你要启动的程序的名称。
例如,要以Root身份启动Gparted分区管理器,需要执行以下操作:
pkexec gparted
只需遵循下面的命令语法,几乎每个程序都应该以Root身份启动:
pkexec programname
使用Root - Gksu打开程序
早在Pkexec工具取代之前,就有Gksu,它的功能与Pkexec的功能完全相同,但Linux发行版维护人员决定放弃它,因为它不能正常工作,也就是说,如果你不喜欢使用Pkexec并且需要一种以Root身份启动程序的方法,那就使用Gksu。
不幸的是,Gksu并没有设置在很多现代Linux发行版的软件存储库中,截至目前,Debian 7-9支持它,OpenSUSE LEAP(42.3和15.0)和Tumbleweed支持它,Ubuntu 16.04 LTS也支持,其他版本,如Ubuntu 18.04就不能了。
要安装它,请打开终端并输入与你的操作系统对应的命令。
1、Ubuntu 16.04 LTS
sudo apt install gksu
2、Debian
sudo apt-get install gksu
3、OpenSUSE LEAP 15.0
sudo zypper addrepo http://widehat.opensuse.org/opensuse/repositories/GNOME:/Apps/openSUSE_Leap_15.0/ gnome-apps
sudo zypper install gksu
4、OpenSUSE LEAP 42.3
sudo zypper addrepo http://widehat.opensuse.org/opensuse/repositories/GNOME:/Apps/openSUSE_Leap_42.3/ gnome-apps
sudo zypper install gksu
5、OpenSUSE Tumbleweed
sudo zypper addrepo http://widehat.opensuse.org/opensuse/repositories/GNOME:/Apps/openSUSE_Factory/ gnome-apps
sudo zypper install gksu
在Linux系统上设置Gksu应用程序时,应该可以使用它,要以Root身份启动程序,请在桌面上按Alt+F2,将出现一个启动栏,在栏中,写下gksu,然后是你要启动的程序,例如,要启动XFCE4文件管理器,需要执行以下操作:
gksu thunar
要使用Gksu启动任何应用程序,请遵循以下命令行语法:
gksu programname
也可以使用相同的语法从终端以Root身份启动应用程序。
相关主题