äžéšã®ãŠãŒã¶ãŒã¯ãWindows ãæèŒããæ¯èŒçå®äŸ¡ãª VPS ãã¬ã³ã¿ã«ããŠããªã¢ãŒã ãã¹ã¯ããã ãµãŒãã¹ãå®è¡ããŸãã ããŒã¿ã»ã³ã¿ãŒã§ç¬èªã®ããŒããŠã§ã¢ããã¹ãããããå°çšãµãŒããŒãã¬ã³ã¿ã«ãããããããšãªããLinux ã§ãåæ§ã®ããšãå¯èœã§ãã ãã¹ããéçºã®ããã®äœ¿ãæ
£ããã°ã©ãã£ã«ã«ç°å¢ããŸãã¯ã¢ãã€ã« ããã€ã¹ããäœæ¥ããããã®å¹
åºããã£ãã«ãåãããªã¢ãŒã ãã¹ã¯ããããå¿
èŠãšãã人ãããŸãã ãªã¢ãŒã ãã¬ãŒã ãããã¡ (RFB) ãããã³ã« ããŒã¹ã®ä»®æ³ãããã¯ãŒã¯ ã³ã³ãã¥ãŒãã£ã³ã° (VNC) ã·ã¹ãã ã䜿çšããã«ã¯ãå€ãã®ãªãã·ã§ã³ããããŸãã ãã®çãèšäºã§ã¯ããã€ããŒãã€ã¶ãŒãåããä»®æ³ãã·ã³äžã§ãããæ§æããæ¹æ³ã説æããŸãã
ç®æ¬¡ïŒ
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 ãµãŒããŒãæåã§èµ·åããã®ã¯æŠéã§ã®äœ¿çšã«ã¯é©ããªããããã·ã¹ãã ãµãŒãã¹ãæ§æããŸãã ã³ãã³ã㯠root ãšããŠå®è¡ãããŸã (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 ãããŒã«ã«ãã¹ãã®ããŒã 5901 ã«ãã€ã³ãããŸãã -C ãªãã·ã§ã³ã¯å§çž®ãæå¹ã«ãã-N ãªãã·ã§ã³ã¯ ssh ã«ãªã¢ãŒã ã³ãã³ããå®è¡ããªãããæ瀺ããŸãã -l ãªãã·ã§ã³ã¯ããªã¢ãŒã ãã°ã€ã³ã®ãã°ã€ã³ãæå®ããŸãã
ããŒã«ã« ã³ã³ãã¥ãŒã¿ãŒã§ãã³ãã«ãèšå®ããåŸãVNC ã¯ã©ã€ã¢ã³ããèµ·åããVNC ãµãŒããŒã«ã¢ã¯ã»ã¹ããããã«ä»¥åã«æå®ãããã¹ã¯ãŒãã䜿çšããŠãã¹ã 127.0.0.1:5901 (localhost:5901) ãžã®æ¥ç¶ã確ç«ããå¿ èŠããããŸãã ããã§ãæå·åããããã³ãã«ãä»ã㊠VPS äžã® XFCE ã°ã©ãã£ã«ã« ãã¹ã¯ãããç°å¢ãšå®å šã«éä¿¡ã§ããããã«ãªããŸããã ã¹ã¯ãªãŒã³ã·ã§ããã§ã¯ãäžçªäžã®ãŠãŒãã£ãªãã£ãã¿ãŒããã« ãšãã¥ã¬ãŒã¿ãŒã§å®è¡ãããŠãããä»®æ³ãã·ã³ã®ã³ã³ãã¥ãŒãã£ã³ã° ãªãœãŒã¹ã®æ¶è²»éãå°ãªãããšã瀺ãããŠããŸãã ãã®åŸããã¹ãŠã¯ãŠãŒã¶ãŒã®ã¢ããªã±ãŒã·ã§ã³ã«äŸåããŸãã
Linux ã® VNC ãµãŒããŒã¯ãã»ãŒãã¹ãŠã® VPS ã«ã€ã³ã¹ããŒã«ããŠæ§æã§ããŸãã ããã«ã¯ããã㪠ã¢ããã¿ ãšãã¥ã¬ãŒã·ã§ã³ã䜿çšããé«äŸ¡ã§ãªãœãŒã¹ã倧éã«æ¶è²»ããæ§æãåçšãœãããŠã§ã¢ ã©ã€ã»ã³ã¹ã®è³Œå
¥ã¯å¿
èŠãããŸããã ç§ãã¡ãæ€èšããã·ã¹ãã ãµãŒãã¹ ãªãã·ã§ã³ä»¥å€ã«ããã·ã¹ãã ã®èµ·åæã«ããŒã¢ã³ ã¢ãŒã (/etc/rc.local çµç±) ã§èµ·åããããinetd çµç±ã§ãªã³ããã³ãã§èµ·åãããªãã·ã§ã³ããããŸãã åŸè
ã¯ããã«ããŠãŒã¶ãŒæ§æãäœæããå Žåã«èå³æ·±ããã®ã§ãã ã€ã³ã¿ãŒããã ã¹ãŒããŒãµãŒããŒã¯ VNC ãµãŒããŒãèµ·åããŠã¯ã©ã€ã¢ã³ããããã«æ¥ç¶ããVNC ãµãŒããŒã¯æ°ããç»é¢ãäœæããŠã»ãã·ã§ã³ãéå§ããŸãã ãã®äžã§èªèšŒããã«ã¯ãã°ã©ãã£ã«ã« ãã£ã¹ãã¬ã€ ãããŒãžã£ãŒ (ããšãã°ã
åºæïŒ habr.com