Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
(연관된 글이 1개 있습니다.)

윈도우 클라이언트에서 X2Go를 이용한 원격 리눅스의 GUI 접속 - 우분투 20.04

아래의 글에서는 Xming을 이용한 방법을 소개하고 있는데요,

Windows 10에서 리눅스용 프로그램 설치하고 실행하기
; https://medium.com/wslhub/windows-10%EC%97%90%EC%84%9C-%EB%A6%AC%EB%88%85%EC%8A%A4%EC%9A%A9-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8-%EC%84%A4%EC%B9%98%ED%95%98%EA%B3%A0-%EC%8B%A4%ED%96%89%ED%95%98%EA%B8%B0-2cb0d7892d12

색다르게 X2Go를 이용해 우분투 시스템에 GUI 원격 접속을 해보겠습니다. 이를 위해 클라이언트 측과 서버 측에 각각 설정이 필요한데요, 우선 서버인 우분투 측에서는 다음과 같이 설치를 하면 됩니다.

// 우분투 버전 확인 후,

$ lsb_release -a

// 이전 버전에서는 다음의 작업이 필요하다고 하는데, 20.04에서는 필요 없습니다.

// Ubuntu 10.04 or 12.04
sudo apt-get install python-software-properties

// Ubuntu 14.04
sudo apt-get install software-properties-common

$ sudo add-apt-repository ppa:x2go/stable
$ sudo apt-get update
$ sudo apt-get install x2goserver x2goserver-xsession

// 정상적으로 실행까지 되었는지 확인
$ service x2goserver status

이후 윈도우에서는 다음의 사이트를 통해,

X2Go - everywhere@home
; https://wiki.x2go.org/doku.php

윈도우 용 클라이언트(X2Go Client)를 설치 후, 실행하면 다음과 같이 로그인 정보를 입력할 수 있는 화면이 나옵니다.

x2go_1.png

보다시피, (SSH 로그인에서 너무나 일상적으로 사용했던) Host, Login, SSH port 등의 정보를 입력 후 접속하면 아래와 같은 윈도우 창이 뜨면서 접속이 되는 것을 확인할 수 있습니다.

x2go_2.png

마치, mstsc.exe로 RDP 접속을 한 것과 유사합니다. (그 외에, Xming처럼 단일 응용 프로그램을 호스팅하는 등의 방법도 있습니다.)




x2go로 로그인했는데 다음과 같은 오류 메시지 창이 나오며 다시 로그인으로 돌아간다면?

unable to execute: startkde

또는,

unable to execute: xfce4-session

해당 Ubuntu 시스템에 KDE 또는 XFCE4 shell를 설치한 적이 없기 때문입니다. 다음과 같은 명령어로 설치한 후 다시 시도하면 됩니다.

[kde shell 설치]
$ sudo apt install kde-full

[xfce shell 설치]
$ sudo apt install xfce4

만약 이미 우분투 측에 GNOME(또는 다른 shell)이 설치되어 있다면 KDE 설치 도중 다음과 같은 질문을 합니다.

Configuring sddm
----------------

A display manager is a program that provides graphical login capabilities for the X Window System.

Only one display manager can manage a given X server, but multiple display manager packages are installed. Please select which 
display manager should run by default.

Multiple display managers can run simultaneously if they are configured to manage different servers; to achieve this, configure the 
display managers accordingly, edit each of their init scripts in /etc/init.d, and disable the check for a default display manager.

1. gdm3  2. lightdm   3. sddm

GDM3은 Gnome의 Display Manager이고, lightdm은 XFCE4, SDDM은 KDE를 위한 것입니다. Display Server는 다중으로 설치될 수 있지만, 그 중 하나에서만 X server를 관리할 수 있다는 것이므로 원하는 GUI shell 유형을 선택합니다.

만약 나중에라도 또 바꾸고 싶다면 다음과 같이 명령을 내리면 됩니다.

// gdm3로 변경
$ sudo dpkg-reconfigure gdm3
$ systemctl stop sddm  // 또는 lightdm
$ systemctl start gdm3

// sddm으로 변경
$ sudo dpkg-reconfigure sddm
$ systemctl stop gdm3  // 또는 lightdm
$ systemctl start sddm

// lightdm으로 변경
$ sudo dpkg-reconfigure lightdm
$ systemctl stop gdm3  // 또는 sddm
$ systemctl start lightdm

그런데, 제 경우에는 KDE를 설치한 후에도 여전히 "unable to execute: startkde" 오류 메시지가 발생했습니다. 반면 xfce의 경우에는 설치 후 정상적으로 동작했습니다.

