์ผ๋ถ ์ฌ์ฉ์๋ ๋น๊ต์ ์ ๋ ดํ VPS๋ฅผ ์๋ํฉ๋๋ค. Windows ์๊ฒฉ ๋ฐ์คํฌํฑ ์๋น์ค๋ฅผ ์คํํ๋ ค๋ฉด ๋ค์ ๋จ๊ณ๋ฅผ ๋ฐ๋ฅด์ธ์. ๋์ผํ ์์
์ ๋ค์์์๋ ์ํํ ์ ์์ต๋๋ค. Linux ๋ฐ์ดํฐ ์ผํฐ์ ์์ฒด ํ๋์จ์ด๋ฅผ ๊ตฌ์ถํ๊ฑฐ๋ ์ ์ฉ ์๋ฒ๋ฅผ ์๋ํ์ง ์๊ณ ๋ ํ
์คํธ ๋ฐ ๊ฐ๋ฐ์ ์ํ ์ต์ํ ๊ทธ๋ํฝ ํ๊ฒฝ์ด๋ ๋ชจ๋ฐ์ผ ๊ธฐ๊ธฐ์์ ์์
ํ๊ธฐ ์ํ ๊ด๋์ญ ์ฐ๊ฒฐ์ด ๊ฐ๋ฅํ ์๊ฒฉ ๋ฐ์คํฌํฑ์ด ํ์ํ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. RFB(Remote FrameBuffer) ํ๋กํ ์ฝ ๊ธฐ๋ฐ์ VNC(Virtual Network Computing)๋ ์ด๋ฌํ ๋ค์ํ ์ฉ๋์ ์ ํฉํฉ๋๋ค. ์ด ์งง์ ๊ธ์์๋ ๋ชจ๋ ํ์ดํผ๋ฐ์ด์ ๋ฅผ ์ฌ์ฉํ๋ ๊ฐ์ ๋จธ์ ์ VNC๋ฅผ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช
ํฉ๋๋ค.
๋ชฉ์ฐจ :
VNC ์๋ฒ ์ ํ
VNC ์๋น์ค๋ ๊ฐ์ํ ์์คํ ์ ๋ด์ฅ๋ ์ ์์ผ๋ฉฐ, ํ์ดํผ๋ฐ์ด์ ๋ ์ด๋ฅผ ์๋ฎฌ๋ ์ด์ ๋ ์ฅ์น์ ์ฐ๊ฒฐํ๋ฏ๋ก ์ถ๊ฐ ๊ตฌ์ฑ์ด ํ์ํ์ง ์์ต๋๋ค. ์ด ์ต์ ์ ์๋นํ ์ค๋ฒํค๋๋ฅผ ์๋ฐํ๋ฉฐ, ์ค์ ๊ทธ๋ํฝ ์ฅ์น๋ฅผ ์๋ฎฌ๋ ์ด์ ํ๋ ๋์ ๋จ์ํ๋ ์ถ์ํ(ํ๋ ์๋ฒํผ)๊ฐ ๊ฐ์ ๋จธ์ ์ ์ ๋ฌ๋๋ ๋ฆฌ์์ค ์ง์ฝ๋๊ฐ ๋ฎ์ ๊ตฌํ์์๋ ๋ชจ๋ ๊ณต๊ธ์๊ฐ ์ง์ํ์ง๋ ์์ต๋๋ค. ๋๋ก๋ VNC ์๋ฒ๊ฐ ์คํ ์ค์ธ X ์๋ฒ์ ์ฐ๊ฒฐ๋์ด ์์ง๋ง, ์ด ๋ฐฉ๋ฒ์ ๋ฌผ๋ฆฌ์ ๋จธ์ ์ ์ก์ธ์คํ๋ ๋ฐ ๋ ์ ํฉํ๋ฉฐ, ๊ฐ์ ๋จธ์ ์์๋ ์ฌ๋ฌ ๊ฐ์ง ๊ธฐ์ ์ ์ด๋ ค์์ด ๋ฐ์ํฉ๋๋ค. VNC ์๋ฒ๋ฅผ ์ค์นํ๋ ๊ฐ์ฅ ์ฌ์ด ๋ฐฉ๋ฒ์ ๋ด์ฅ๋ X ์๋ฒ๋ฅผ ์ด์ฉํ๋ ๊ฒ์ ๋๋ค. ํ์ดํผ๋ฐ์ด์ ๋ฅผ ์ฌ์ฉํ ๋ฌผ๋ฆฌ์ ์ฅ์น(๋น๋์ค ์ด๋ํฐ, ํค๋ณด๋, ๋ง์ฐ์ค)๋ ์๋ฎฌ๋ ์ด์ ์ด ํ์ํ์ง ์์ผ๋ฏ๋ก ๋ชจ๋ ์ ํ์ VPS์ ์ ํฉํฉ๋๋ค.
์ค์น ๋ฐ ๊ตฌ์ฑ
์ฐ๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ์ ๊ฐ์ ๋จธ์ ์ด ํ์ํฉ๋๋ค. Ubuntu ๊ธฐ๋ณธ ์ค์ ์ํ์ Server 18.04 LTS์ ๋๋ค. ์ด ๋ฐฐํฌํ์ ํ์ค ์ ์ฅ์์๋ ์ฌ๋ฌ VNC ์๋ฒ๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. , , ๋ฐ ๊ธฐํ. ์ฐ๋ฆฌ๋ ์ง์๋์ง ์๋ TightVNC์ ์ต์ ํฌํฌ์ธ TigerVNC๋ฅผ ์ ํํ์ต๋๋ค. ๋ค๋ฅธ ์๋ฒ๋ฅผ ์ค์ ํ๋ ๊ฒ๋ ๋น์ทํ ๋ฐฉ์์ผ๋ก ์ด๋ฃจ์ด์ง๋๋ค. ๋ํ ๋ฐ์คํฌํฑ ํ๊ฒฝ์ ์ ํํด์ผ ํฉ๋๋ค. ์ ํฌ ์๊ฒฌ์ผ๋ก๋ ์ปดํจํ ๋ฆฌ์์ค์ ๋ํ ์๊ตฌ ์ฌํญ์ด ๋น๊ต์ ๋ฎ๊ธฐ ๋๋ฌธ์ XFCE๊ฐ ๊ฐ์ฅ ์ข์ ์ต์ ์ ๋๋ค. ์ํ๋ ์ฌ๋์ ๋ค๋ฅธ DE๋ WM์ ์ค์นํ ์ ์์ต๋๋ค. ์ฌ๊ธฐ์ ๋ชจ๋ ๊ฒ์ ๊ฐ์ธ์ ์ ํธ๋์ ๋ฌ๋ ค ์์ง๋ง, ์ํํธ์จ์ด ์ ํ์ RAM๊ณผ ์ปดํจํ ์ฝ์ด์ ํ์์ฑ์ ์ง์ ์ ์ธ ์ํฅ์ ๋ฏธ์นฉ๋๋ค.

