์ผ๋ถ ์ฌ์ฉ์๋ ์๊ฒฉ ๋ฐ์คํฌํฑ ์๋น์ค๋ฅผ ์คํํ๊ธฐ ์ํด Windows์์ ์๋์ ์ผ๋ก ์ ๋ ดํ VPS๋ฅผ ์๋ํฉ๋๋ค. ๋ฐ์ดํฐ ์ผํฐ์์ ์์ฒด ํ๋์จ์ด๋ฅผ ํธ์คํ
ํ๊ฑฐ๋ ์ ์ฉ ์๋ฒ๋ฅผ ์๋ํ์ง ์๊ณ ๋ Linux์์๋ ๋์ผํ ์์
์ ์ํํ ์ ์์ต๋๋ค. ์ด๋ค ์ฌ๋๋ค์๊ฒ๋ ํ
์คํธ ๋ฐ ๊ฐ๋ฐ์ ์ํ ์น์ํ ๊ทธ๋ํฝ ํ๊ฒฝ์ด ํ์ํ๊ฑฐ๋ ๋ชจ๋ฐ์ผ ์ฅ์น์์ ์์
ํ๊ธฐ ์ํ ๊ด๋ฒ์ํ ์ฑ๋์ ๊ฐ์ถ ์๊ฒฉ ๋ฐ์คํฌํฑ์ด ํ์ํฉ๋๋ค. RFB(Remote FrameBuffer) ํ๋กํ ์ฝ ๊ธฐ๋ฐ VNC(Virtual Network Computing) ์์คํ
์ ์ฌ์ฉํ๊ธฐ ์ํ ๋ค์ํ ์ต์
์ด ์์ต๋๋ค. ์ด ์งง์ ๊ธฐ์ฌ์์๋ ํ์ดํผ๋ฐ์ด์ ๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ ๋จธ์ ์์ ์ด๋ฅผ ๊ตฌ์ฑํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช
ํฉ๋๋ค.
๋ชฉ์ฐจ :
VNC ์๋ฒ ์ ํ
VNC ์๋น์ค๋ ๊ฐ์ํ ์์คํ ์ ๊ตฌ์ถ๋ ์ ์์ผ๋ฉฐ ํ์ดํผ๋ฐ์ด์ ๋ ์ด๋ฅผ ์๋ฎฌ๋ ์ดํธ๋ ์ฅ์น์ ์ฐ๊ฒฐํ๋ฏ๋ก ์ถ๊ฐ ๊ตฌ์ฑ์ด ํ์ํ์ง ์์ต๋๋ค. ์ด ์ต์ ์ ์๋นํ ์ค๋ฒํค๋๋ฅผ ์๋ฐํ๋ฉฐ ๋ชจ๋ ๊ณต๊ธ์๊ฐ ์ง์ํ์ง ์์ต๋๋ค. ๋ฆฌ์์ค ์ง์ฝ๋๊ฐ ๋ฎ์ ๊ตฌํ์์๋ ์ค์ ๊ทธ๋ํฝ ์ฅ์น๋ฅผ ์๋ฎฌ๋ ์ดํธํ๋ ๋์ ๋จ์ํ๋ ์ถ์ํ(ํ๋ ์ ๋ฒํผ)๊ฐ ๊ฐ์ ๋จธ์ ์ผ๋ก ์ ์ก๋ฉ๋๋ค. ๋๋๋ก VNC ์๋ฒ๊ฐ ์คํ ์ค์ธ X ์๋ฒ์ ์ฐ๊ฒฐ๋์ด ์์ง๋ง ์ด ๋ฐฉ๋ฒ์ ์ค์ ๋จธ์ ์ ์ก์ธ์คํ๋ ๋ฐ ๋ ์ ํฉํ๋ฉฐ ๊ฐ์ ๋จธ์ ์์๋ ์ฌ๋ฌ ๊ฐ์ง ๊ธฐ์ ์ ์ธ ์ด๋ ค์์ด ๋ฐ์ํฉ๋๋ค. VNC ์๋ฒ๋ฅผ ์ค์นํ๋ ๊ฐ์ฅ ์ฌ์ด ๋ฐฉ๋ฒ์ ๋ด์ฅ๋ X ์๋ฒ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค. ๋ฌผ๋ฆฌ์ ์ฅ์น(๋น๋์ค ์ด๋ํฐ, ํค๋ณด๋ ๋ฐ ๋ง์ฐ์ค)๋ ํ์ดํผ๋ฐ์ด์ ๋ฅผ ์ฌ์ฉํ ์๋ฎฌ๋ ์ด์ ์ด ํ์ํ์ง ์์ผ๋ฏ๋ก ๋ชจ๋ ์ ํ์ VPS์ ์ ํฉํฉ๋๋ค.
์ค์น ๋ฐ ๊ตฌ์ฑ
๊ธฐ๋ณธ ๊ตฌ์ฑ์๋ Ubuntu Server 18.04 LTS๊ฐ ํฌํจ๋ ๊ฐ์ ๋จธ์ ์ด ํ์ํฉ๋๋ค. ์ด ๋ฐฐํฌํ์ ํ์ค ์ ์ฅ์์๋ ์ฌ๋ฌ VNC ์๋ฒ๊ฐ ์์ต๋๋ค:
๋ชจ๋ ์ข ์์ฑ์ ๊ฐ์ถ ๋ฐ์คํฌํ ํ๊ฒฝ ์ค์น๋ ๋ค์ ๋ช ๋ น์ ์ฌ์ฉํ์ฌ ์ํ๋ฉ๋๋ค.
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/xstartup
XFCE ๋ฐ์คํฌํ ํ๊ฒฝ ์ธ์ ์ ๋ค์ xstartup ์คํฌ๋ฆฝํธ์ ์ํด ์์๋ฉ๋๋ค:
#!/bin/bash
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
xrdb $HOME/.Xresources
exec /usr/bin/startxfce4 &
VNC๊ฐ ํ ๋๋ ํฐ๋ฆฌ์ .Xresources ํ์ผ์ ์ฝ์ผ๋ ค๋ฉด xrdb ๋ช ๋ น์ด ํ์ํฉ๋๋ค. ์ฌ๊ธฐ์ ์ฌ์ฉ์๋ ๊ธ๊ผด ๋ ๋๋ง, ํฐ๋ฏธ๋ ์์, ์ปค์ ํ ๋ง ๋ฑ ๋ค์ํ ๊ทธ๋ํฝ ๋ฐ์คํฌํ ์ค์ ์ ์ ์ํ ์ ์์ต๋๋ค. ์คํฌ๋ฆฝํธ๋ฅผ ์คํ ๊ฐ๋ฅํ๊ฒ ๋ง๋ค์ด์ผ ํฉ๋๋ค.
chmod 755 ~/.vnc/xstartup
์ด๋ก์จ VNC ์๋ฒ ์ค์ ์ด ์๋ฃ๋์์ต๋๋ค. vncserver -localhost no ๋ช ๋ น(vnc ์ฌ์ฉ์๋ก)์ผ๋ก ์คํํ๋ฉด ์ด์ ์ ์ง์ ํ ๋น๋ฐ๋ฒํธ๋ก ์ ์ํ์ฌ ๋ค์ ๊ทธ๋ฆผ์ ๋ณผ ์ ์์ต๋๋ค.
systemd๋ฅผ ํตํด ์๋น์ค ์์
VNC ์๋ฒ๋ฅผ ์๋์ผ๋ก ์์ํ๋ ๊ฒ์ ์ ํฌ์ฉ์ผ๋ก ์ ํฉํ์ง ์์ผ๋ฏ๋ก ์์คํ ์๋น์ค๋ฅผ ๊ตฌ์ฑํ๊ฒ ์ต๋๋ค. ๋ช ๋ น์ ๋ฃจํธ๋ก ์คํ๋ฉ๋๋ค(Sudo๋ฅผ ์ฌ์ฉํฉ๋๋ค). ๋จผ์ ์๋ฒ์ ๋ํ ์ ์ ๋ ํ์ผ์ ์์ฑํด ๋ณด๊ฒ ์ต๋๋ค.
sudo nano /etc/systemd/system/[email protected]
์ด๋ฆ์ @ ๊ธฐํธ๋ฅผ ์ฌ์ฉํ๋ฉด ์ธ์๋ฅผ ์ ๋ฌํ์ฌ ์๋น์ค๋ฅผ ๊ตฌ์ฑํ ์ ์์ต๋๋ค. ์ฐ๋ฆฌ์ ๊ฒฝ์ฐ 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 [email protected]
์ด๋ฆ์ ์ซ์ 1์ ํ๋ฉด ๋ฒํธ๋ฅผ ์ง์ ํฉ๋๋ค.
VNC ์๋ฒ๋ฅผ ์ค์งํ๊ณ ์๋น์ค๋ก ์์ํ ํ ์ํ๋ฅผ ํ์ธํฉ๋๋ค.
# ะพั ะธะผะตะฝะธ ะฟะพะปัะทะพะฒะฐัะตะปั vnc
vncserver -kill :1
# ั ะฟัะธะฒะธะปะตะณะธัะผะธ ััะฟะตัะฟะพะปัะทะพะฒะฐัะตะปั
sudo systemctl start vncserver@1
sudo systemctl status vncserver@1
์๋น์ค๊ฐ ์คํ ์ค์ด๋ฉด ๋ค์๊ณผ ๊ฐ์ ๊ฒฐ๊ณผ๊ฐ ๋ํ๋ฉ๋๋ค.
๋ฐ์คํฌํฑ ์ฐ๊ฒฐ
์ฐ๋ฆฌ์ ๊ตฌ์ฑ์ ์ํธํ๋ฅผ ์ฌ์ฉํ์ง ์์ผ๋ฏ๋ก ๊ณต๊ฒฉ์๊ฐ ๋คํธ์ํฌ ํจํท์ ๊ฐ๋ก์ฑ ์ ์์ต๋๋ค. ๋ํ VNC ์๋ฒ์์๋ ๊ฝค ์์ฃผ
sudo netstat -ap |more
Linux, FreeBSD, OS X ๋ฐ ๊ธฐํ UNIX ๊ณ์ด OS์์๋ ssh ์ ํธ๋ฆฌํฐ๋ฅผ ์ฌ์ฉํ์ฌ ํด๋ผ์ด์ธํธ ์ปดํจํฐ์ ํฐ๋์ด ๋ง๋ค์ด์ง๋๋ค(sshd๋ VNC ์๋ฒ์์ ์คํ๋์ด์ผ ํจ).
ssh -L 5901:127.0.0.1:5901 -C -N -l vnc vnc_server_ip
-L ์ต์ ์ ์๊ฒฉ ์ฐ๊ฒฐ์ ํฌํธ 5901์ localhost์ ํฌํธ 5901์ ๋ฐ์ธ๋ฉํฉ๋๋ค. -C ์ต์ ์ ์์ถ์ ํ์ฑํํ๊ณ -N ์ต์ ์ ssh์ ์๊ฒฉ ๋ช ๋ น์ ์คํํ์ง ์๋๋ก ์ง์ํฉ๋๋ค. -l ์ต์ ์ ์๊ฒฉ ๋ก๊ทธ์ธ์ ์ํ ๋ก๊ทธ์ธ์ ์ง์ ํฉ๋๋ค.
๋ก์ปฌ ์ปดํจํฐ์ ํฐ๋์ ์ค์ ํ ํ VNC ํด๋ผ์ด์ธํธ๋ฅผ ์์ํ๊ณ ์ด์ ์ ์ง์ ํ ๋น๋ฐ๋ฒํธ๋ฅผ ์ฌ์ฉํ์ฌ VNC ์๋ฒ์ ์ก์ธ์คํ์ฌ ํธ์คํธ 127.0.0.1:5901(localhost:5901)์ ๋ํ ์ฐ๊ฒฐ์ ์ค์ ํด์ผ ํฉ๋๋ค. ์ด์ VPS์ XFCE ๊ทธ๋ํฝ ๋ฐ์คํฌํ ํ๊ฒฝ๊ณผ ์ํธํ๋ ํฐ๋์ ํตํด ์์ ํ๊ฒ ํต์ ํ ์ ์์ต๋๋ค. ์คํฌ๋ฆฐ์ท์์๋ ๊ฐ์ ๋จธ์ ์ ๋ฎ์ ์ปดํจํ ๋ฆฌ์์ค ์๋น๋ฅผ ๋ณด์ฌ์ฃผ๊ธฐ ์ํด ํฐ๋ฏธ๋ ์๋ฎฌ๋ ์ดํฐ์์ ์ต์์ ์ ํธ๋ฆฌํฐ๊ฐ ์คํ๋๊ณ ์์ต๋๋ค. ๊ทธ๋ฌ๋ฉด ๋ชจ๋ ๊ฒ์ด ์ฌ์ฉ์ ์์ฉ ํ๋ก๊ทธ๋จ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค.
๊ฑฐ์ ๋ชจ๋ VPS์ Linux์์ VNC ์๋ฒ๋ฅผ ์ค์นํ๊ณ ๊ตฌ์ฑํ ์ ์์ต๋๋ค. ์ด๋ฅผ ์ํด์๋ ๋น๋์ค ์ด๋ํฐ ์๋ฎฌ๋ ์ด์
์ด๋ ์์ฉ ์ํํธ์จ์ด ๋ผ์ด์ผ์ค ๊ตฌ๋งค๋ฅผ ํตํ ๋น์ฉ์ด ๋ง์ด ๋ค๊ณ ๋ฆฌ์์ค ์ง์ฝ์ ์ธ ๊ตฌ์ฑ์ด ํ์ํ์ง ์์ต๋๋ค. ์ฐ๋ฆฌ๊ฐ ๊ณ ๋ คํ ์์คํ
์๋น์ค ์ต์
์ธ์๋ ์์คํ
๋ถํ
์ ๋ฐ๋ชฌ ๋ชจ๋(/etc/rc.local์ ํตํด)๋ก ์คํํ๊ฑฐ๋ inetd๋ฅผ ํตํด ์์ฒญ ์ ์คํํ๋ ์ต์
๋ ์์ต๋๋ค. ํ์๋ ๋ค์ค ์ฌ์ฉ์ ๊ตฌ์ฑ์ ๋ง๋๋ ๋ฐ ์ ์ฉํฉ๋๋ค. ์ธํฐ๋ท ์ํผ์๋ฒ๋ VNC ์๋ฒ๋ฅผ ์์ํ๊ณ ํด๋ผ์ด์ธํธ๋ฅผ ์ฌ๊ธฐ์ ์ฐ๊ฒฐํ๋ฉฐ, VNC ์๋ฒ๋ ์๋ก์ด ํ๋ฉด์ ์์ฑํ๊ณ ์ธ์
์ ์์ํฉ๋๋ค. ๊ทธ ์์์ ์ธ์ฆํ๋ ค๋ฉด ๊ทธ๋ํฝ ๋์คํ๋ ์ด ๊ด๋ฆฌ์๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค(์:
์ถ์ฒ : habr.com