참고로, "Session preferences" 화면의 하단에 있는 "Session type"에서 접속할 Shell 모드(GNOME, UNITY, ...)를 선택할 수 있습니다.




그나저나, x2go에 대한 신뢰를 Azure에서 호스팅 중인 Linux VM에 기본 포함되어 있다는 것에서 얻을 수 있습니다. ^^

Quickstart: Set up the Data Science Virtual Machine for Linux (Ubuntu)
; https://docs.microsoft.com/en-us/azure/machine-learning/data-science-virtual-machine/dsvm-ubuntu-intro




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]

[연관 글]






[최초 등록일: ]
[최종 수정일: 1/30/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 16  17  [18]  19  20  21  22  23  24  25  26  27  28  29  30  ...
NoWriterDateCnt.TitleFile(s)
13180정성태12/2/20224939.NET Framework: 2074. C# - 스택 메모리에 대한 여유 공간 확인하는 방법파일 다운로드1
13179정성태12/2/20224359Windows: 216. Windows 11 - 22H2 업데이트 이후 Terminal 대신 cmd 창이 뜨는 경우
13178정성태12/1/20224859Windows: 215. Win32 API 금지된 함수 - IsBadXxxPtr 유의 함수들이 안전하지 않은 이유파일 다운로드1
13177정성태11/30/20225591오류 유형: 829. uwsgi 설치 시 fatal error: Python.h: No such file or directory
13176정성태11/29/20224513오류 유형: 828. gunicorn - ModuleNotFoundError: No module named 'flask'
13175정성태11/29/20226139오류 유형: 827. Python - ImportError: cannot import name 'html5lib' from 'pip._vendor'
13174정성태11/28/20224704.NET Framework: 2073. C# - VMMap처럼 스택 메모리의 reserve/guard/commit 상태 출력파일 다운로드1
13173정성태11/27/20225394.NET Framework: 2072. 닷넷 응용 프로그램의 스레드 스택 크기 변경
13172정성태11/25/20225202.NET Framework: 2071. 닷넷에서 ESP/RSP 레지스터 값을 구하는 방법파일 다운로드1
13171정성태11/25/20224816Windows: 214. 윈도우 - 스레드 스택의 "red zone"
13170정성태11/24/20225126Windows: 213. 윈도우 - 싱글 스레드는 컨텍스트 스위칭이 없을까요?
13169정성태11/23/20225709Windows: 212. 윈도우의 Protected Process (Light) 보안 [1]파일 다운로드2
13168정성태11/22/20224994제니퍼 .NET: 31. 제니퍼 닷넷 적용 사례 (9) - DB 서비스에 부하가 걸렸다?!
13167정성태11/21/20225031.NET Framework: 2070. .NET 7 - Console.ReadKey와 리눅스의 터미널 타입
13166정성태11/20/20224759개발 환경 구성: 651. Windows 사용자 경험으로 WSL 환경에 dotnet 런타임/SDK 설치 방법
13165정성태11/18/20224664개발 환경 구성: 650. Azure - "scm" 프로세스와 엮인 서비스 모음
13164정성태11/18/20225562개발 환경 구성: 649. Azure - 비주얼 스튜디오를 이용한 AppService 원격 디버그 방법
13163정성태11/17/20225499개발 환경 구성: 648. 비주얼 스튜디오에서 안드로이드 기기 인식하는 방법
13162정성태11/15/20226583.NET Framework: 2069. .NET 7 - AOT(ahead-of-time) 컴파일
13161정성태11/14/20225799.NET Framework: 2068. C# - PublishSingleFile로 배포한 이미지의 역어셈블 가능 여부 (난독화 필요성) [4]
13160정성태11/11/20225749.NET Framework: 2067. C# - PublishSingleFile 적용 시 native/managed 모듈 통합 옵션
13159정성태11/10/20228960.NET Framework: 2066. C# - PublishSingleFile과 관련된 옵션 [3]
13158정성태11/9/20225230오류 유형: 826. Workload definition 'wasm-tools' in manifest 'microsoft.net.workload.mono.toolchain' [...] conflicts with manifest 'microsoft.net.workload.mono.toolchain.net7'
13157정성태11/8/20225889.NET Framework: 2065. C# - Mutex의 비동기 버전파일 다운로드1
13156정성태11/7/20226793.NET Framework: 2064. C# - Mutex와 Semaphore/SemaphoreSlim 차이점파일 다운로드1
13155정성태11/4/20226295디버깅 기술: 183. TCP 동시 접속 (연결이 아닌) 시도를 1개로 제한한 서버
... 16  17  [18]  19  20  21  22  23  24  25  26  27  28  29  30  ...