๋ชจ๋ ์ข ์์ฑ์ ๊ฐ์ถ ๋ฐ์คํฌํ ํ๊ฒฝ ์ค์น๋ ๋ค์ ๋ช ๋ น์ ์ฌ์ฉํ์ฌ ์ํ๋ฉ๋๋ค.
sudo apt-get install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils๋ค์์ผ๋ก VNC ์๋ฒ๋ฅผ ์ค์นํด์ผ ํฉ๋๋ค.
sudo apt-get install tigervnc-standalone-server tigervnc-common๋ฃจํธ ๊ถํ์ผ๋ก ์คํํ๋ ๊ฒ์ ์ข์ง ์์ต๋๋ค. ์ฌ์ฉ์ ๋ฐ ๊ทธ๋ฃน์ ๋ง๋ญ๋๋ค.
sudo adduser vnc 
๊ด๋ฆฌ ๊ด๋ จ ์์ ์ ์ํํ ์ ์๋๋ก ์ฌ์ฉ์๋ฅผ sudo ๊ทธ๋ฃน์ ์ถ๊ฐํด ๋ณด๊ฒ ์ต๋๋ค. ๊ทธ๋ด ํ์๊ฐ ์์ผ๋ฉด ์ด ๋จ๊ณ๋ฅผ ๊ฑด๋๋ธ ์ ์์ต๋๋ค.
sudo gpasswd -a vnc sudo๋ค์ ๋จ๊ณ๋ vnc ์ฌ์ฉ์ ๊ถํ์ผ๋ก VNC ์๋ฒ๋ฅผ ์คํํ์ฌ ~/.vnc/ ๋๋ ํ ๋ฆฌ์ ๋ณด์ ์ํธ์ ๊ตฌ์ฑ ํ์ผ์ ๋ง๋๋ ๊ฒ์ ๋๋ค. ๋น๋ฐ๋ฒํธ ๊ธธ์ด๋ 6~8์๊น์ง ๊ฐ๋ฅํฉ๋๋ค(์ถ๊ฐ ๋ฌธ์๋ ์ญ์ ๋ฉ๋๋ค). ํ์ํ ๊ฒฝ์ฐ, ํค๋ณด๋์ ๋ง์ฐ์ค์ ์ ๊ทผํ ์ ์๋, ์ฆ ๋ณด๊ธฐ ์ ์ฉ ๋น๋ฐ๋ฒํธ๋ ์ค์ ๋ฉ๋๋ค. ๋ค์ ๋ช ๋ น์ vnc ์ฌ์ฉ์๋ก ์คํ๋ฉ๋๋ค.
su - vnc
vncserver -localhost no 
๊ธฐ๋ณธ์ ์ผ๋ก RFB ํ๋กํ ์ฝ์ 5900~5906 ๋ฒ์์ TCP ํฌํธ๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ด๋ ์์ ๋์คํ๋ ์ด ํฌํธ๋ก, ๊ฐ๊ฐ X ์๋ฒ ํ๋ฉด์ ํด๋นํฉ๋๋ค. ์ด ๊ฒฝ์ฐ ํฌํธ๋ :0๋ถํฐ :6๊น์ง์ ํ๋ฉด๊ณผ ์ฐ๊ฒฐ๋ฉ๋๋ค. ์ฐ๋ฆฌ๊ฐ ์์ํ VNC ์๋ฒ ์ธ์คํด์ค๋ ํฌํธ 5901์์ ์์ ์ค์
๋๋ค(ํ๋ฉด :1). ๋ค๋ฅธ ์ธ์คํด์ค๋ :2, :3 ๋ฑ์ ํ๋ฉด์ด ์๋ ๋ค๋ฅธ ํฌํธ์์ ์คํ๋ ์ ์์ต๋๋ค. ์ถ๊ฐ ๊ตฌ์ฑ์ ์์ํ๊ธฐ ์ ์ ์๋ฒ๋ฅผ ์ค์งํด์ผ ํฉ๋๋ค.
vncserver -kill :1์ด ๋ช ๋ น์ "Xtigervnc ํ๋ก์ธ์ค ID 18105๋ฅผ ์ข ๋ฃํฉ๋๋ค... ์ฑ๊ณต!"๊ณผ ๋น์ทํ ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
TigerVNC๊ฐ ์์๋๋ฉด ~/.vnc/xstartup ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ์ฌ ๊ตฌ์ฑ ์ต์ ์ ์ค์ ํฉ๋๋ค. ๊ธฐ์กด ์คํฌ๋ฆฝํธ์ ๋ฐฑ์ ๋ณธ์ด ์๋ค๋ฉด ์ด๋ฅผ ์ ์ฅํด ๋๊ณ , ์ด๋ฅผ ๋ฐํ์ผ๋ก ์ฐ๋ฆฌ๋ง์ ์คํฌ๋ฆฝํธ๋ฅผ ๋ง๋ค์ด ๋ณด๊ฒ ์ต๋๋ค.
mv ~/.vnc/xstartup ~/.vnc/xstartup.b
nano ~/.vnc/xstartupXFCE ๋ฐ์คํฌํฑ ํ๊ฒฝ ์ธ์ ์ ๋ค์ xstartup ์คํฌ๋ฆฝํธ์ ์ํด ์์๋ฉ๋๋ค.
#!/bin/bash
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
xrdb $HOME/.Xresources
exec /usr/bin/startxfce4 &xrdb ๋ช ๋ น์ VNC ์์คํ ์ ํ ๋๋ ํ ๋ฆฌ์ .Xresources ํ์ผ์ ์ฝ๋๋ก ์ง์ํ๋ ๋ฐ ํ์ํฉ๋๋ค. ์ฌ์ฉ์๋ ๊ทธ๋ํฝ ๋ฐ์คํฌํฑ์ ๋ค์ํ ๋งค๊ฐ๋ณ์(๊ธ๊ผด ๋ ๋๋ง, ํฐ๋ฏธ๋ ์์, ์ปค์ ํ ๋ง ๋ฑ)๋ฅผ ์ ์ํ ์ ์์ต๋๋ค. ์คํฌ๋ฆฝํธ๋ ์คํ ๊ฐ๋ฅํด์ผ ํฉ๋๋ค.
chmod 755 ~/.vnc/xstartup์ด๊ฒ์ผ๋ก VNC ์๋ฒ ์ค์ ์ด ์๋ฃ๋์์ต๋๋ค. vncserver -localhost no ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ์ฌ ์คํํ๋ฉด(vnc ์ฌ์ฉ์๋ก), ์์ ์ค์ ํ ๋น๋ฐ๋ฒํธ๋ก ์ ์์ด ๊ฐ๋ฅํ๋ฉฐ, ์๋์ ๊ฐ์ ํ๋ฉด์ ๋ณด์ค ์ ์์ต๋๋ค.

