我试图在我的系统上安装一个程序,然后我输入了sudo nautilus
。它运行了一系列行。现在终端没有在开头出现以我的用户名@主机开头的新行。它只是一个空行。
sara@sara-MacBookAir:~/Downloads/cmake-3.6.1$ sudo nautilus
(nautilus:7046): Gtk-WARNING **: Failed to register client: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service files
** (nautilus:7046): CRITICAL **: Another desktop manager in use; desktop window won't be created
Nautilus-Share-Message: Called "net usershare info" but it failed: Failed to execute child process "net" (No such file or directory)
Nautilus-Share-Message: Called "net usershare info" but it failed: Failed to execute child process "net" (No such file or directory)
这已完成,但新行没有以我的用户名和主机名开头。我怎样才能在开头以我的用户名开始一行
答案1
该进程仍在“前台”运行。冻结该进程:
按ctrl+z
然后输入bg
将进程发送到后台。你的提示符将会返回。
或者,只需打开一个新终端;)
更重要的是,不要使用sudo nautilus
,而要使用sudo -i nautilus
。sudo
与图形应用程序一起使用是一种真是个坏主意,正如解释的那样在这里的答案中
我将以 root 身份启动 Nautilus,如下所示:
sudo -i
nautilus >/dev/null 2>&1 & disown
exit
sudo -i
启动 root shell
>/dev/null 2>&1
这会停止程序的任何输出(例如我可以安全忽略的 Gtk 警告)打印到终端并打断我将该
&
过程发送到后台
disown
该过程不再是 shell 的子进程,因此当我关闭 shell 或终端窗口时将保持打开状态
exit
关闭 root shell 以放弃权限(但 nautilus 会保持打开状态并具有 root 权限,直到您关闭它)