SSH를 통한 X11 전달

SSH를 통한 X11 전달

나는 지난 몇 시간 동안 X11 포워딩을 가지고 놀았고 지금까지 X11VNC를 서버로, X2VNC를 클라이언트로 사용하여 데스크탑 컴퓨터의 X 서버를 랩탑으로 성공적으로 포워딩했습니다. X2VNC는 Xinerama를 사용하여 랩톱과 데스크톱 컴퓨터 간에 듀얼 화면과 유사한 동작을 제공합니다.

실제로 정말 훌륭해요!

대부분의 Linux 시스템은 TTY7에서 Xorg 및 데스크탑 환경을 실행한다는 것을 알고 있습니다.

그래서 저는 VNC 터널을 자체 TTY에 바인딩하는 것이 어떤 방식으로든 가능한지 궁금합니다.

두 TTY 간에 전환하여 관리할 컴퓨터를 선택할 수 있다면 좋을 것입니다. 나는 Xinerama나 GUI를 사용하는 것보다 이 접근 방식을 선호합니다.

답변1

이것이 정답은 아니지만 출발점이 될 수는 있을 것 같습니다.

아래와 같이 xinit를 사용하여 여러 개의 추가 X 서버를 시작했습니다.

xinit -- :1 tty3   
xinit -- :2    
xinit -- :3 tty5    
xinit -- :4

다른 가상 모니터에서 여러 gnome3 및 xfce 세션을 시작할 수도 있는 것 같습니다.

startx -- :2  tty3   
startx -- :3  tty4

이제 DISPLAY 변수를 내보내고 export DISPLAY=:3Ctrl-Alt-F2, F3 등을 사용하여 해당 세션에서 콘텐츠를 시작할 수 있습니다.

그러나 나는 내가 무엇을 하고 있는지 전혀 모릅니다(DISPLAY, 세션, 콘솔 또는 tty를 전환하고 있습니까?). 말씀하신 대로 꽤 멋지네요... ;-)

[tomh@workstation001 ~]$ export DISPLAY=:4
[tomh@workstation001 ~]$ google-chrome

답변2

나는 이것이 오래되었다는 것을 알고 있지만 :

xinit -e ssh -XYC $HOSTTOSSHTO startx -- :1

내가 본 유일한 단점은 세션이 시작된 후에는 로그인 터미널을 닫을 수 없다는 것입니다. 언급된 다른 게시물과 마찬가지로 앞뒤로 이동하려면 CTRL+ +를 사용하세요. 저는 Raspberry Pi를 사용하여 이 작업을 수행해 왔으며 인터넷의 서버 등을 통해서도 작업을 수행했습니다(조금 느림). , 또는 다른 이름 으로 교환 할 수도 있습니다 .ALTF#startx/usr/bin/icewmopenboxstartKDE

답변3

적절한 해결책을 찾은 것 같습니다.

내 데스크톱 컴퓨터에 연결하기 위해 특별히 사용자를 만들었습니다.

내 노트북에 있는 사용자의 ~/.xinitrc에는 다음 줄이 있습니다(/home/desktop/.xinitrc):

exec vncviewer 192.168.1.2

192.168.1.2는 내 네트워크에 있는 내 데스크톱 컴퓨터의 IP입니다.

제 경우에는 이제 Tiger VNC를 데스크톱 컴퓨터의 클라이언트로 사용하고 여전히 X11VNC를 서버로 사용합니다.

어떤 고객이라도 마찬가지일 것이라고 생각합니다.

이제 작동하는 방식은 CTRL+ALT+F2를 통해 tty2를 입력하고 새 데스크톱 사용자로 로그인한 다음 x를 실행하는 것입니다 xinit -- :1. 내 기본 x 서버가 이미 tty7에서 실행 중이므로 새 x 서버는 tty8에서 시작됩니다.

vncviewer가 실행되어 내 데스크톱 컴퓨터에 성공적으로 연결되어 데스크톱 컴퓨터의 해상도가 노트북의 해상도보다 큰 경우 전체 화면과 스크롤 막대를 제공합니다.

이제 CTRL+ALT+7 및 CTRL+ALT+8을 사용하여 노트북과 데스크탑 간에 쉽게 전환할 수 있습니다.

Tiger VNC를 사용한다고 가정한 전체 프로세스는 다음과 같습니다(유일한 차이점은 exec vncviewer x.x.x.x).

  1. 새 사용자 만들기adduser desktop
  2. 새 사용자 구성에는 기본값이면 충분하므로 사용자가 생성될 때까지 계속 Enter를 누르세요.
  3. 파일을 열고 /home/desktop/.xinitrc(데스크톱으로 로그인하지 않고 권한에 주의하지 않는 한 루트로 이 작업을 수행해야 함) 파일을 지우고(내용이 있는 경우) 다음 줄을 입력합니다.exec vncviewer x.x.x.x
  4. x.x.x.x원하는 IP 주소로 바꾸십시오 .
  5. 문서를 저장합니다.
  6. CTRL+ALT+X를 사용하여 사용되지 않은 tty를 입력합니다. 여기서 X는 1에서 9 사이의 숫자입니다.
  7. 로그인 IDdesktop
  8. xinit -- :1:1이 이미 사용 중인 경우 새 X 서버 시작을 사용하여 다른 디스플레이를 사용할 수 있습니다.
  9. X 서버를 시작하는 새로운 tty로 보내질 것입니다. 짜잔! 이제 Tiger VNC가 선택한 IP 주소에 연결됩니다.

가능한임의의 사용자로부터 X를 시작할 때 데스크탑 환경이 자동으로 시작되면 문제가 발생하게 됩니다. 따라서 상황이 예상한 대로 진행되지 않으면 이 점을 명심하십시오.

관련 정보