在 GNOME 桌面的终端,直接  su  切换到 root 后,在终端运行一些图形界面的程序,有些能运行但报错,有些根本运行不起来。可能是因为直接用 su 切换到 root 后,root  还是使用普通用户的环境变量。

在 Fedora 14 运行出错的软件有:  gedit 、emacs 、unetbootin-linux
gedit
出现信息如下:
==============================分割线==============================
(process:15979): Gtk-WARNING **: Locale not supported by C library.
 Using the fallback 'C' locale.
(gedit:15979): EggSMClient-WARNING **: Failed to connect to the session manager: None of the authentication protocols specified are supported
**
GLib-GIO:ERROR:gdbusconnection.c:2270:initable_init: assertion failed: (connection->initialization_error == NULL)
已放弃 (core dumped)
==============================分割线==============================
emacs
出现信息如下:
==============================分割线==============================
(process:15988): Gtk-WARNING **: Locale not supported by C library.
 Using the fallback 'C' locale.
**
GLib-GIO:ERROR:gdbusconnection.c:2270:initable_init: assertion failed: (connection->initialization_error == NULL)
Fatal error (6)已放弃 (core dumped)
==============================分割线==============================
unetbootin-linux
出现信息如下:
==============================分割线==============================
Qt: Session management error: None of the authentication protocols specified are supported
==============================分割线==============================
解决方法
 su -   命令切换到 root 
"-”参数指示 su 开启一个登陆Shell(login shell)而不是非登陆Shell(non-login shell)
这样 root 读取的是 root 本身的环境变量,而不是继承那个输入 su 命令用户的环境变量

Logo

更多推荐