Wie kann ich einen VNC-Server starten, bevor ich mich anmelde?

19

Ich möchte x11vnc (oder einen anderen VNC-Server) auf meinem Desktop ausführen, finde aber keine Möglichkeit, es zu starten, bevor sich Benutzer anmelden. Als ich Vanilla Ubuntu 10.10 Vino verwendet habe, war dies standardmäßig der Fall. In Xubuntu finde ich jedoch keinen Weg, dies zu tun.

PHLAK
quelle

Antworten:

15

Normalerweise empfehle ich einen alternativen VNC-Server, x11vncserver oder FreeNX.

FreeNX - Anleitung und Download von Informationen

x11 VNC und docs

Dies setzt voraus, dass VNC eingerichtet und lauffähig ist:

Kopieren Sie den folgenden Codeblock in /etc/init.d/vncserver. Am einfachsten kopieren Sie es in Ihre Zwischenablage, führen es sudo -i && cat > /etc/init.d/vncserver && exitin einem Terminal aus, fügen es ein und geben Ctrl- D`ein. Stellen Sie sicher, dass Sie die Variable USER in den Benutzer ändern, unter dem der VNC-Server ausgeführt werden soll.

#!/bin/sh -e
### BEGIN INIT INFO
# Provides:          vncserver
# Required-Start:    networking
# Default-Start:     3 4 5
# Default-Stop:      0 6
### END INIT INFO

PATH="$PATH:/usr/X11R6/bin/"

# The Username:Group that will run VNC
export USER="mythtv"
#${RUNAS}

# The display that VNC will use
DISPLAY="1"

# Color depth (between 8 and 32)
DEPTH="16"

# The Desktop geometry to use.
#GEOMETRY="<WIDTH>x<HEIGHT>"
#GEOMETRY="800x600"
GEOMETRY="1024x768"
#GEOMETRY="1280x1024"

# The name that the VNC Desktop will have.
NAME="my-vnc-server"

OPTIONS="-name ${NAME} -depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY}"

. /lib/lsb/init-functions

case "$1" in
start)
log_action_begin_msg "Starting vncserver for user '${USER}' on localhost:${DISPLAY}"
su ${USER} -c "/usr/bin/vncserver ${OPTIONS}"
;;

stop)
log_action_begin_msg "Stoping vncserver for user '${USER}' on localhost:${DISPLAY}"
su ${USER} -c "/usr/bin/vncserver -kill :${DISPLAY}"
;;

restart)
$0 stop
$0 start
;;
esac

exit 0

Machen Sie das Skript ausführbar mit sudo chmod +x /etc/init.d/vncserver.

Dann renne sudo update-rc.d vncserver defaults. Dadurch werden die entsprechenden Symlinks zum vncserver-Skript hinzugefügt, sodass die Start- und Stoppbefehle zum entsprechenden Zeitpunkt gesendet werden.

Hinweis: Möglicherweise müssen Sie sudo update-rc.d vncserver 99stattdessen verwenden, wenn der Job zu früh im Startprozess ausgeführt wird.

Führen Sie den folgenden Befehl aus, um den Server ohne Neustart zu starten sudo /etc/init.d/vncserver start

Stellen Sie abschließend über einen VNC-Client an Port 590X eine Verbindung zu Ihrem Server her, wobei X der Wert von "DISPLAY" im vncserver-Skript ist

Quelle

Ringtail
quelle
Der Startbefehl für die verzögerte Sequenz sollte lauten sudo update-rc.d vncserver defaults 99.
Christoph
Alles funktioniert super, außer dass ich aus irgendeinem Grund keine Rechte auf das Netzwerk oder den Papierkorb habe. askubuntu.com/questions/722802/…
Donny V.
4

Meine Lösung:

  1. Rufen Sie die Desktopfreigabe auf, lassen Sie sie freigeben und geben Sie ein gutes Kennwort ein. (Klicken Sie auf "Aus", um Berechtigungen zuzulassen.)
  2. Rufen Sie den Bildschirm auf und stellen Sie ihn so ein, dass er nach 30 Sekunden gesperrt wird.
  3. Gehen Sie zu Benutzern und erlauben Sie eine automatische Anmeldung.

Der Vino-Server wird gestartet und Sie sollten in der Lage sein, eine Verbindung zu ihm herzustellen. Sie können ssh verwenden, um einen Tunnel für VNC zu erstellen, wenn Sie ihn sichern müssen (ich habe PUTTY verwendet und das hat sehr gut funktioniert). Sie können auch die Firewall aktivieren und nur Datenverkehr von einer bestimmten Adresse zulassen. Diese Lösung hat bei mir in über 20 Ubuntu-Boxen funktioniert.

Nick Santos
quelle
0

Was passiert, wenn Sie versuchen: (?)

vino-preferences

.. und füge dies in Autostarted Apps hinzu , um vino server zu starten:

/usr/lib/vino/vino-server

AKTUALISIEREN:

Versuche dies:

Starten Sie einen VNC-Server unter Ubuntu on Boot

http://www.abdevelopment.ca/blog/start-vnc-server-ubuntu-boot

david6
quelle
Dies startet die App erst nach dem Login. Ich wollte es starten, BEVOR ich mich überhaupt
anmelde
mögliche Lösung hinzugefügt ..
david6
2
Lösung veraltet.
Vainolo
Jemand sagte, das sei veraltet, aber ich habe das heute einfach gemacht und es hat gut funktioniert. Einige Warnungen beim Ausführen des Befehls update-rc.d, aber es hat funktioniert.
John Martin