본문 바로가기

맥(솔라리스)

[솔라리스] OpenSolaris VNC 설치 및 원격 GUI 접속 설정

반응형

OpenSolaris VNC 설치 및 원격 GUI 접속 설정

OpenSolaris에서는 기본 패키지로 VNC 서버(Xvnc)와 VNC Viewer가 포함되어 있는 경우가 많습니다.

이를 활용하면 원격지에서 GUI 환경에 접속하여 데스크톱을 사용할 수 있습니다.

1. VNC 패키지 확인

설치된 VNC 관련 패키지 조회

pkginfo | grep vnc
system SUNWvncviewer   VNC viewer client
system SUNWxvnc       X11/VNC server

2. VNC 서버 버전 확인

pkginfo -l SUNWxvnc
PKGINST: SUNWxvnc
NAME: X11/VNC server
CATEGORY: system
ARCH: i386
VERSION: 6.9.0.5.11.11100,REV=0.2009.05.07
VENDOR: Sun Microsystems, Inc.
DESC: X Window System server based on X.Org Foundation open source release and RealVNC open source release that displays over RFB protocol to a VNC client
HOTLINE: Please contact your local service provider
STATUS: completely installed

3. 서비스 상태 확인

svcs -a | grep vnc
disabled Dec_16 svc:/application/x11/xvnc-inetd:default
online Dec_16 svc:/system/xvm/vnc-config:default
  • xvnc-inetd VNC 접속 서비스
  • vnc-config VNC 환경 설정 지원

4. VNC 서비스 활성화

svcadm enable svc:/application/x11/xvnc-inetd:default

확인

svcs -a | grep vnc
online Dec_16 svc:/system/xvm/vnc-config:default
online 20:55:53 svc:/application/x11/xvnc-inetd:default

5. VNC 포트 확인

기본 포트

cat /etc/services | grep vnc
vnc-server 5900/tcp # VNC Server

즉, 클라이언트는 아래 형태로 접속합니다.

SERVER_IP:5900
728x90

6. 현재 xvnc-inetd 설정 확인

inetadm -l xvnc-inetd
SCOPE NAME=VALUE
name="vnc-server"
endpoint_type="stream"
proto="tcp"
isrpc=FALSE
wait=FALSE
exec="/usr/X11/bin/Xvnc -inetd -query localhost -once securitytypes=none"
user="noaccess"
default bind_addr=""
default bind_fail_max=-1
default bind_fail_interval=-1
default max_con_rate=-1
default max_copies=-1
default con_rate_offline=-1
default failrate_cnt=40
default failrate_interval=60
default inherit_env=TRUE
default tcp_trace=FALSE
default tcp_wrappers=FALSE
default connection_backlog=10

7. VNC 비밀번호 설정

디렉터리 생성

mkdir -p /etc/vnc

비밀번호 생성

HOME=/etc/vnc vncpasswd
Password:
Verify:

생성 파일 확인

ls -l /etc/vnc/.vnc/passwd
-rw------- 1 root root 8 /etc/vnc/.vnc/passwd

8. VNC 인증 방식 변경

기존 무인증 설정을 비밀번호 인증으로 변경합니다.

inetadm -m xvnc-inetd \
wait=TRUE \
exec="/usr/X11/bin/Xvnc -inetd -query localhost -once passwordFile=/etc/vnc/.vnc/passwd -alwaysshared"

확인

inetadm -l xvnc-inetd
SCOPE NAME=VALUE
name="vnc-server"
endpoint_type="stream"
proto="tcp"
isrpc=FALSE
wait=TRUE
exec="/usr/X11/bin/Xvnc -inetd -query localhost -once passwordFile=/etc/vnc/.vnc/passwd -alwaysshared"
user="noaccess"
default bind_addr=""
default bind_fail_max=-1
default bind_fail_interval=-1
default max_con_rate=-1
default max_copies=-1
default con_rate_offline=-1
default failrate_cnt=40
default failrate_interval=60
default inherit_env=TRUE
default tcp_trace=FALSE
default tcp_wrappers=FALSE
default connection_backlog=10

9. 서비스 재시작

svcadm restart xvnc-inetd

10. GDM 로그인 화면 연동 (XDMCP)

원격 접속 시 Solaris 로그인 화면(GUI Login)을 표시하려면 GDM의 XDMCP를 활성화합니다.

 

GDM 설정

printf '[xdmcp]\nEnable=true\n' >> /etc/X11/gdm/custom.conf

GDM 재시작

svcadm restart gdm

GDM 활성화 확인

svcadm enable -s gdm

11. X11 TCP Listen 허용

XDMCP 사용 시 X 서버가 TCP 포트를 수신해야 합니다.

svccfg -s x11-server

프롬프트

svc:/application/x11/x11-server>

설정

setprop options/tcp_listen=true
refresh
exit

또는 한 줄 명령

svccfg -s x11-server setprop options/tcp_listen=true
svcadm refresh x11-server

12. 최종 서비스 활성화

svcadm enable xvnc-inetd

13. 접속 방법

Windows

  • TightVNC Viewer
  • RealVNC Viewer
  • TigerVNC

macOS/Linux

  • TigerVNC
  • Remmina

접속 주소

10.0.10.100:5900

14. 방화벽 확인

5900 포트 허용 여부 확인

netstat -an | grep 5900

15. 문제 해결

서비스 상태 확인

svcs -xv xvnc-inetd

로그 확인

tail -f /var/svc/log/application-x11-xvnc-inetd:default.log

포트 충돌 확인

netstat -an | grep 5900

16. 보안 권장 사항

기본 VNC는 암호화가 약하므로 내부망 또는 SSH 터널링 사용을 권장합니다.

 

SSH 터널 예시

ssh -L 5900:localhost:5900 user@server

이후 클라이언트

localhost:5900

 

참고URL

- Oracle Solaris Documentation : How to Set Up VNC to Provide a Solaris Guest Graphical Login with GDM

 

728x90
반응형