staging.inyokaproject.org

Howto/TigerVNC

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |
Dieses Thema ist die Diskussion des Artikels Howto/TigerVNC.

Cordess

Anmeldungsdatum:
14. Mai 2006

Beiträge: 462

So, das ist meiner erster Artikel den ich von Anfang an neu aufgebaut habe.

Wie im Artikel VNC in dessen Diskussion besprochen, ist dort der Artikel zu umfangreich und unübersichtlich und sollte daher aufgesplittet werden. Ich habe daher mal für tigervnc einen eigenständigen Artikel geschrieben, den Hauptartikel VNC aber noch unverändert gelassen, der sollte dann nachträglich angepasst werden und die tigervnc Abschnitte in diesem entfernt werden und dann auf diesen Artikel hier verwiesen werden.

Schaut ihn euch mal an und testet ihn auf eine der Ubuntu Versionen. Ich hatte hier leider keine Ubuntu Maschine zur Hand und das ganze daher auf Debian stable (Client) und dem Raspberry Pi (Server) getestet. Da Ubuntu auf Debian aufbaut, sollte das aber problemlos funktionieren. Wer den Artikel dann auf einer Ubuntu Maschine getestet hat, trägt die geteste Ubuntu Version dann bitte noch in den Artikel ein.

Eine sauber funktionierende Lösung tigervncserver direkt von systemd zu starten, habe ich noch nicht gefunden. Ich habe zwei funktionierende Konfigurationen, aber beide verursachen erhebliche Fehler. Die erste startet die VNC Verbindung mit einer Oberfläche ohne Panel und einer Fehlermeldung in einer grafischen Dialogbox. Die zweite zeigt zwar das Panel, startet aber dutzende Instanzen und beenden kann man die die VNC Instanz dann auch nicht. Die Konfigurationsdateien zu diesen zwei systemd Konfigurationen werde ich hier in der Diskussion noch nachtragen, dann könnt ihr euch die ja mal ansehen.

Cordess

(Themenstarter)

Anmeldungsdatum:
14. Mai 2006

Beiträge: 462

Noch etwas.

Selbstverständlich wäre es auch möglich noch die ganzen unverschlüsselten Verbindungsmöglichkeiten oder mit x.509 zu erklären, die tigervnc anbietet. Ich wollte den Artikel aber schlank halten und zwar so, dass dennoch die Anleitung zu einer sicheren verschlüsselten Konfiguration führt. Deswegen habe ich mich auf ssh beschränkt und ich halte es auch für sinnvoll, diesen Artikel auf ssh beschränkt zu lassen.

Wer dennoch noch die anderen Features erwähen möchte, der sollte das im Artikel, wenn dann eher ganz unten optisch sehr gut getrennt oder in einen weiteren externen Artikel einbauen, damit hier die Anleitung übersichtlich und einfach bleibt. Im alten vnc Artikel wird die Verbindung über ssh nachrangig behandelt, die wird bspw. erst ganz unten erwähnt, während die unsicheren Verbindungen alle oben stehen. Das halte ich nicht für besonders gut, da default immer erst von einer sicheren Einstellung ausgehen sollte. Lockern kann man die Sicherheit hinterher immer noch.

Cordess

(Themenstarter)

Anmeldungsdatum:
14. Mai 2006

Beiträge: 462

So, bezüglich Systemd habe ich jetzt doch noch eine halbwegs funktionierende Lösung gefunden.

Sie hat allerdings noch ein paar Mängel, für die ich noch keine Lösung gefunden habe. Dazu mehr weiter unten.

Anleitung:

Der Inhalt der Datei sollte als tigervncserver@.service im Verzeichnis /etc/systemd/system/ gespeichert werden. Das @ ist wichtig, da es zum substituieren von %i in der Config notwendig ist.

1
sudo nano   /etc/systemd/system/tigervncserver@.service 

USER muss hierbei mit eurem Benutzeraccountnamen den ihr auf eurem Server habt, ersetzt werden.

[Unit]
Description=Start TigerVNC Server (VNC)
After=syslog.target network.target

[Service]
Type=simple
User=USER
Group=USER
WorkingDirectory=/home/USER

PAMName=login

