WSL - GEDIT 无法初始化服务器:无法连接:连接被拒绝

Ayu*_*sak 18 linux ubuntu gedit windows-subsystem-for-linux

我在 Windows 10 机器上使用 Ubuntu 18.04 作为 Linux 的 Windows 子系统。
我已经安装,gedit没有任何错误或警告。

但是每当我尝试使用该命令gedit something(这里有一个文件名)时,
我都会收到此错误:

Unable to init server: Could not connect: Connection refused

(gedit:48): Gtk-WARNING **: 21:03:26.729: cannot open display:
Run Code Online (Sandbox Code Playgroud)

Fre*_*ddy 13

您需要一个 X 服务器来运行图形应用程序,例如gedit. 我在 Windows 桌面上使用VcXsrvXming,它们都非常小且易于安装,但还有其他服务器,如Cygwin/X

VcXsrv/Xming 的简短说明:

我的问题是 gedit 首选项中的某些复选框不起作用(dconf 错误,我不在乎),但除此之外编辑器可用。

有关的:

  • 这是不可行的,也许它只是过时了或者只能在 WSL 1 中工作。要实现此功能,需要 ssh 到 HOST 网络,然后通过该网络托管 VcXsrv/Xming。问题是,WSL `localhost` 与主机的 `localhost` 不是同一个网络接口 (2认同)

小智 7

为了解决这个问题

步骤 1- 下载并安装此 Windows X Server https://sourceforge.net/projects/vcxsrv/

第 2 步 - 打开XLaunch

步骤 3- 选择“全屏”选项

步骤 4- 选择“不启动客户端”选项

第 5 步 - 只需执行下一步并完成

步骤 6- 打开终端并输入:

export DISPLAY=0:0                                 
gedit filename
Run Code Online (Sandbox Code Playgroud)

如果您的 Linux 机器可用主机名 = 'hostname' 并且您想通过 ssh 进入主机名,然后打开,gedit然后执行以下命令:

  1. X11Forwarding在 ssh 服务器中启用
[hostname] $ vim /etc/ssh/sshd_config
             # and set X11Forwarding to yes
             X11Forwarding yes
Run Code Online (Sandbox Code Playgroud)
  1. DISPLAY在客户端设置env,然后使用-Xflag设置ssl
export DISPLAY=0:0
ssh -X yourusername@hostname
                                 
[hostname] $ gedit filename
Run Code Online (Sandbox Code Playgroud)