X11을 통해 풀 그래픽 데스크탑을 사용하여 원격으로 로그인하는 방법

X11을 통해 풀 그래픽 데스크탑을 사용하여 원격으로 로그인하는 방법

저는 kubuntu를 실행하는 두 대의 컴퓨터(서버와 클라이언트)를 가지고 있습니다. 클라이언트 사용자로 실행되는 특정 명령에 대해 걱정할 필요 없이 클라이언트에서 서버에 연결하고 전체 그래픽 인터페이스를 실행하고 싶습니다.

그래서 ssh -XC잘 작동하고 그래픽 프로그램도 시작할 수 있습니다.

그러나 startkdeSSH 콘솔에 입력하면 다음과 같이 표시됩니다."KDE가 이 모니터에서 실행되고 있는 것 같습니다."이는 정확하지만 동일한 사용자 계정에서는 작동하지 않습니다.

그래픽 인터페이스를 종료하고 tty에서 로그인을 시도했지만 예상대로 kde를 포함한 어떤 그래픽 프로그램도 시작할 수 없습니다.

그렇다면 간단히 로컬 사용자처럼 로그인할 수 있도록 하려면 어떻게 해야 할까요? 클라이언트 시스템을 멍청한 터미널로 사용하십시오.

답변1

XDMCP이를 위해 설계되었습니다. 서버의 Desktop Manager에서 XDMCP 지원을 활성화해야 합니다.

  • 을 사용하는 경우 kdm다음을 찾으십시오.

    [Xdmcp]
    Enable=false
    

    마지막 으로 로 kdmrc변경 하고 다시 시작하십시오 .falsetruekdm

  • 를 사용하는 경우 lightdm추가하세요.

    [XDMCPServer]
    enabled=true
    port=177
    

    /etc/lightdm/lightdm.conf다시 시작 하세요 lightdm.

그런 다음 클라이언트에서 다음을 사용하여 X를 시작하십시오.

X -query ${SERVER_IP}

(적절한 IP 주소 사용) 서버의 로그인 화면이 클라이언트에 표시되어야 합니다.

답변2

SSH 세션을 통해 창 관리자를 시작할 수 있지만 X 서버에 이미 실행 중인 창 관리자가 없는지 확인해야 합니다.

이 작업은 두 가지 방법으로 수행할 수 있습니다.

  1. startx디스플레이 관리자를 사용하는 대신 모든 작업을 수동으로 수행하세요 .

    먼저 X 서버를 시작합니다.

    X -nolisten tcp :0
    

    이제 다른 가상 콘솔로 전환하고(예: ctrl+alt+f2 누르기) 다음을 입력합니다.

    DISPLAY=:0 ssh -XC <host> startkde
    

    이제 첫 번째 가상 콘솔로 다시 전환하고 X 세션을 정상적으로 사용하십시오. 이 접근 방식의 단점은 xauth설정이 포함되어 있지 않다는 것입니다(따라서 이론적으로 원격 시스템의 모든 사람이 X 세션에 연결할 수 있으므로 보안 위험이 있습니다).

  2. .xinitrc(startx의 경우) 또는 (디스플레이 관리자의 경우) 파일을 사용하여 .xsession창 관리자를 수정합니다 .

    .xinitrc비밀번호 없는 SSH가 작동하도록 시스템을 설정한 경우(예: SSH 키를 통해, Kerberos 또는 기타 인증 메커니즘을 사용하여) OR 파일의 마지막 줄로 다음 줄을 추가할 수 있습니다 .xsession.

    exec ssh -XC <host> startkde
    

    기억해야 할 점은 이 파일에 추가하는 모든 것이 실행된다는 것입니다.바꾸다일반적인 X11 세션 설정. 어떤 경우에는 로그인 화면에서 "Standard Xsession" 옵션을 선택해야 할 수도 있습니다.

    비밀번호 없는 SSH가 없더라도 ssh-askpassSSH가 설치되어 있는 한 계속 작동할 수 있습니다. 괜찮다 면 ssh터미널을 제어하지는 않지만하다$DISPLAY비밀번호를 요청하는 데 사용할 변수가 설정됩니다 .

    이 방법의 단점은 "로컬" 컴퓨터에 로그인하기가 더 어려워진다는 것입니다.

답변3

VNC 서버를 열 수 있습니다

설정 > 공유 > 화면 공유

SSH를 사용해야 하는 경우 SSH 에이전트를 통해 5900을 컴퓨터로 전달하세요.

ssh -L 5900:localhost:5900 #destination here

그런 다음 Remina와 같은 원격 데스크톱(RD) 클라이언트를 사용하여 로컬 SSH 에이전트에 연결합니다.

연결>127.0.0.1:5900

VNC를 사용하기 전에 반드시 보안 실패 여부를 확인하세요. SSH를 통해 터널링하는 경우 VNC를 사용하는 것이 매우 안전합니다. 이 방법은 사용자가 로그인한 경우에만 작동합니다. 사용자가 로그인하지 않고도 작동하려면 SSH로 로그인하고 VNC 서버를 시작한 다음 IE 0, 1, 2를 사용하도록 디스플레이를 지정한 다음 Remina 등을 사용하여 연결해야 합니다.

관련 정보