如何以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命令用于在您需要管理系统时临时为您提供根级权限。 您也可以使用命令gksudosu 。 后者只有在您知道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密码。