systemd๋ฅผ ํตํ ์๋น์ค ์์
VNC ์๋ฒ๋ฅผ ์๋์ผ๋ก ์์ํ๋ ๊ฒ์ ํ๋ก๋์ ํ๊ฒฝ์ ์ ํฉํ์ง ์์ผ๋ฏ๋ก ์์คํ ์๋น์ค๋ฅผ ๊ตฌ์ฑํฉ๋๋ค. ๋ช ๋ น์ ๋ฃจํธ๋ก ์คํ๋ฉ๋๋ค(sudo ์ฌ์ฉ). ๋จผ์ , ์๋ฒ์ ๋ํ ์๋ก์ด ๋จ์ ํ์ผ์ ๋ง๋ค์ด ๋ณด๊ฒ ์ต๋๋ค.
sudo nano /etc/systemd/system/vncserver@.service์ด๋ฆ์ @ ๊ธฐํธ๋ฅผ ์ฌ์ฉํ๋ฉด ์ธ์๋ฅผ ์ ๋ฌํ์ฌ ์๋น์ค๋ฅผ ๊ตฌ์ฑํ ์ ์์ต๋๋ค. ์ฐ๋ฆฌ์ ๊ฒฝ์ฐ์๋ VNC ๋์คํ๋ ์ด ํฌํธ๋ฅผ ์ง์ ํฉ๋๋ค. ๋จ์ ํ์ผ์ ์ฌ๋ฌ ์น์ ์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
[Unit]
Description=TigerVNC server
After=syslog.target network.target
[Service]
Type=simple
User=vnc
Group=vnc
WorkingDirectory=/home/vnc
PIDFile=/home/vnc/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x960 :%i
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target๊ทธ๋ฐ ๋ค์ systemd์ ์ ํ์ผ์ ์๋ฆฌ๊ณ ํ์ฑํํด์ผ ํฉ๋๋ค.
sudo systemctl daemon-reload
sudo systemctl enable vncserver@1.service์ด๋ฆ์ ์ซ์ 1์ ํ๋ฉด ๋ฒํธ๋ฅผ ์ง์ ํฉ๋๋ค.
VNC ์๋ฒ๋ฅผ ์ค์งํ๊ณ ์๋น์ค๋ก ์์ํ ํ ์ํ๋ฅผ ํ์ธํฉ๋๋ค.
# ะพั ะธะผะตะฝะธ ะฟะพะปัะทะพะฒะฐัะตะปั vnc
vncserver -kill :1# ั ะฟัะธะฒะธะปะตะณะธัะผะธ ััะฟะตัะฟะพะปัะทะพะฒะฐัะตะปั
sudo systemctl start vncserver@1
sudo systemctl status vncserver@1์๋น์ค๊ฐ ์คํ ์ค์ด๋ผ๋ฉด ๋ค์๊ณผ ๊ฐ์ ๊ฒฐ๊ณผ๊ฐ ๋์์ผ ํฉ๋๋ค.

