尝试在这里找到一些答案:更新至 15.10 后无法从终端启动图形应用程序,但是并没有解决我的问题。
$ sudo gedit
Failed to connect to Mir: Failed to connect to server socket: No such file or directory.
Unable to init server: Could not connect: Connection refused.
(gedit:4574): Gtk-WARNING **: cannot open display:
仅gedit
在终端中工作正常。这是我的本地计算机,而不是远程系统。
答案1
下面是旧帖子,但仍然 100% 有效。
Mir 并不是人们所认为的稳定/可运行的版本。Ubuntu 核心的大多数部分(例如下面提到的gksudo
程序和其他程序)仍然依赖于 X,无法处理 Mir 所用的内容。除非您有充分的理由使用 Mir,否则建议您切换回 X11,除非您有充分的理由使用 Mir。如果后者是真的,请放心使用sudo nano
。
跟我重复一遍:
sudo
切勿使用! *运行图形程序
*除极其罕见情况下你知道确切地你在做什么……或者你对痛苦情有独钟。要么/要么。
再说一遍。为了保险起见,再对你的狗说一遍。
相反,使用gksudo
命令以 root 权限启动图形命令,如下所示:
gksudo gedit /var/log/auth.log
如果您的系统尚未安装 GKsudo,请先使用 apt 安装它:
sudo apt install gksudo
请注意,如果您正在运行 KDE,请使用等效kdesudo
命令。
这样做的原因是sudo
不保留用户权限,而图形应用程序经常使用这些权限。例如,如果您gedit
在使用 打开配置文件后对其进行更改sudo
,则会出现一个问题,即gedit
的配置文件现在归 root 所有,并且您(用户)无法读取和/或写入。
gksudo
为您处理这一切并处理所有繁重的工作以确保权限保持不变且不会破坏任何东西。
控制台命令有所不同,因为它们通常不保存用户空间配置,并且是为使用而设计的,sudo
而不是gksudo
。