손실 된 X11 세션에 다시 첨부


27

sshWindows 상자에서 Linux 응용 프로그램을 실행하기 위해 X11 전달을 사용 하고 있으며 네트워크가 끊어지면 실행중인 모든 내용이 손실됩니다. screenX11 과 비슷한 것이 있습니까?


밝히다. 왜 사용하지 screen않습니까? 아니면 XVNC? Linux 시스템에서 화면을 실행하고 네트워크 screen -DR가 끊어지면 다시 연결하고 세션을 다시 연결하는 데 사용 하십시오.
nix

@nix X 앱에서도 작동합니까?
Michael Mrozek

2
@ nix screenGUI 앱에서는 작동 하지 않는다고 생각 합니다.
압둘라 지 발리

물론 화면은 xterm에서 실행해야합니다.
nix

답변:


32

Xpra 또는 Xpra 포크 는 다음과 같이 정확하게 주장합니다.

기본적으로 원격 X 앱 의 화면 입니다.

한동안 사용하지는 않았지만 시도했을 때 꽤 잘 작동했습니다. 원격 시스템에서 서버를 시작합니다.

[remote] $ xpra start :13

그런 다음 로컬 머신에서 서버에 연결합니다.

[local] $ xpra attach ssh:remote:13

이제 원격 컴퓨터의 X 디스플레이 13에 표시된 모든 것이 로컬로 나타납니다.

[remote] $ DISPLAY=:13 xeyes

4
WinSwitch 도 있으며 xpra 및 기타 관련 소프트웨어를 통합 한 것처럼 보입니다.
Gilles 'SO- 악마 그만해'

6

당신은 VNC를 찾고 있습니다. 원칙은 화면과 다소 비슷합니다. VNC 서버 (backgound SCREEN프로세스) 및 VNC 클라이언트 (포 그라운드 screen프로세스)를 실행합니다. VNC 서버는 X 서버이므로 X 응용 프로그램을 실행할 수 있습니다.

Linux 상자에서 VNC 서버를 실행하고 Windows 상자에서 클라이언트를 실행하십시오. 선택할 수있는 몇 가지 구현이 있습니다. 한 가지 가능성은 TightVNC 입니다. TightVNC는 ​​많은 Linux 배포판에 있으며 (설치되어 있지 않으면 설치하거나 다른 구현을 선택하십시오) Windows 클라이언트가 있습니다.

두 시스템이 네트워크에서 매우 가까이 있지 않은 경우 (방화벽 또는 도청 위험이있는 경우) ssh를 통해 VNC 트래픽을 터널링해야합니다. ssh가 로컬 포트 ​​5900을 원격 포트 5900으로 전달하도록하십시오 (5900은 디스플레이에 해당하고 :05901을 사용하는 :1등).


4

실제로 X를로 전달할 수 있습니다 screen. 할 수있는 유일한 것은을 설정하는 것입니다 $DISPLAYscreen그것의 같은 아웃 사이드가되도록 창을여십시오.

순서

ssh -X원격 컴퓨터에 입력 한 후

$ echo $DISPLAY

일반적으로 결과를 복사하십시오 localhost:N.0. 그런 다음 screen로컬 screen창 에을 입력 하고

$ export DISPLAY=localhost:N.0

그런 다음 X화면 창에서 필요한 프로그램을 실행하십시오 .

참고 :screen창 마다 환경 변수가 독립적입니다. 따라서 각 창마다 별도로 설정해야합니다.

참고 문헌


1
안녕하십니까, 유닉스에 오신 것을 환영합니다. 연결하는 솔루션의 세부 사항은 단순하므로 여기에서 명시 적으로 다시 작성하는 것이 좋습니다. 이런 식으로 askubuntu.com의 게시물에 문제가 발생해도 답변이 유지됩니다. 물론, 자료의 출처를 밝히는 데 도움이되므로 링크를 유지하는 것이 좋습니다.
drs

2
이 솔루션을 시도했지만 실행중인 X 응용 프로그램을 종료하지 않고 ssh 세션을 닫을 수 없습니다. 이것은 어떻게 든 그것의 목적을 상실합니다 ... 어떻게 원격 호스트와 연결을 끊어야합니까?
Tonin
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.