๋ฐ์คํฌํ์ ์ฐ๊ฒฐ
์ฐ๋ฆฌ์ ๊ตฌ์ฑ์ ์ํธํ๋ฅผ ์ฌ์ฉํ์ง ์์ผ๋ฏ๋ก, ๊ณต๊ฒฉ์๊ฐ ๋คํธ์ํฌ ํจํท์ ๊ฐ๋ก์ฑ ์ ์์ต๋๋ค. ๋ํ VNC ์๋ฒ์์๋ ๋งค์ฐ ์ผ๋ฐ์ ์ ๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก ์ธํฐ๋ท์ ๋ ธ์ถ์ํค๋ ๊ฒ์ ์๋ฏธ๊ฐ ์์ต๋๋ค. ๋ก์ปฌ ์ปดํจํฐ์ ์์ ํ๊ฒ ์ฐ๊ฒฐํ๋ ค๋ฉด ํธ๋ํฝ์ SSH ํฐ๋๋ก ํฐ๋๋งํ ๋ค์ VNC ํด๋ผ์ด์ธํธ๋ฅผ ๊ตฌ์ฑํด์ผ ํฉ๋๋ค. Windows ๊ทธ๋ํฝ SSH ํด๋ผ์ด์ธํธ(์: PuTTY)๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ณด์์์ ์ด์ ๋ก ์๋ฒ์ TigerVNC๋ localhost์์๋ง ์์ ๋๊ธฐํ๋ฉฐ ๊ณต์ฉ ๋คํธ์ํฌ์์ ์ง์ ์ ๊ทผํ ์ ์์ต๋๋ค.
sudo netstat -ap |more 
ะ LinuxFreeBSD, OS X ๋ฐ ๊ธฐํ UNIX ๊ณ์ด ์ด์ ์ฒด์ ์์๋ ssh ์ ํธ๋ฆฌํฐ๋ฅผ ์ฌ์ฉํ์ฌ ํด๋ผ์ด์ธํธ ์ปดํจํฐ์์ ํฐ๋์ ์์ฑํฉ๋๋ค(VNC ์๋ฒ์์ sshd๊ฐ ์คํ ์ค์ด์ด์ผ ํจ).
ssh -L 5901:127.0.0.1:5901 -C -N -l vnc vnc_server_ip-L ์ต์ ์ ์๊ฒฉ ์ฐ๊ฒฐ์ ํฌํธ 5901์ ๋ก์ปฌ ํธ์คํธ์ ํฌํธ 5901์ ๋ฐ์ธ๋ฉํฉ๋๋ค. -C ์ต์ ์ ์์ถ์ ํ์ฑํํ๊ณ , -N ์ต์ ์ ssh์๊ฒ ์๊ฒฉ ๋ช ๋ น์ ์คํํ์ง ๋ง๋ผ๊ณ ์๋ ค์ค๋๋ค. -l ์ต์ ์ ์๊ฒฉ ๋ก๊ทธ์ธ์ ์ํ login์ ์ง์ ํฉ๋๋ค.
๋ก์ปฌ ์ปดํจํฐ์ ํฐ๋์ ์ค์ ํ ํ VNC ํด๋ผ์ด์ธํธ๋ฅผ ์คํํ๊ณ ์ด์ ์ ์ค์ ํ ๋น๋ฐ๋ฒํธ๋ฅผ ์ฌ์ฉํ์ฌ VNC ์๋ฒ์ ์ก์ธ์คํ์ฌ ํธ์คํธ 127.0.0.1:5901(localhost:5901)์ ์ฐ๊ฒฐ์ ์ค์ ํด์ผ ํฉ๋๋ค. ์ด์ VPS์ XFCE ๊ทธ๋ํฝ ๋ฐ์คํฌํฑ ํ๊ฒฝ๊ณผ ์ํธํ๋ ํฐ๋์ ํตํด ์์ ํ๊ฒ ์ํธ ์์ฉํ ์ ์์ต๋๋ค. ์คํฌ๋ฆฐ์ท์์ ์์ ์ ํธ๋ฆฌํฐ๋ ํฐ๋ฏธ๋ ์๋ฎฌ๋ ์ดํฐ์์ ์คํ๋์ด ๊ฐ์ ๋จธ์ ์ ์ปดํจํ ๋ฆฌ์์ค ์๋ชจ๊ฐ ๋ฏธ๋ฏธํ๋ค๋ ๊ฒ์ ๋ณด์ฌ์ค๋๋ค. ๋ํ ๋ชจ๋ ๊ฒ์ ์ฌ์ฉ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค.

