원격 시스템에 X 프로그램 표시

원격 시스템에 X 프로그램 표시

테스트 환경으로 Ubuntu 14.04와 Fedora 20이 있습니다. SSH 세션을 통해 Fedora에서 Ubuntu로 X 프로그램을 보내려고 합니다. 내 설정은 다음과 같습니다.

우분투에서 실행:

Xhost +IP Address of Fedora

그러면 다음이 반환됩니다.

10.10.24.153 being added to access control list

그런 다음 Fedora 시스템에서 실행합니다.

DISPLAY=10.10.25.168:0.0

이 단계는 Fedora 디스플레이를 Ubuntu 시스템으로 리디렉션합니다.

그런 다음 Ubuntu에서 Fedora로 SSH를 연결합니다. 이 시점에서 ssh 프롬프트에서 프로그램(예: gedit)을 시작하려고 하면 다음 메시지가 나타납니다. (그리고 gedit 창이 나타나지 않습니다)

Unable to init server: Could not connect: Connection refused (gedit:7358): Gtk-WARNING **: cannot open display:

그러나 Fedora에서 직접 gedit를 시작하면 Fedora 측에 오류가 있지만 Ubuntu 시스템에 나타납니다.

** (gedit:7372): WARNING **: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-77RFAr0MHI: Connection refused

SSH 세션에서 X 기반 프로그램을 시작할 수 있어야 하며 그것이 화면에 나타날 것입니다. 내가 뭘 잘못하고 있는지 아는 사람 있나요?

답변1

ssh세션에서 X 응용 프로그램을 실행 하려면 ssh트래픽을 호스팅하도록 지시하기만 하면 됩니다. 실행 xhost하거나 덮어쓰지 마십시오 DISPLAY.

ssh -Yf remote-host some-x-application

-Y플래그는 환경 변수를 생성 ssh하고 암호화된 연결을 통해 결과 트래픽을 전송하도록 지시합니다. 이 플래그는 세션이 즉시 종료된 것처럼 보이도록 이러한 모든 작업을 백그라운드에서 수행하도록 지시합니다.DISPLAYremote-host-fssh

연결이 끝날 때 분명히 대화형 셸을 실행하려면 ssh다음을 수행할 수도 있습니다.

ssh -Y remote-host
...log in as necessary...

some-x-application &
another-x-application &
...etc...

wait; exit

관련 정보