PIDFile=/home/USER/.vnc/%H:%i.pid
ExecStartPre=/usr/bin/tigervncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/tigervncserver -verbose -fg :%i
ExecStop=/usr/bin/tigervncserver -kill :%i

# After exit, we want our service to restart
Restart=on-success
RestartSec=10

[Install]
WantedBy=multi-user.target

Um die Konfigurationsdatei dem systemd System bekannt zu machen, muss, nachdem ihr die Datei gespeichert habt, folgender Befehl einmalig aufgerufen werden:

1
sudo systemctl daemon-reload

Starten kann man den Systemd Dienst jetzt mit folgendem Befehl. DISPLAYNUMMER muss mit einer Zahl ersetzt werden. Z.B. 1 oder 2.:

1
sudo systemctl start tigervncserver@DISPLAYNUMMER.service

Ob der Dienst fehlerfrei gestartet wurde, könnt ihr mit folgendem Befehl nachprüfen:

1
sudo systemctl status tigervncserver@DISPLAYNUMMER.service

In der Ausgabe sollte dann "Active: active (running)" grün hervorgehoben stehen.

Natürlich kann man das auch mit folgendem Befehl noch nachprüfen, ob alles wie gewünscht läuft.

1
tigervncserver -list

Wenn das nicht der Fall ist, muss man in die Log Dateien schauen. Siehe dazu der Artikel.

Solange der Dienst läuft, kann man sich nun wie gehabt, siehe Artikel mit ssh in die VNC Sitzung einloggen.

Beenden kann man den Dienst mit:

1
sudo systemctl stop tigervncserver@DISPLAYNUMMER.service

Und wenn man möchte, dass der Dienst bei jedem Reboot gestartet wird, kann man folgendes ausführen:

1
sudo systemctl enable tigervncserver@DISPLAYNUMMER.service

Es gibt hier aber noch zwei Mängel: 1. Wenn man das VNC Fenster nicht über das x schließt, sondern sich auf dem darauf laufenden Desktop über dessen Abmeldemenü abmeldet, dann wird auf dem Server tigervnc beendet, ohne das Systemd etwas das erfährt. SystemD zeigt dann bei der Abrage des Status einen Fehler an.

2. Die Optionen

# After exit, we want our service to restart
Restart=on-success
RestartSec=10

in der Konfigurationsdatei tun nicht das, was sie sollen. Systemd starter tigervnc nicht wieder neu.

Wünschenswert wäre, egal was der Clientrechner macht, also ob er sich über das Menü des Desktops in dem VNC Fenster abmeldet oder er das Fenster einfach nur schließt, so sollte systemd auf jeden Fall tigervnc wieder starten, wenn dieser aus irgendeinem Grund, der nicht über systemd erfolgt ist, beendet wurde.

Hier suche ich noch eine Lösung. Wer eine hat, der kann mir die gerne nennen. Danach kann man das schön in den Artikel einbauen und den Dienst mit enable dauerhaft laufen lassen.

mubuntuHH Team-Icon

Projektleitung

Anmeldungsdatum:
28. November 2010

Beiträge: 845

Wow, ein sehr detaillierter Artikel. 👍

Thematisch kann ich nicht viel zur Materie des Artikels beibringen und ich hoffe, es findet sich noch ein*e Tester*in für Ubuntu, denn das ist natürlich Voraussetzung für die Aufnahme in unserer Wiki.

Formell fällt mir auf:

noisefloor Team-Icon

Ehemaliger
Avatar von noisefloor

Anmeldungsdatum:
6. Juni 2006

Beiträge: 28316

Hallo,

macht es nicht Sinn, da zwei Artikel draus zu machen, einen für den Server und einer für den Client? Ist übersichtlicher und einfacher zu warten.

Ein Anmerkung noch zum Artikel: der Satz " Zuerst loggen wir uns per ssh in den Remote Rechner ein: " ist so n.i.O. → das Wiki macht keine Vorgabe wie man sich einloggt. Es braucht lediglich gesagt werden, welches Paket installiert werden muss. Das _wie_ obliegt dem Nutzer, dazu gehören auch, ob man physischen auf dem Rechner arbeitet oder Remote.

Gruß, noisefloor

