äžéšã®ãŠãŒã¶ãŒã¯æ¯èŒçå®äŸ¡ãªVPSãã¬ã³ã¿ã«ãã Windows ãªã¢ãŒããã¹ã¯ããããµãŒãã¹ãèµ·åããã«ã¯ã以äžã®æé ã«åŸã£ãŠãã ããã Linux ããŒã¿ã»ã³ã¿ãŒã«ç¬èªã®ããŒããŠã§ã¢ãèšçœ®ããããå°çšãµãŒããŒãã¬ã³ã¿ã«ãããããããšãªãããã¹ããéçºã«äœ¿ãæ
£ããã°ã©ãã£ã«ã«ç°å¢ãå¿
èŠãªå Žåããã¢ãã€ã«ããã€ã¹ããäœæ¥ããããã«ãããŒããã³ãæ¥ç¶ãåãããªã¢ãŒããã¹ã¯ããããå¿
èŠãªå ŽåããããŸãããªã¢ãŒããã¬ãŒã ãããã¡ïŒRFBïŒãããã³ã«ããŒã¹ã®ä»®æ³ãããã¯ãŒã¯ã³ã³ãã¥ãŒãã£ã³ã°ïŒVNCïŒã«ã¯ãæ°å€ãã®çšéããããŸãããã®èšäºã§ã¯ãä»»æã®ãã€ããŒãã€ã¶ãŒãåããä»®æ³ãã·ã³ã«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 &VNC ãããŒã ãã£ã¬ã¯ããªå ã® .Xresources ãã¡ã€ã«ãèªã¿åãã«ã¯ãxrdb ã³ãã³ããå¿ èŠã§ãã ããã§ãŠãŒã¶ãŒã¯ããã©ã³ãã®ã¬ã³ããªã³ã°ã端æ«ã®è²ãã«ãŒãœã«ã®ããŒããªã©ãããŸããŸãªã°ã©ãã£ã«ã« ãã¹ã¯ãããèšå®ãå®çŸ©ã§ããŸãã ã¹ã¯ãªããã¯å®è¡å¯èœã«ããå¿ èŠããããŸãã
chmod 755 ~/.vnc/xstartupããã§VNCãµãŒããŒã®ã»ããã¢ããã¯å®äºã§ãã ã³ãã³ã vncserver -localhost no (vnc ãŠãŒã¶ãŒãšããŠ) ã䜿çšããŠå®è¡ãããšã以åã«æå®ãããã¹ã¯ãŒãã§æ¥ç¶ã§ããæ¬¡ã®å³ã衚瀺ãããŸãã

systemd çµç±ã§ãµãŒãã¹ãéå§ãã
VNC ãµãŒããŒãæåã§èµ·åããã®ã¯æŠéã§ã®äœ¿çšã«ã¯é©ããªããããã·ã¹ãã ãµãŒãã¹ãæ§æããŸãã ã³ãã³ã㯠root ãšããŠå®è¡ãããŸã (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 ãªãã·ã§ã³ã¯ããªã¢ãŒã ãã°ã€ã³ã®ãã°ã€ã³ãæå®ããŸãã
ããŒã«ã« ã³ã³ãã¥ãŒã¿ãŒã§ãã³ãã«ãèšå®ããåŸãVNC ã¯ã©ã€ã¢ã³ããèµ·åããVNC ãµãŒããŒã«ã¢ã¯ã»ã¹ããããã«ä»¥åã«æå®ãããã¹ã¯ãŒãã䜿çšããŠãã¹ã 127.0.0.1:5901 (localhost:5901) ãžã®æ¥ç¶ã確ç«ããå¿ èŠããããŸãã ããã§ãæå·åããããã³ãã«ãä»ã㊠VPS äžã® XFCE ã°ã©ãã£ã«ã« ãã¹ã¯ãããç°å¢ãšå®å šã«éä¿¡ã§ããããã«ãªããŸããã ã¹ã¯ãªãŒã³ã·ã§ããã§ã¯ãäžçªäžã®ãŠãŒãã£ãªãã£ãã¿ãŒããã« ãšãã¥ã¬ãŒã¿ãŒã§å®è¡ãããŠãããä»®æ³ãã·ã³ã®ã³ã³ãã¥ãŒãã£ã³ã° ãªãœãŒã¹ã®æ¶è²»éãå°ãªãããšã瀺ãããŠããŸãã ãã®åŸããã¹ãŠã¯ãŠãŒã¶ãŒã®ã¢ããªã±ãŒã·ã§ã³ã«äŸåããŸãã

VNCãµãŒããŒãã€ã³ã¹ããŒã«ããŠèšå®ããŸã Linux ããã¯ãã»ãŒãã¹ãŠã® VPS ã§å®è¡ã§ããŸãããã㪠ã¢ããã¿ ãšãã¥ã¬ãŒã·ã§ã³ã䜿çšããé«äŸ¡ã§ãªãœãŒã¹ã倧éã«æ¶è²»ããæ§æããåçšãœãããŠã§ã¢ ã©ã€ã»ã³ã¹ã®è³Œå
¥ã¯å¿
èŠãããŸããããããŸã§èª¬æããŠããã·ã¹ãã ãµãŒãã¹ ãªãã·ã§ã³ã«å ããŠãã·ã¹ãã ããŒãæã«ããŒã¢ã³ ã¢ãŒã (/etc/rc.local çµç±) ã§èµ·åããããinetd ãä»ããŠãªã³ããã³ãã§èµ·åãããšããæ¹æ³ããããŸããåŸè
ã¯ããã«ã ãŠãŒã¶ãŒæ§æãäœæããå Žåã«äŸ¿å©ã§ããã€ã³ã¿ãŒããã ã¹ãŒã㌠ãµãŒããŒã VNC ãµãŒããŒãèµ·åããŠã¯ã©ã€ã¢ã³ããæ¥ç¶ããã°ãVNC ãµãŒããŒãæ°ããç»é¢ãäœæããŠã»ãã·ã§ã³ãéå§ã§ããŸããã°ã©ãã£ã«ã« ãã£ã¹ãã¬ã€ ãããŒãžã£ (äŸ: )ãã¯ã©ã€ã¢ã³ããåæãããšãã»ãã·ã§ã³ãéããããç»é¢ã§åäœããŠãããã¹ãŠã®ããã°ã©ã ãçµäºããŸãã
åºæïŒ habr.com
