it-swarm.com.de

Konfigurieren Sie TigerVNC Server für den Start mit dem System in Ubuntu GNOME 16.04

Ich versuche, TigerVNC Server so zu konfigurieren, dass er unter buntu GNOME 16.04. ausgeführt wird. Ich habe die neueste Version ( 1.8 ) von TigerVNC mit diesem Beitrag installiert. Wenn ich einen Server starte mit:

vncserver :4 -geometry 1920x1080 -depth 24 -nolisten tcp -localhost

es funktioniert einwandfrei. Ich kann über SSH eine Verbindung zu Display 4 herstellen und habe vollen Zugriff auf meinen Computer, ohne die realen (physischen) Displays in meinem Labor freizuschalten. Außerdem kann ich die Geometrie an das Display meines Laptops anpassen, sodass alles perfekt ist.

Dann habe ich versucht, den Server mit systemd zum Starten zu bringen, und fand diesen Beitrag , um mir zu helfen. Ich verwende jedoch den GNOME-Desktop und die Einstellungen im Blog beziehen sich auf Unity. Ich habe Unity nicht auf meinem Computer installiert und würde es vorziehen, es zu vermeiden.

Wie ändere ich die Schritte 7 und 8 in diesem Beitrag, um GNOME Desktop anstelle von Unity zu verwenden? Ich weiß, dass es nicht funktioniert, wenn sie übersprungen werden, da ich beim Herstellen einer Remoteverbindung nur einen schwarzen Bildschirm erhalte.


Wenn es eine andere Möglichkeit gibt, sicherzustellen, dass vncserver beim Start gestartet wird, wird dies auch als Antwort akzeptiert. TigerVNC installiert ein Skript namens vncserver in /etc/init.d/, aber ich kann es nicht mit update-rc.d starten

1
Kartik

Diese systemd Unit-Datei hat für mich funktioniert:

[Unit]
Description=Start TigerVNC Server at startup
After=syslog.target network.target

[Service]
Type=forking
User=user
PAMName=login
PIDFile=/home/user/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver :%i -depth 24 -geometry 1920x1080 -nolisten tcp -localhost
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target

Achten Sie darauf, user in den Zeilen, die User und PIDFile unter [Service] entsprechen, durch Ihren tatsächlichen Benutzernamen zu ersetzen.

Um es an Ihre Bedürfnisse anzupassen, verwenden Sie bitte Ihre bevorzugte Anzeige Nummer anstelle von 4 (wie ich) beim aktivieren. Stellen Sie außerdem sicher, dass Sie den vncserver außerhalb dieser Service-Unit-Datei initialisiert haben, bevor Sie den Service starten. Dadurch wird sichergestellt, dass das Kennwort und die erforderlichen Dateien (xstartup usw.) erstellt werden. Der einfachste Weg, dies zu tun, wäre, den Befehl für ExecStart unter [Service] in der Unit-Datei auszuführen. Für meinen Fall bedeutet das:

vncserver :4 -depth 24 -geometry 1920x1080 -nolisten tcp -localhost

Quelle: Ich habe die Unit-Datei von diese Anleitung angepasst.

1
Kartik