X 서버 포트에 텔넷을 연결할 수 있는데도 "프로토콜이 지정되지 않았습니다"라고 표시됩니까?

X 서버 포트에 텔넷을 연결할 수 있는데도 "프로토콜이 지정되지 않았습니다"라고 표시됩니까?

저는 Xming을 실행하는 Win 11 컴퓨터를 가지고 있는데, 이것은 제가 아무런 문제 없이 Win 7에서 사용한 바이너리입니다.

Xming 버전은 6.9입니다.32비트 바이너리그럼에도 불구하고 64비트 Linux에서 실행되는 것으로 보입니다. 그런데 잘못된 비트 폭으로 인해 들어오는 프로토콜이 이해되지 않는 것인지 궁금합니다. netstat -an포트 6000(기본 X 서버 수신 포트)이 Win11 상자에서 사용되지 않는 것으로 보고되었습니다. Xming을 시작했는데 netstat -an이제 포트 6000이 보고됩니다.

TCP    0.0.0.0:6000           0.0.0.0:0              LISTENING

Fedora 31 상자가 있습니다. DISPLAY=:0을 사용하여 xeyes를 실행하고 터미널이 Linux 상자의 xterm이든 Win11의 Putty 창이든 관계없이 Linux 상자에 디스플레이를 가져올 수 있습니다.

strace xeyes |& less연결이 정상임을 나타냅니다. Connect()는 0(성공)을 반환합니다. 소켓에 쓰고 있습니다. 파일 설명자 3은 소켓()에 의해 반환된 TCP 연결이며, 일부 데이터(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.hostsLinux 상자의 주소를 포함하도록 편집하면 이제 연결이 가능해집니다.

명령줄 옵션은 -ac단순히 파일을 무시합니다 X0.hosts. 그러나 이렇게 하면 모든 컴퓨터에서 연결할 수 있으므로 공용 네트워크에는 적합하지 않습니다.

관련 정보