即使我可以远程登录到 X 服务器端口,“未指定协议”?

即使我可以远程登录到 X 服务器端口,“未指定协议”?

我有一个运行 Xming 的 Win 11 机器,这是我在 Win 7 上使用的二进制文件,没有出现任何问题。

Xming 是 6.9 版本,32位二进制尽管如此,它似乎可以在 64 位 Linux 上运行。但是我想知道是否由于位宽错误而无法理解传入协议? netstat -anWin11 盒子上报告没有使用端口 6000(默认的 X 服务器侦听端口)。我启动 Xming,netstat -an现在报告端口 6000:

TCP    0.0.0.0:6000           0.0.0.0:0              LISTENING

我有一个 Fedora 31 盒子。我可以使用 DISPLAY=:0 运行 xeyes 并在 Linux 机器上获得显示,无论终端是 Linux 机器上的 xterm 还是 Win11 上的 Putty 窗口。

strace xeyes |& less显示连接正常。 Connect() 返回 0(成功)。它正在写入套接字。文件描述符 3 是 TCP 连接,由 socket() 返回,并且当我们看到它正在写入并接收一些数据时,它一定已打开:8 字节标头和字符串“未指定协议”。

socket(AF_INET, SOCK_STREAM|SOCK_CLOEXEC, IPPROTO_TCP) = 3
setsockopt(3, SOL_TCP, TCP_NODELAY, [1], 4) = 0
setsockopt(3, SOL_SOCKET, SO_KEEPALIVE, [1], 4) = 0
connect(3, {sa_family=AF_INET, sin_port=htons(6000), 
sin_addr=inet_addr("192.168.11.17")}, 16) = 0
getpeername(3, {sa_family=AF_INET, sin_port=htons(6000), 
sin_addr=inet_addr("192.168.11.17")}, [124->16]) = 0
access("/home/fs/.Xauthority", R_OK)    = 0
openat(AT_FDCWD, "/home/fs/.Xauthority", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0600, st_size=702, ...}) = 0
read(4, "\0\0\0\4\300\250\10\6\0\0010\0\22MIT-MAGIC-COOKIE-1\0"..., 4096) = 702
read(4, "", 4096)                       = 0
close(4)                                = 0
fcntl(3, F_GETFL)                       = 0x2 (flags O_RDWR)
fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK)    = 0
fcntl(3, F_SETFD, FD_CLOEXEC)           = 0
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{iov_base="l\0\v\0\0\0\0\0\0\0\0\0", iov_len=12}, {iov_base="", iov_len=0}],2) = 12
recvfrom(3, 0x562bca54c080, 8, 0, NULL, NULL) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
recvfrom(3, "\0\26\v\0\0\0\6\0", 8, 0, NULL, NULL) = 8
recvfrom(3, "No protocol specified\n\0\0", 24, 0, NULL, NULL) = 24
write(2, "No protocol specified\n", 22No protocol specified) = 22
shutdown(3, SHUT_RDWR)                  = 0
close(3)                                = 0

此外:在连接报告失败后,单击图标托盘(右下角)中的 Xming 图标并打开日志文件:

AUDIT: client 4 rejected from IP 

那么为什么我无法连接呢?

答案1

我没有在文档中看到这一点,但编辑C:\Program Files (x86)\Xming\X0.hosts以包含 Linux 盒子的地址现在允许连接。

命令行选项-ac将简单地忽略该X0.hosts文件。但是,这将允许来自任何计算机的连接,因此不适合公共网络。

相关内容