Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

윈도우 클라이언트에서 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




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

[연관 글]


donaricano-btn



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

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

비밀번호

댓글 쓴 사람
 




1  2  3  [4]  5  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
12567정성태4/9/2021287개발 환경 구성: 553. Docker Desktop for Windows를 위한 k8s 대시보드 활성화 [1]
12566정성태3/24/2021245개발 환경 구성: 552. Kubernetes - kube-apiserver와 REST API 통신하는 방법 (Docker Desktop for Windows 환경)
12565정성태3/17/2021148오류 유형: 704. curl.exe 실행 시 dll not found 오류
12564정성태3/16/2021195VS.NET IDE: 160. 새 프로젝트 창에 C++/CLI 프로젝트 템플릿이 없는 경우
12563정성태3/16/2021172개발 환경 구성: 551. C# - JIRA REST API 사용 정리 (3) jira-oauth-cli 도구를 이용한 키 관리
12562정성태3/16/2021290개발 환경 구성: 550. C# - JIRA REST API 사용 정리 (2) JIRA OAuth 토큰으로 API 사용하는 방법파일 다운로드1
12561정성태3/12/2021244VS.NET IDE: 159. Visual Studio에서 개행(\n, \r) 등의 제어 문자를 치환하는 방법 - 정규 표현식 사용
12560정성태3/12/2021233개발 환경 구성: 549. ssh-keygen으로 생성한 개인키/공개키 파일을 각각 PKCS8/PEM 형식으로 변환하는 방법
12559정성태3/28/2021220.NET Framework: 1028. 닷넷 5 환경의 Web API에 OpenAPI 적용을 위한 NSwag 또는 Swashbuckle 패키지 사용파일 다운로드1
12558정성태3/28/2021357Windows: 192. Power Automate Desktop (Preview) 소개 - Bitvise SSH Client 제어 [1]
12557정성태3/28/2021135Windows: 191. 탐색기의 보안 탭에 있는 "Object name" 경로에 LEFT-TO-RIGHT EMBEDDING 제어 문자가 포함되는 문제
12556정성태3/9/2021110오류 유형: 703. PowerShell ISE의 Debug / Toggle Breakpoint 메뉴가 비활성 상태인 경우
12555정성태3/28/2021255Windows: 190. C# - 레지스트리에 등록된 DigitalProductId로부터 라이선스 키(Product Key)를 알아내는 방법파일 다운로드2
12554정성태3/28/2021276.NET Framework: 1027. 닷넷 응용 프로그램을 위한 PDB 옵션 - full, pdbonly, portable, embedded
12553정성태3/5/2021325개발 환경 구성: 548. 기존 .NET Framework 프로젝트를 .NET Core 용으로 변환해 주는 upgrade-assistant, try-convert 도구 소개
12552정성태3/5/2021207개발 환경 구성: 547. github workflow/actions에서 Visual Studio Marketplace 패키지 등록하는 방법
12551정성태3/5/2021238오류 유형: 702. 비주얼 스튜디오 - The 'CascadePackage' package did not load correctly. (2)
12550정성태3/5/2021198오류 유형: 701. Live Share 1.0.3713.0 버전을 1.0.3884.0으로 업데이트 이후 ContactServiceModelPackage 오류 발생하는 문제
12549정성태3/4/2021216오류 유형: 700. VsixPublisher를 이용한 등록 시 다양한 오류 유형 해결책
12548정성태3/4/2021246개발 환경 구성: 546. github workflow/actions에서 nuget 패키지 등록하는 방법
12547정성태3/3/2021292오류 유형: 699. 비주얼 스튜디오 - The 'CascadePackage' package did not load correctly.
12546정성태3/3/2021255개발 환경 구성: 545. github workflow/actions에서 빌드시 snk 파일 다루는 방법 - Encrypted secrets
12545정성태3/28/2021795.NET Framework: 1026. 닷넷 5에 추가된 POH (Pinned Object Heap) [7]
12544정성태3/28/2021480.NET Framework: 1025. C# - Control의 Invalidate, Update, Refresh 차이점 [2]
12543정성태3/12/2021397VS.NET IDE: 158. C# - 디자인 타임(design-time)과 런타임(runtime)의 코드 실행 구분
12542정성태3/3/2021443개발 환경 구성: 544. github repo의 Release 활성화 및 Actions를 이용한 자동화 방법
1  2  3  [4]  5  6  7  8  9  10  11  12  13  14  15  ...