VNC ์๋ฒ๋ฅผ ์ค์นํ๊ณ ๊ตฌ์ฑํ์ญ์์ค. Linux ์ด ๊ธฐ๋ฅ์ ์ฌ์ค์ ๋ชจ๋ VPS์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋น๋์ค ์ด๋ํฐ ์๋ฎฌ๋ ์ด์
๊ณผ ๊ฐ์ ๊ณ ๊ฐ์ ๋ฆฌ์์ค ์ง์ฝ์ ์ธ ๊ตฌ์ฑ์ด๋ ์์ฉ ์ํํธ์จ์ด ๋ผ์ด์ ์ค ๊ตฌ๋งค๊ฐ ํ์ํ์ง ์์ต๋๋ค. ์์ ์ค๋ช
ํ ์์คํ
์๋น์ค ์ต์
์ธ์๋ ์์คํ
๋ถํ
์ ๋ฐ๋ชฌ ๋ชจ๋(/etc/rc.local์ ํตํด)๋ก ์์ํ๊ฑฐ๋ inetd๋ฅผ ํตํด ํ์์ ๋ฐ๋ผ ์์ํ๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ํ์๋ ๋ค์ค ์ฌ์ฉ์ ๊ตฌ์ฑ์ ๋ง๋ค ๋ ์ ์ฉํฉ๋๋ค. ์ธํฐ๋ท ์ํผ์๋ฒ๋ VNC ์๋ฒ๋ฅผ ์คํํ๊ณ ํด๋ผ์ด์ธํธ๋ฅผ ์ฐ๊ฒฐํ๋ฉฐ, VNC ์๋ฒ๋ ์ ํ๋ฉด์ ์์ฑํ๊ณ ์ธ์
์ ์์ํฉ๋๋ค. ๊ทธ๋ํฝ ๋์คํ๋ ์ด ๊ด๋ฆฌ์(์: ), ํด๋ผ์ด์ธํธ์ ์ฐ๊ฒฐ์ด ๋์ด์ง๋ฉด ์ธ์
์ด ๋ซํ๊ณ ํ๋ฉด์ ์ฌ์ฉํ๋ ๋ชจ๋ ํ๋ก๊ทธ๋จ์ด ์ข
๋ฃ๋ฉ๋๋ค.
์ถ์ฒ : habr.com
