lxc-container_oeffnet_automatisch_den_vnc-port
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| lxc-container_oeffnet_automatisch_den_vnc-port [2016-04-12 22:50:02] – Externe Bearbeitung 127.0.0.1 | lxc-container_oeffnet_automatisch_den_vnc-port [2018-05-28 11:40:26] (aktuell) – manfred | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ====== LXC-Container öffnet automatisch den VNC-Port ====== | ||
| + | |||
| + | |||
| + | ===== automatischer Start des VNC-Servers beim Containerstart ===== | ||
| + | |||
| + | Hier fallen mir ganz spontan zwei verschiedene Möglichkeiten ein: | ||
| + | - mit einem System-V - Start-/ | ||
| + | - einfach über den Cron | ||
| + | |||
| + | beide Varianten | ||
| + | |||
| + | |||
| + | ==== Start-/ | ||
| + | |||
| + | |||
| + | === innerhalb des Containers === | ||
| + | |||
| + | Damit man sich zum starten des VNC-Servers nicht immer im Container einloggen muss, | ||
| + | sollte man sich ein Start-/ | ||
| + | Dazu kann man zum Beispiel so vorgehen: | ||
| + | # touch / | ||
| + | # chmod 0755 / | ||
| + | # vi / | ||
| + | # update-rc.d vncserver defaults 99 01 | ||
| + | |||
| + | |||
| + | # vi / | ||
| + | | ||
| + | #! /bin/sh | ||
| + | ### BEGIN INIT INFO | ||
| + | # Provides: | ||
| + | # Required-Start: | ||
| + | # Required-Stop: | ||
| + | # Default-Start: | ||
| + | # Default-Stop: | ||
| + | # Short-Description: | ||
| + | ### END INIT INFO | ||
| + | | ||
| + | AUFLOESUNG=" | ||
| + | VNCPORTOPT=" | ||
| + | VNCSTARTCMD=" | ||
| + | VNCSTOPCMD=" | ||
| + | | ||
| + | PATH=/ | ||
| + | | ||
| + | . / | ||
| + | . / | ||
| + | | ||
| + | do_start() { | ||
| + | log_begin_msg "Start ${VNCSTARTCMD}" | ||
| + | ${VNCSTARTCMD} | ||
| + | ES=$? | ||
| + | log_end_msg $ES | ||
| + | return $ES | ||
| + | } | ||
| + | | ||
| + | do_stop() { | ||
| + | log_begin_msg "Stop ${VNCSTOPCMD}" | ||
| + | ${VNCSTOPCMD} | ||
| + | ES=$? | ||
| + | log_end_msg $ES | ||
| + | return $ES | ||
| + | } | ||
| + | | ||
| + | do_status() { | ||
| + | VNCSTATUS=" | ||
| + | if [ -n " | ||
| + | echo " | ||
| + | else | ||
| + | echo "Es laufen keine VNC-Prozesse." | ||
| + | fi | ||
| + | } | ||
| + | | ||
| + | case " | ||
| + | start) | ||
| + | do_start | ||
| + | ;; | ||
| + | stop) | ||
| + | do_stop | ||
| + | ;; | ||
| + | restart) | ||
| + | do_stop | ||
| + | sleep 1 | ||
| + | do_start | ||
| + | ;; | ||
| + | status) | ||
| + | do_status | ||
| + | ;; | ||
| + | *) | ||
| + | echo " | ||
| + | exit 3 | ||
| + | ;; | ||
| + | esac | ||
| + | |||
| + | |||
| + | ==== Crontab ==== | ||
| + | |||
| + | |||
| + | === ausserhalb des Containers (vom Host-System aus) === | ||
| + | |||
| + | Wenn dieser Container nur den VNC-Prozess starten soll, | ||
| + | und man mit dem Container nicht weiter anstellen will, | ||
| + | dann genügt auch dieser "dirty hack": | ||
| + | # echo "* * * * * root vncserver -geometry 1152x864 :1 > /dev/null 2>& | ||
| + | |||
| + | Hier wird der VNC-Server jede Minute einmal gestartet, | ||
| + | wenn er bereits läuft, dann gibt es nur eine Meldung, | ||
| + | die hier aber verworfen wird. | ||
| + | |||
| + | ...und mann spart sich das Start-/ | ||
| + | |||
