EC2 Linux 환경에서 nautilus를 활용하여 GUI 사용해 보기
안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 EC2 Linux 환경에서 nautilus를 활용하여 GUI를 사용해 보는 방법을 정리해 봤습니다.
사전 준비
이번 블로그에서는 MacOS를 기준으로 작업을 실시합니다.
EC2 인스턴스의 경우 Amazon Linux 2를 사용하며, 인터넷을 통해 접속하기 위해서 Public Subnet에 EC2 인스턴스를 배치했습니다.
보안 그룹의 경우 별다른 설정없이, [내IP]만 SSH 접속을 허용한 상태입니다.
MacOS에서 XQuartz 설치
EC2에서 X11 기반의 GUI 프로그램을 사용하기 위해서는 MacOS에서 XQuartz를 설치할 필요가 있습니다.
상기 URL을 통해 XQuartz를 설치하고 로그아웃 혹은 재부팅을 실시합니다.
이어서 XQuartz를 실행합니다. 실행 방법은 아래와 같습니다.
- Command + Space를 눌러 Spotlight 검색창 열기
- XQuartz 입력 후 실행
XQuartz를 실행하면 터미널 화면이 열리게되며, 해당 터미널 화면에서 아래 명령어를 입력합니다.
% echo $DISPLAY
/private/tmp/com.apple.launchd.xxxxxxx/org.xquartz:0
echo $DISPLAY 명령어를 입력한 다음 [org.xquartz:0] 처럼 문제 없이 출렫되면 성공입니다.
만약 아무런 값이 출력되지 않는다면, XQuartz를 다시 설치합시다.
EC2 인스턴스 접속
이제 XQuartz 설치가 완료되었다면, EC2 인스턴스에 접속합시다.
% ssh -Y -C -i "keypair" ec2-user@ec2-ip
EC2 인스턴스에 접속을 했다면, sshd_config을 수정합니다.
[ec2-user@ip-xx-x-x-xxx ~]$ sudo vi /etc/ssh/sshd_config
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost no
X11과 관련된 상기 3가지 항목의 주석을 제거합니다.
[ec2-user@ip-xx-x-x-xxx ~]$ echo $DISPLAY
export DISPLAY=:10.0
export DISPLAY=:0
이어서 [echo $DISPLAY]를 통해 DISPLAY 변수가 설정되어 있는지 확인합니다. 아무것도 출력되지 않는다면, export 명령어로 10.0 혹은 9을 설정합니다. 이어서 한 번 EC2 인스턴스와의 연결을 끊은 다음 다시 접속합니다.
[ec2-user@ip-xx-x-x-xxx ~]$ sudo yum install -y xorg-x11-xauth xorg-x11-fonts-* xorg-x11-utils xclock
[ec2-user@ip-xx-x-x-xxx ~]$ xclock
이제 Linux 환경에서 GUI로 시계 툴을 실행시켜 봅시다.
성공적으로 xclock가 GUI 환경에서 표시됩니다.
이제 Linux에서 파일을 관리할 수 있는 프로그램인 [nautilus]를 설치합시다.
[ec2-user@ip-xx-x-x-xxx ~]$ sudo yum install -y nautilus
X11 인증을 관리하는 도구인 xauth를 설치합니다.
[ec2-user@ip-xx-x-x-xxx ~]$ sudo yum install -y xorg-x11-xauth
[ec2-user@ip-xx-x-x-xxx ~]$ xauth list
이어서 X11 Forwarding을 위해 dbus-x11를 설치합니다.
[ec2-user@ip-xx-x-x-xxx ~]$ sudo yum install -y dbus-x11
[ec2-user@ip-xx-x-x-xxx ~]$ export $(dbus-launch)
이제 마지막으로 북마크 파일을 생성합니다.
[ec2-user@ip-xx-x-x-xxx ~]$ touch /home/ec2-user/.gtk-bookmarks
[ec2-user@ip-xx-x-x-xxx ~]$ export NAUTILUS_BOOKMARKS_FILE=/path/to/your/bookmarks/file
[ec2-user@ip-xx-x-x-xxx ~]$ sudo mkdir test
북마크 파일을 생성한 다음, 테스트 파일도 생성합니다.
[ec2-user@ip-xx-x-x-xxx ~]$ nautilus /home/ec2-user/
이제 nautilus를 이용해서 /home/ec2-user/ 디렉토리를 GUI로 열어봅시다.
성공적으로 디렉토리가 GUI로 출력되는 것을 확인할 수 있습니다.
본 블로그 게시글을 읽고 궁금한 사항이 있으신 분들은 jaewookkim533@yahoo.com로 보내주시면 감사하겠습니다.