본문 바로가기

Cloud/Oracle Cloud Infrastructure (OCI)

OCI VM에서 VNC 설정 방법

Oracle Cloud Infrastructure (OCI) VM에서 VNC 설정하는 방법입니다.

Oracle Linux 7.9 VM이며, 아래와 같은 환경/구성으로 VNC를 연결했습니다.

먼저 OCI VM에 VNC Server 설치를 위해 설치된 환경 그룹에 Server With GUI 있는지 확인합니다.

[root@inst-db opc]# whoami
root
[root@inst-db opc]# yum group list
Loaded plugins: langpacks, ulninfo
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
...
Done

 

설치된 환경 그룹에 "Server With GUI" 없으면 설치합니다.

[root@inst-db opc]# yum group install "Server with GUI" -y
Loaded plugins: langpacks, ulninfo
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
...
Complete!

 

이제 설치된 환경 그룹에 Server With GUI 있는지 확인합니다.

[root@inst-db opc]# yum group list
Loaded plugins: langpacks, ulninfo
Installed Environment Groups:
   Server with GUI
...
Done

 

TigerVNC 설치합니다.

[root@inst-db opc]# yum install tigervnc-server -y
Loaded plugins: langpacks, ulninfo
Resolving Dependencies
...

Complete!

 

root 세션에서 로그아웃한 다음, opc 유저로 VNCServer 패스워드 설정합니다.

[root@inst-db opc]# exit
exit
[opc@inst-db ~]$ vncpasswd
Password:
Verify:
Would you like to enter a view-only password (y/n)? n
A view-only password is not used

 

root 유저로 돌아와서 "/lib/systemd" 아래의 VNC 서비스 템플릿 파일을 "/etc/systemd" 아래에 복사한 다음, 복사한 파일을 열어서 "ExecStart=/usr/bin/vncserver_wrapper <USER> %i" 부분에서 <USER> 사용할 유저(opc) 변경합니다. 여기서는 "opc"로 변경했습니다.

[opc@inst-db ~]$ sudo bash
[root@inst-db opc]# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@\:1.service
[root@inst-db opc]# vi /etc/systemd/system/vncserver@\:1.service
...
ExecStart=/usr/bin/vncserver_wrapper opc %i
...

 

설정 파일을 reload하고, VNC 서비스를 enable하고 start 시킵니다.

[root@inst-db opc]# systemctl daemon-reload
[root@inst-db opc]# systemctl enable vncserver@\:1.service
Created symlink from /etc/systemd/system/multi-user.target.wants/vncserver@:1.service to /etc/systemd/system/vncserver@:1.service.
[root@inst-db opc]# systemctl start vncserver@\:1.service
[root@inst-db opc]# systemctl status vncserver@\:1.service
● vncserver@:1.service - Remote desktop service (VNC)
   Loaded: loaded (/etc/systemd/system/vncserver@:1.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2021-07-13 09:10:50 GMT; 6s ago
  Process: 9980 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)
 Main PID: 9984 (vncserver_wrapp)
   CGroup: /system.slice/system-vncserver.slice/vncserver@:1.service
           ├─ 9984 /bin/sh /usr/bin/vncserver_wrapper opc :1
           └─10639 sleep 0.1
...

 

VNC 서버 설치가 끝났습니다. 이제 PuTTY로 SSH Tunnel을 설정해서 로컬 PC에서 VNC 서버로 연결을 합니다.

PuTTy 열어서 Session에서 서버 정보 입력합니다. 여기서는 inst-DB이라는 이름으로 세션을 저장했습니다.

 

Connection > Data에서 Auto-login username opc를 입력했습니다.

 

Connection > SSH > Tunnels에서 Source port: "5901", Destination: "localhost:5901" 입력 한 다음,  Add 클릭합니다.

 

Connection > SSH > Auth에서 Private key file for authentication에서 ppk 포맷 SSH private key 등록합니다.

 

Session으로 돌아가서 “Save” 버튼을 클릭하여 지금까지의 설정을 저장하고, “Open” 클릭하여 SSH 연결을 생성합니다.

SSH Tunnel 열리고 나면, VNC viewer 실행해서 VNC Server localhost:5901 입력합니다. VNC Viewer "TigerVNC Viewer 1.3.1" 사용했습니다.

 

VNC 패스워드 입력합니다.

 

VNC Viewer 최초 접속을 하면, 언어, 자판 등의 설정을 합니다. 설정이 완료되면 아래와 같은 화면을 있습니다.

 

끝.