X Windows for Amazon Linux AMI

6659
2016-09-09

미미미!! 밍밍밍!! 미미미!! 밍밍밍!!

https://www.youtube.com/watch?v=qmaBi7FABxE

0. X Windows for Amazon Linux AMI

다음은 AWS EC2 ( Elastic Compute Cloud ) 인스턴스 Amazon Linux AMI ( Amazon Machine Image ) 에서 GUI 를 활용하기 위해서 X Window 를 실행하는 하기 위해서 최소한의 설치와 설정을 소개합니다. 일반적으로 X Windows 설치 및 설정이 제대로 되었는지 확인하기 위해서 xclock, xeyes, xterm 과 같이 가벼운 X Application 을 띄어 봄으로써 정상 동작하는지 테스트를 해봅니다.

xclock, xeyes, xterm 과 같은 가벼운 X Application 이 정상적으로 동작한다고 하여도, 모든 X Application 이 정상 동작한다고 보기 어렵습니다. 호환성, 의존성, 미지원 라이브러리 등의 여러가지 요소 때문에 X Application 이 동작하지 않을 수도 있습니다. ( 이럴 경우에는 GNOME, GDE, GUI 관련 풀패키징 설치를 권장합니다. )

그 중에서 xclock 를 소개하도록 하겠습니다.

1. Xming X Server for Windows install

MS Window 용 X Server 를 설치하여야 합니다. Xming, Cygwin, X Manager (상용) 등이 있습니다. Xming 을 설치하시면 됩니다. ( 추가로 Fornt 도 설치해주시면 좋습니다. )

Xming Download & Install

http://sourceforge.net/projects/xming

Xming Fonts Download & Install

http://sourceforge.net/projects/xming/files/Xming-fonts

설치 후에 서버를 띄어주시면 됩니다.

SNAG-0003 2016-09-06 오후 3.23.08

Cygwin

http://x.cygwin.com

X Manager

http://www.netsarang.com/download/software.html

2. X11 Packages Install

X11 와 같이 관련된 패키지가 많고, 의존성이 있는 패키지들이 많은 경우에는 yum groupinstall 로 설치/삭제하는 것이 좋습니다.

https://ko.wikipedia.org/wiki/X_원도_시스템

그런데, CentOS 5/6/7 에선는 "X Server Windows" or "GNOME Desktop" 등과 같은 group packages 를 제공하지만, AWS AMI 의 경우는 제공하지 않습니다.

# CentOS 7.x $ sudo yum grouplist Available Environment Groups: Minimal Install Compute Node Infrastructure Server File and Print Server Basic Web Server Virtualization Host Server with GUI GNOME Desktop KDE Plasma Workspaces Development and Creative Workstation Installed Groups: Development Tools Available Groups: Compatibility Libraries Console Internet Tools Graphical Administration Tools Legacy UNIX Compatibility Scientific Support Security Tools Smart Card Support System Administration Tools System Management Done
# AWS AMI 2016.03.03 (HVM) $ sudo yum grouplist Available Groups: Console internet tools DNS Name Server Development Libraries Development tools Editors FTP Server Java Development Legacy UNIX compatibility Mail Server MySQL Database MySQL Database client NFS file server Network Servers Networking Tools PHP Support Performance Tools Perl Support PostgreSQL Database client (version 8) PostgreSQL Database server (version 8) Scientific support System Tools TeX support Technical Writing Web Server Web Servlet Engine Done

별도로 최소한의 X11 를 설치합니다. ( 필요한 경우에는 Font, Language Support 를 추가로 설치해주시면 됩니다. )

$ sudo yum install -y xorg-x11-xauth xorg-x11-server-utils dbus-x11 xclock

3. X Forwarding Setting

Terminal Emulator 에서 X Forwarding 설정을 해주셔야 합니다. 대부분의 터미날이 지원하고 있습니다.

Putty Download & Install

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

SNAG-0001 2016-09-06 오후 1.43.57

SecureCRT

http://www.vandyke.com/products/securecrt

SNAG-0002 2016-09-06 오후 1.44.51

MobaXterm

http://mobaxterm.mobatek.net

3.  Terminal Reconnect

만약에 이전에 Terminal 이 열려 있었다고 한다면, 1-3 번 설정후에 Terminal 을 재접속합니다. 재속하시면 다음과 같이 .Xauthority 파일이 생성됩니다.

Last login: Tue Sep 6 06:09:21 2016 from 61.78.76.8 __| __|_ ) _| ( / Amazon Linux AMI ___|\___|___| https://aws.amazon.com/amazon-linux-ami/2016.03-release-notes/ 8 package(s) needed for security, out of 13 available Run "sudo yum update" to apply all updates. /usr/bin/xauth:  creating new authority file /home/ec2-user/.Xauthority [ec2-user@test ~]$

만약에 .Xauthority 파일이 생성되지 않았다면, sshd_config 파일을 체크해봅니다. ( AWS AMI default X11Forwarding yes )

$ vi /etc/ssh/sshd_config X11Forwarding yes

4. xclock 

xclock 를 실행합니다. :D

$ xauth list

ip-172-31-28-211/unix:10  MIT-MAGIC-COOKIE-1  248b77f2fbf4dac486ed21ba9f7896f3

$ export DISPLAY=localhost:10.0

$ xclock

SNAG-0000 2016-09-06 오후 1.43.32

DISPLAY=locahost:10.0 란?!  localhost 에  10 번 display 에, 0 번 screen 이란 뜻입니다.

+----------------------------------------+

| localhost | |

+-----------------+ |

| |

| +----------+----+ +----------+----+ |

| |Display :0| | |Display :1| | |

| +----------+ | +----------+ | |

| | | | | |

| | +-----------+ | | | |

| | |Screen :0.0| | | | |

| | +-----------+ | | | |

| | +-----------+ | | | |

| | |Screen :0.1| | | | |

| | +-----------+ | | | |

| | +-----------+ | | +-----------+ | |

| | |Screen :0.2| | | |Screen :1.0| | |

| | +-----------+ | | +-----------+ | |

| | +-----------+ | | +-----------+ | |

| | |Screen :0.3| | | |Screen :1.1| | |

| | +-----------+ | | +-----------+ | |

| | +-----------+ | | +-----------+ | |

| | | Keyboard | | | | Keyboard | | |

| | +-----------+ | | +-----------+ | |

| | +-----------+ | | +-----------+ | |

| | | Mouse | | | | Mouse | | |

| | +-----------+ | | +-----------+ | |

| +---------------+ +---------------+ |

| |

+----------------------------------------+

다른 계정에서 xclock 을 실행할 경우는?!

$ sudo adduser xtest

$ sudo passwd xtest

$ xauth list

ip-172-31-28-211/unix:10  MIT-MAGIC-COOKIE-1  248b77f2fbf4dac486ed21ba9f7896f3

$ sudo su - xtest

$ xauth add ip-172-31-28-211/unix:10  MIT-MAGIC-COOKIE-1  248b77f2fbf4dac486ed21ba9f7896f3

xauth:  creating new authority file /home/oracle/.Xauthority

$ export DISPLAY=localhost:10.0

$ xclock

SNAG-0000 2016-09-06 오후 1.43.32

참고 : http://www.redwireservices.com/remote-x11-for-linux-unix


Popit은 페이스북 댓글만 사용하고 있습니다. 페이스북 로그인 후 글을 보시면 댓글이 나타납니다.