如何以root身份运行应用程序?
我和Kate和Kwrite有一些奇怪的问题。 当我单击“ 打开文件”时 ,它会因分段错误而崩溃。
我是Linux的新手,我认为问题在于我没有以root身份运行应用程序。
如何在Ubuntu中以root身份运行应用程序? 这样做是不好的做法吗? 整个根目录的目的是什么,即使我们需要如此频繁地使用root,它也不会被默认使用?
以root身份运行程序非常简单。
对于控制台程序使用
sudo
如果是GUI应用程序使用
gksudo
类UNIX操作系统(包括Linux)使用称为权限分离的概念来确保系统保持安全。 UNIX从一开始就被设计为一个多用户系统 – 也就是说,它的设计使得许多人可以同时使用一台运行UNIX的计算机。 由于大多数用户不需要能够修改核心系统,因此只有系统管理员才具有该权限。 该特权用户传统上称为root 。 (Root与Windows中的管理员非常相似。)
这在几个层面上都有意义。 通常,将端口暴露给其他(可能是恶意的)计算机的Web服务器或其他进程将作为其自己的用户运行(Apache以用户nobody
身份运行),因此即使Web服务器程序被黑客入侵,攻击者也无法很容易把整个机器丢弃。 它甚至对于大多数单用户机器(例如台式机)都有意义:如果你的家庭的其他成员,例如,以某种方式设法运行rm -rf /
( 不运行它 ),他们将无权删除每个文件系统 ,就像他们没有特权分离这样的东西一样。
您可以使用几个命令来提升您的权限。 sudo
命令用于在您需要管理系统时临时为您提供根级权限。 您也可以使用命令gksudo
或su
。 后者只有在您知道root密码的情况下才能使用,如果您的帐户没有使用sudo
权限,这是一个不错的选择。
root用户可以在系统上执行任何操作,几乎没有例外。 因此,即使您偶然提出要求,也会在很少或没有警告的情况下执行,即使这对系统的健康状况有害。 这就是为什么以普通用户身份完成大部分活动的好习惯,并且仅在需要时使用root,例如在安装程序时。
您不应该使用root来摆脱分段错误。 如果root是唯一修复段错误的东西,那么程序就有bug。 程序不应该因为它们没有root而失败。
除了前面提到的关于sudo和gksudo的答案之外,是的,以root身份运行程序绝对是一种不好的做法,除非这是一个行政程序。
请尝试找到程序崩溃的原因。 如果需要,请寻求他人的帮助。
您还可以转到ubuntu中的/usr/share/applications
并编辑您尝试运行的应用程序的启动文件。
就像我编辑了github atom
的文件一样,我通常使用通配符来查找这样的文件
sudo nano atom*
这将打开atom.desktop
文件,现在找到Exec命令并在前面添加gksudo。例如,
之前
Exec=/usr/share/atom/atom %U
后
Exec=gksudo -k -u root /usr/share/atom/atom %U
现在每当应用程序启动时,它都会要求root密码。