저는 ssh -X user@ip
SSH 서버에 연결하는 데 사용합니다(LAN, 100mbit/s 연결).
훌륭하게 작동하지만 세 가지 문제가 있습니다.
어느 정도 시간이 지난 후(정확히는 알 수 없음, 한 시간 정도) 한 창을 닫고 다른 창을 열려고 하면 오류가 발생합니다.
Error: Can't open display: localhost:10.0
이 문제를 해결하려면 로그아웃했다가 다시 로그인해야 합니다.을(를) 입력할 수 없습니다
@
. 처음에는 로케일 문제인 줄 알았는데 로케일이 올바르게 생성되었습니다. 키보드 레이아웃도 적합하고 그 외에는 매우!")$(_?
좋습니다.내 PC에 있는 내용을 복사하여 X11 전달 창에 붙여넣을 수 있지만 그 반대는 불가능합니다.무엇복사되었지만(클립보드 덮어쓰기) 붙여넣지 않았습니다(일부 응용 프로그램에 붙여넣으려고 하면 응용 프로그램이 약 1분 동안 응답하지 않게 됩니다).
나는 xauth
(두 대의 컴퓨터)을 설치했으며 X11 전달에 대한 기본 설정을 사용하고 있으며 서버는 OpenSSH_7.9p1 Raspbian-10+deb10u2, OpenSSL 1.1.1d 10 Sep 2019
debian XFCE4이고 클라이언트는 OpenSSH_8.2p1, OpenSSL 1.1.1f 31 Mar 2020
arch GNOME3입니다.
시도했지만 xclip -o
둘 xsel -o -b
다 아무 것도 인쇄하지 않고 CTRL+C
얻을 때까지 실행됩니다.
@
PC에 복사하여 서버 애플리케이션에 붙여넣기만 하면 됩니다.
편집하다:
(DE 키보드 레이아웃): xev
클라이언트와 서버에 동일한 키코드를 표시합니다. XLookupString은 클라이언트에 (40) @
, 서버에 (71)을 제공합니다 q
. Alt Gr
누르고 있는 키에 대한 이벤트/코드가 필요 @
하고 다른 모든 항목은 둘 다 동일해야 합니다. xmodmap
둘 다 정확히 동일한 결과를 제공합니다.
sshd 로그를 확인하면 다음과 같은 내용이 표시되는데 channel 3: open failed: administratively prohibited: open failed
, 이는 확실히 매우 모호합니다.
서버: X.Org X Server 1.20.4
클라이언트:X.Org X Server 1.20.8
자세한 내용은 다음을 제공합니다.Rejected X11 connection after ForwardX11Timeout expired
온라인으로 검색한 후 해결책을 찾았습니다. ForwardX11Timeout
높은 값으로 설정하면 문제가 해결됩니다. 무제한으로 설정하는 것은분명히 아직은 불가능하다. -Y
대신 사용하면 -X
분명히 이 문제를 해결할 수 있지만안전하지 않은 것 같아요구성 옵션보다.
답변1
1) 그래서 네트워크 관련 기능이 작동을 멈췄습니다. sshd
의심스러운 오류 메시지가 있는지 원격 컴퓨터의 로그를 확인하세요 . 아무것도 찾지 못하면 ssh
클라이언트와 sshd
서버의 자세한 정보를 늘리십시오(이를 수행하는 방법은 매뉴얼 페이지 참조).
2) 원격 X 프로그램은 로컬 X 서버에 연결되지만 여전히 일부 원격 설정을 사용합니다. 따라서 "지역 설정"에 관한 것이 아니라 키보드 X 설정에 관한 것입니다. 전달부터 시작하여 로컬로 입력할 xev
때 어떤 일이 발생하는지 확인하십시오 @
(로케일에서 사용해야 하는 키 조합이 무엇이든 우리에게 알려주지 않았습니다). xmodmap
리트윗하는 것도 도움이 될 수 있습니다.
3) 여기서 무슨 일이 일어나고 있는지 모르겠습니다. X 프로토콜 수준에서 디버깅이 필요합니다.
또한 로컬 및 원격 시스템의 X 서버와 라이브러리가 합리적으로 가까운 버전을 가지고 있는지 확인하십시오. 그렇지 않다면 가까이 다가가도록 노력하십시오. X-Ray 프로토콜은 매우 안정적이지만 두 호스트가 그 내용에 동의하지 않는 경우 문제가 설명될 수 있습니다.
버전은 ssh
중요하지 않습니다. ssh
X 프로토콜을 투명하게 전달하면 됩니다.