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

비밀번호

댓글 작성자
 




1  2  3  4  5  6  [7]  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
13450정성태11/21/20232254닷넷: 2164. C# - Octokit을 이용한 GitHub Issue 검색파일 다운로드1
13449정성태11/21/20232353개발 환경 구성: 688. Azure OpenAI 서비스 신청 방법
13448정성태11/20/20232628닷넷: 2163. .NET 8 - Dynamic PGO를 결합한 성능 향상파일 다운로드1
13447정성태11/16/20232487닷넷: 2162. ASP.NET Core 웹 사이트의 SSL 설정을 코드로 하는 방법
13446정성태11/16/20232419닷넷: 2161. .NET Conf 2023 - Day 1 Blazor 개요 정리
13445정성태11/15/20232700Linux: 62. 리눅스/WSL에서 CA 인증서를 저장하는 방법
13444정성태11/15/20232456닷넷: 2160. C# 12 - Experimental 특성 지원
13443정성태11/14/20232493개발 환경 구성: 687. OpenSSL로 생성한 사용자 인증서를 ASP.NET Core 웹 사이트에 적용하는 방법
13442정성태11/13/20232322개발 환경 구성: 686. 비주얼 스튜디오로 실행한 ASP.NET Core 사이트를 WSL 2 인스턴스에서 https로 접속하는 방법
13441정성태11/12/20232654닷넷: 2159. C# - ASP.NET Core 프로젝트에서 서버 Socket을 직접 생성하는 방법파일 다운로드1
13440정성태11/11/20232354Windows: 253. 소켓 Listen 시 방화벽의 Public/Private 제어 기능이 비활성화된 경우
13439정성태11/10/20232846닷넷: 2158. C# - 소켓 포트를 미리 시스템에 등록/예약해 사용하는 방법(Port Exclusion Ranges)파일 다운로드1
13438정성태11/9/20232462닷넷: 2157. C# - WinRT 기능을 이용해 윈도우에서 실행 중인 Media App 제어
13437정성태11/8/20232661닷넷: 2156. .NET 7 이상의 콘솔 프로그램을 (dockerfile 없이) 로컬 docker에 배포하는 방법
13436정성태11/7/20232895닷넷: 2155. C# - .NET 8 런타임부터 (Reflection 없이) 특성을 이용해 public이 아닌 멤버 호출 가능
13435정성태11/6/20232832닷넷: 2154. C# - 네이티브 자원을 포함한 관리 개체(예: 스레드)의 GC 정리
13434정성태11/1/20232631스크립트: 62. 파이썬 - class의 정적 함수를 동적으로 교체
13433정성태11/1/20232357스크립트: 61. 파이썬 - 함수 오버로딩 미지원
13432정성태10/31/20232408오류 유형: 878. 탐색기의 WSL 디렉터리 접근 시 "Attempt to access invalid address." 오류 발생
13431정성태10/31/20232723스크립트: 60. 파이썬 - 비동기 FastAPI 앱을 gunicorn으로 호스팅
13430정성태10/30/20232612닷넷: 2153. C# - 사용자가 빌드한 ICU dll 파일을 사용하는 방법
13429정성태10/27/20232871닷넷: 2152. Win32 Interop - C/C++ DLL로부터 이중 포인터 버퍼를 C#으로 받는 예제파일 다운로드1
13428정성태10/25/20232926닷넷: 2151. C# 12 - ref readonly 매개변수
13427정성태10/18/20233104닷넷: 2150. C# 12 - 정적 문맥에서 인스턴스 멤버에 대한 nameof 접근 허용(Allow nameof to always access instance members from static context)
13426정성태10/13/20233287스크립트: 59. 파이썬 - 비동기 호출 함수(run_until_complete, run_in_executor, create_task, run_in_threadpool)
13425정성태10/11/20233103닷넷: 2149. C# - PLinq의 Partitioner<T>를 이용한 사용자 정의 분할파일 다운로드1
1  2  3  4  5  6  [7]  8  9  10  11  12  13  14  15  ...