설정된 SSH 연결에서 X를 활성화/비활성화합니다.

설정된 SSH 연결에서 X를 활성화/비활성화합니다.

그래서 저는 직장에서 SSH를 통해 CentOS 시스템에서 다른 로컬 CentOS 시스템으로 연결합니다. 우리는 X11과 터미널에서 실행되는 응용 프로그램을 사용합니다. 일부 기능은 터미널에서만 사용할 수 있고 다른 기능은 X11에서만 사용할 수 있습니다. 프로그램은 사용 가능한 X 모니터가 있는지 자동으로 감지하고 사용 가능한 경우 이를 사용합니다. 개선을 요청할 필요 없이 두 버전의 앱 사이를 빠르게 전환할 수 있다면 좋을 것 같습니다. -X로고나 로고가 없는 수많은 -Y바탕화면 아이콘/바로가기가 있습니다. -X또는 플래그 없이 시작된 실행 중인 SSH 세션에서 X11 전달을 활성화/비활성화하는 방법이 있습니까 -Y?

답변1

사용 중이 -X거나 실행 중인 경우 원격 측에서 X 터널을 가리키도록 설정됩니다 -Y. $DISPLAY이 설정을 해제하면 $DISPLAYX 응용 프로그램이 X 서버와 통신하는 것을 방지할 수 있습니다. 예를 들어

$ echo $DISPLAY 
localhost:10.0

$ xdpyinfo | head -2
name of display:    localhost:10.0
version number:    11.0

$ DISPLAY= xdpyinfo | head -2
xdpyinfo:  unable to open display "".

$ DISPLAY= xterm
xterm: Xt error: Can't open display: 
xterm: DISPLAY is not set

따라서 X Tunneling을 활성화한 후에는 설정을 해제하여 "숨길" 수 있어야 합니다 $DISPLAY.

SSH 세션에서 입력하여 ~?수행할 수 있는 변경 목록을 가져올 수 있습니다. 포트 전달을 추가/제거할 수 있지만 실행 및 유사한 작업이 ~C필요하므로 X 터널을 쉽게 변경할 수 없습니다 . xauth이벤트 순서는 원격 포트를 다시 localhost:6000(또는 로컬 X 서버가 있는 포트)으로 전달하고 DISPLAY를 설정하고 xauth권한을 추가하는 것입니다. 쉽지 않습니다!

답변2

허용된 솔루션으로 인해 스크립트가 충돌하는 경우(이는 내 Python 스크립트에서 발생함) DISPLAYbash 명령을 사용하여 변수를 완전히 제거 할 수 있습니다 unset. 그건,

unset DISPLAY

https://stackoverflow.com/questions/19930715/how-to-undo-display-export-in-linux

답변3

X11 없이 응용 프로그램을 실행해야 하는 경우 다음을 시도하십시오: 내보내기 DISPLAY=''

X11의 경우 DISPLAY를 그대로 둡니다.

관련 정보