Cordess

(Themenstarter)

Anmeldungsdatum:
14. Mai 2006

Beiträge: 462

noisefloor schrieb:

Hallo,

macht es nicht Sinn, da zwei Artikel draus zu machen, einen für den Server und einer für den Client? Ist übersichtlicher und einfacher zu warten.

Nein, weil jeder Server, also die verschiedene Software, anders konfiguriert werden muss. Es gibt ja neben TigerVNC noch X11VNC, TightVNC, UltraVNC usw. das ist wie KDE, GNOME, XFCE usw., die schmeißt man ja auch nicht in einen Artikel und nennt es dann Desktop Environment.

Das Problem haben wir nämlich schon im VNC Hauptartikel, da sind alle Server zusammengeklatscht und man springt ständig vom einen zum anderen hin und her. Das schadet der Verständlichkeit. Siehe dazu auch die Diskussion im Hauptartikel: https://forum.ubuntuusers.de/topic/vnc-vncviewer-aus-der-konsole-unter-hardy/7/#post-9096610

Ein Anmerkung noch zum Artikel: der Satz " Zuerst loggen wir uns per ssh in den Remote Rechner ein: " ist so n.i.O. → das Wiki macht keine Vorgabe wie man sich einloggt. Es braucht lediglich gesagt werden, welches Paket installiert werden muss. Das _wie_ obliegt dem Nutzer, dazu gehören auch, ob man physischen auf dem Rechner arbeitet oder Remote.

Danke, ich mache jetzt heute Abend nichts mehr am Artikel, bin dafür zu müde, aber wer noch etwas verbessern will, gerade so Sachen wie "wir" vs. "man" oder das was du jetzt ansprichst, kann das ruhig verbessern.

Cordess

(Themenstarter)

Anmeldungsdatum:
14. Mai 2006

Beiträge: 462

mubuntuHH schrieb:

Wow, ein sehr detaillierter Artikel. 👍

Danke.

Thematisch kann ich nicht viel zur Materie des Artikels beibringen und ich hoffe, es findet sich noch ein*e Tester*in für Ubuntu, denn das ist natürlich Voraussetzung für die Aufnahme in unserer Wiki.

Ja, einer sollte es noch testen.

Formell fällt mir auf:

Das sind gute Einwände. Du kannst gerne mitmachen.

Cordess

(Themenstarter)

Anmeldungsdatum:
14. Mai 2006

Beiträge: 462

Cordess schrieb:

noisefloor schrieb:

Hallo,

macht es nicht Sinn, da zwei Artikel draus zu machen, einen für den Server und einer für den Client? Ist übersichtlicher und einfacher zu warten.

Nein, weil jeder Server, also die verschiedene Software, anders konfiguriert werden muss. Es gibt ja neben TigerVNC noch X11VNC, TightVNC, UltraVNC usw. das ist wie KDE, GNOME, XFCE usw., die schmeißt man ja auch nicht in einen Artikel und nennt es dann Desktop Environment.

Das Problem haben wir nämlich schon im VNC Hauptartikel, da sind alle Server zusammengeklatscht und man springt ständig vom einen zum anderen hin und her. Das schadet der Verständlichkeit. Siehe dazu auch die Diskussion im Hauptartikel: https://forum.ubuntuusers.de/topic/vnc-vncviewer-aus-der-konsole-unter-hardy/7/#post-9096610

Oh, sorry, ich glaube jetzt habe ich nicht weiter gedacht, da sieht man mal wie müde ich jetzt schon bin. Du willst ja nicht alle Server in einen Artikel zusammenfassen, sondern dir ging, wenn ich dich jetzt richtig verstanden habe, ja nur darum den TigerVNC Artikel in einen Artikel "TigerVNC Server" und einen anderen Atikel in "TigerVNC Client" umzuwandeln. Das ist natürlich was ganz was anderes. Ja, das könnte man natürlich auch noch machen. Es wäre definitiv eine Überlegung wert.

Cordess

(Themenstarter)

Anmeldungsdatum:
14. Mai 2006

Beiträge: 462

Falls es jemand testen möchte, es wäre auch gut, wenn ihr noch oben das was ich zu Systemd geschrieben habe, testen könntet. Dann könnte man das auch noch einbauen.

Cordess

(Themenstarter)

Anmeldungsdatum:
14. Mai 2006

Beiträge: 462

mubuntuHH schrieb:

Formell fällt mir auf:

So, beides habe ich jetzt korrigiert.

Jetzt sind noch Freiwillige notwendig, die den Artikel unter Ubuntu testen. Ich habe wie schon gesagt derzeit keine Ubuntu Installation mehr auf meinen Rechnern und kann das daher nicht unter Ubuntu selber machen. Ich selbst habe es unter Debian und Raspbian OS getestet und da funktioniert alles wie gewünscht.

mubuntuHH Team-Icon

Projektleitung

Anmeldungsdatum:
28. November 2010

Beiträge: 845

Hallo

ein Vorschlag, den Testaufruf im „Ubuntu-Wochenrückblick“ aufzunehmen, wurde angenommen.

Wäre doch gelacht, wenn sich kein VNC-Fan finden ließe, der das für Ubuntu testen möchte! ☺

Cordess

(Themenstarter)

Anmeldungsdatum:
14. Mai 2006

Beiträge: 462

mubuntuHH schrieb:

Hallo

ein Vorschlag, den Testaufruf im „Ubuntu-Wochenrückblick“ aufzunehmen, wurde angenommen.

Wäre doch gelacht, wenn sich kein VNC-Fan finden ließe, der das für Ubuntu testen möchte! ☺

Leider hat wohl keiner ein Interesse daran, die Anleitung unter Ubuntu zu testen.

Cordess

(Themenstarter)

Anmeldungsdatum:
14. Mai 2006

Beiträge: 462

Ich habe jetzt den Artikel um systemd erweitert.

Getestet wurde das ganze auf einem Raspberry Pi 3 mit dem neusten Raspberry Pi OS (Version 11.1 (entspricht Debian Bullseye)).

Die Anleitung sollte auf Ubuntu genauso funktionieren. Es liegt jetzt an euch, das auch mal zu testen. Notfalls eben in einer VM, wenn ihr keinen zweiten Rechner habt. Der Artikel ist im Prinzip seit ca. 11 Monate fertig und immer noch in der Rubrik Baustelle. Da vergeht einem wirklich die Lust, weitere Artikel zu schreiben. Die heutige Änderung habe ich für mich gemacht, da ich meinen Raspberry Pi nach der neuen Distriversion ohnehin neu einrichten musste.

TigerVNC ist übrigens schneller als X11VNC.

mubuntuHH Team-Icon

Projektleitung

Anmeldungsdatum:
28. November 2010

Beiträge: 845

Ich kann ja Deine Enttäuschung nachvollziehen. Aber wir können nun mal niemanden dazu zwingen, Deinen Artikel zu testen. Und weil hier jeder so wie Du freiwillig und unbezahlt mitmacht, schon mal gar nicht. Du bist halt das "Risiko" eingegangen, auf einer Wiki, die spezialisiert auf Ubuntu ist, etwas zu schreiben, ohne es selbst mit eben jenen Ubuntu getestet zu haben. Ich hoffe aber, dass Du trotzdem weiterhin mitmachst. ☺ Du könntest ja beim nächsten mal vorher im Forum fragen, ob Dir jemanden beim Ubuntu-Test helfen will.

Cordess

(Themenstarter)

Anmeldungsdatum:
14. Mai 2006

Beiträge: 462

Man könnte dem Artikel aber auch den Status Baustelle nehmen und in die normale Wiki stellen und dann einfach eine Warnung dazu schreiben, dass sich noch niemand gefunden hat, den Artikel unter Ubuntu zu testen (auf dem Raspi ist er ja getestet). Sobald dann jemand die Anleitung braucht, wird er es testen und Probleme in der Diskussionsseite melden oder den Artikel selber korrigieren.

TCP/IP wurde auch im realen Praxiseinsatz erprobt und dann immer weiter verbessert, während andere Protokolle bis in alle Ewigkeit theoretisch erörtert wurden und dann nie eine starke Verbreitung fanden, eben weil so ein Entwicklungsmodel in der Praxis meist nicht gut funktioniert.

Antworten |