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

비밀번호

댓글 작성자
 




... 31  32  33  34  35  [36]  37  38  39  40  41  42  43  44  45  ...
NoWriterDateCnt.TitleFile(s)
12729정성태7/22/20218002.NET Framework: 1080. xUnit 단위 테스트에 메서드/클래스 수준의 문맥 제공 - Fixture
12728정성태7/22/20217487.NET Framework: 1079. MSTestv2 단위 테스트에 메서드/클래스/어셈블리 수준의 문맥 제공
12727정성태7/21/20218442.NET Framework: 1078. C# 단위 테스트 - MSTestv2/NUnit의 Assert.Inconclusive 사용법(?) [1]
12726정성태7/21/20218286VS.NET IDE: 169. 비주얼 스튜디오 - 단위 테스트 선택 시 MSTestv2 외의 xUnit, NUnit 사용법 [1]
12725정성태7/21/20217012오류 유형: 741. Failed to find the "go" binary in either GOROOT() or PATH
12724정성태7/21/20219687개발 환경 구성: 582. 윈도우 환경에서 Visual Studio Code + Go (Zip) 개발 환경 [1]
12723정성태7/21/20217314오류 유형: 740. SharePoint - Alternate access mappings have not been configured 경고
12722정성태7/20/20217184오류 유형: 739. MSVCR110.dll이 없어 exe 실행이 안 되는 경우
12721정성태7/20/20217808오류 유형: 738. The trust relationship between this workstation and the primary domain failed. - 세 번째 이야기
12720정성태7/19/20217146Linux: 43. .NET Core/5+ 응용 프로그램의 Ubuntu (Debian) 패키지 준비
12719정성태7/19/20216319오류 유형: 737. SharePoint 설치 시 "0x800710D8 The object identifier does not represent a valid object." 오류 발생
12718정성태7/19/20216880개발 환경 구성: 581. Windows에서 WSL로 파일 복사 시 root 소유권으로 적용되는 문제파일 다운로드1
12717정성태7/18/20216854Windows: 195. robocopy에서 파일의 ADS(Alternate Data Stream) 정보 복사를 제외하는 방법
12716정성태7/17/20217688개발 환경 구성: 580. msbuild의 Exec Task에 robocopy를 사용하는 방법파일 다운로드1
12715정성태7/17/20219373오류 유형: 736. Windows - MySQL zip 파일 버전의 "mysqld --skip-grant-tables" 실행 시 비정상 종료 [1]
12714정성태7/16/20218115오류 유형: 735. VCRUNTIME140.dll, MSVCP140.dll, VCRUNTIME140.dll, VCRUNTIME140_1.dll이 없어 exe 실행이 안 되는 경우
12713정성태7/16/20218681.NET Framework: 1077. C# - 동기 방식이면서 비동기 규약을 따르게 만드는 Task.FromResult파일 다운로드1
12712정성태7/15/20218087개발 환경 구성: 579. Azure - 리눅스 호스팅의 Site Extension 제작 방법
12711정성태7/15/20218396개발 환경 구성: 578. Azure - Java Web App Service를 위한 Site Extension 제작 방법
12710정성태7/15/202110222개발 환경 구성: 577. MQTT - emqx.io 서비스 소개
12709정성태7/14/20216874Linux: 42. 실행 중인 docker 컨테이너에 대한 구동 시점의 docker run 명령어를 확인하는 방법
12708정성태7/14/202110252Linux: 41. 리눅스 환경에서 디스크 용량 부족 시 원인 분석 방법
12707정성태7/14/202177483오류 유형: 734. MySQL - Authentication method 'caching_sha2_password' not supported by any of the available plugins.
12706정성태7/14/20218698.NET Framework: 1076. C# - AsyncLocal 기능을 CallContext만으로 구현하는 방법 [2]파일 다운로드1
12705정성태7/13/20218843VS.NET IDE: 168. x64 DLL 프로젝트의 컨트롤이 Visual Studio의 Designer에서 보이지 않는 문제 - 두 번째 이야기
12704정성태7/12/20217982개발 환경 구성: 576. Azure VM의 서비스를 Azure Web App Service에서만 접근하도록 NSG 설정을 제한하는 방법
... 31  32  33  34  35  [36]  37  38  39  40  41  42  43  44  45  ...