0

I have a Win 11 box running Xming, a binary I've used on Win 7 without issue.

Xming is version 6.9, a 32-bit binary that nonetheless seems to run on 64-bit Linux. However I wonder if its not able to understand incoming protocol due to the bit width being wrong? netstat -an on the Win11 box reports no use of port 6000 (the default X server listening port). I start Xming, and netstat -an now reports port 6000:

TCP    0.0.0.0:6000           0.0.0.0:0              LISTENING

I have a Fedora 31 box. I can run xeyes with DISPLAY=:0 and get a display on the Linux machine, whether the terminal is an xterm on the Linux machine or a Putty window on Win11.

strace xeyes |& less shows the connection is working. Connect() returns 0 (success). It's writing to the socket. File descriptor 3 is the TCP connection, returned by socket(), and it must have been opened as we see it being written to and receiving a little data: an 8-byte header and the string "No protocol specified."

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

Further: clicking the Xming icon in the icon tray (lower right corner) and opening log file after such a failed connection reports:

AUDIT: client 4 rejected from IP 

So why can't I connect?

1 Answer 1

0

I don't see this mentioned in the documentation but editing C:\Program Files (x86)\Xming\X0.hosts to include the Linux box's address now allows connections.

Command line option -ac will simply ignore the X0.hosts file. This will, however, allow connections from any machine so is not suitable for public networks.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .