TigerVNC (ab 1.11.0)

Es gibt viele Wege, wie man aus der Ferne, oder wie es sich ja mittlerweile eingedeutscht hat, Remote auf einen Rechner zugreifen lässt.

Das Erste, was ich dabei benutze, ist SSH. Im Terminal geht es einfach super schnell, man kann die GUIs bei sich anzeigen lassen usw. Da gibt es nur den kleinen, unschönen Nebeneffekt, mittels ssh wird nicht komprimiert. Das heisst, wenn die Verbindung etwas langsam ist, ist es nicht schön damit zu arbeiten.

Es gibt aber auch noch andere Gründe, VNC (Virtual-Network-Computing) einzusetzen.

Gründe für VNC

Neben der Tatsache, dass die Meisten VNC-Umsetzungen mittels einer Komprimierung auch bei langsamen Verbindungen deutlich bessere Ergebnisse liefern als ssh, ist für mich ein bestimmtes Argument schlagend. Man kann auch auf schwachen Rechnern noch sehr gut arbeiten!

Als Beispiel. Sagen wir, man hat einen ordentlich schnellen Rechner auf, unter, oder wo auch immer stehen. Der hat Power und mit dem kann man gut arbeiten. Der Rechner vom Ehepartner hingegen ist in die Jahre gekommen. 4GB DDR2 Speicher, Singlecore, da funktioniert nicht mehr so viel.

Jetzt die Frage. Ein neuer Rechner kaufen? Da sind so um die 300€ futsch, würde ich mal sagen. Oder aber, man macht es clever!

In der Regel jammert der normale Benutzer eines PCs dann, wenn die Browser zu langsam werden. Ja, irgendwie scheint das die einzige Anwendung zu sein, die wirklich noch genutzt wird. Aber egal. Wenn ja sonst noch alles funktioniert, warum dem Partner dann nicht einen eigenen VNC auf dem eigenen Rechner einrichten? Auf dem kann er sich dann im Vollbildmodus einloggen und damit arbeiten, als wäre es die Kiste unter dem Tisch. Oder darauf, oder wo auch immer.

Oder eben auch, man ist mit einem Laptop, oder NetBook unterwegs und würde gerne arbeiten. Dann kann man das ganze Gerümpel dann auch auf dem tragbaren Gerät installieren, wobei natürlich die zu bearbeitenden Dateien aktuell sein müssen, oder man nutzt ebenfalls einen VNC. Hier ist tatsächlich VNC SSH vorzuziehen, da ich es bislang nur selten erlebt habe, dass ich unterwegs ausreichend schnelles Internet hatte, um mit einer getunnelten Anwendung arbeiten zu können.

Okay. Es gibt noch viele andere Gründe, aber die behandele ich hier jetzt nicht.

Der Server

Ich persönlich bevorzuge TigerVNC. Da kann man sicherlich drüber streiten, da ich den jedoch benutze, beschreibe ich jetzt auch seine Einrichtung. Wie man für die jeweilige Distribution TigerVNC installiert, müsst ihr aber selbst herausfinden. Wie immer, da es viele Unterschiede gibt und ich niemanden bevorzugen will, bleibt das euch überlassen. Aber ich gehe mal stark davon aus, ihr kriegt das hin.

Ist alles installiert, geht es um die Einrichtung. Da fange ich mal mit dem Passwort an.

vncpasswd

Man wird nach dem zu setzenden Passwort gefragt. Wie so oft im Terminal. werden keine Zeichen gedruckt, man muss also schon wissen, an welcher Stelle man ist. Dann wird das Passwort wiederholt und am Ende wird man gefragt, ob man ein “view-only” Passwort setzen möchte. Also eins, mit dem man dann nur zuschauen kann, was im VNC passiert. Ich beantworte das immer mit “n”, da es in meinen Augen keinen Sinn macht.

So. Weiter. Nun braucht man noch eine Konfiguration. Diese findet sich im Home-Verzeichnis im Unterverzeichnis .vnc/.

~/.vnc/config

oder

/home/benutzer/.vnc/config

Dort kann man mehrere Dinge einstellen. Ganz simpel reicht es aber schon, wenn man die zu startende Session angibt. Benutzen wir dafür doch einfach mal ganz banal FVWM. Grade so zum Spass. Das muss natürlich vorher installiert worden sein! Welche Window- oder Desktop-Manager verfügbar sind, sieht man im Verzeichnis “/usr/share/xsessions/”.

In die Datei kommt also:

session=fvwm

Was man nun noch tun muss, ist dem Display einen Benutzer zuordnen. Ich will also, dass mein Benutzer (diabolus) Display “:1” verwenden kann. Dafür wird die Datei “vncserver.users” editiert.

sudo nano /etc/tigervnc/vncserver.users

Die sieht am Anfang so aus:

 TigerVNC User assignment
#
# This file assigns users to specific VNC display numbers.
# The syntax is <display>=<username>. E.g.:
#
# :2=andrew
# :3=lisa

Da muss jetzt also “:1=diabolus” rein.

 TigerVNC User assignment
#
# This file assigns users to specific VNC display numbers.
# The syntax is <display>=<username>. E.g.:
#
# :2=andrew
# :3=lisa

:1=diabolus

Das finde ich persönlich nicht wirklich elegant. Aber gut, ist nun mal eben so.

Fertig. Jetzt schaut man mal, ob es so schon klappt. Ich will einen neuen VNC auf dem Display “:1” haben.

sudo systemctl start vncserver@:1

Hat das nun geklappt? Kommt keine Fehlermeldung, dann sieht es danach aus. Man kann sich aber auch vergewissern:

sudo systemctl status vncserver@:1

● vncserver@:1.service - Remote desktop service (VNC)
     Loaded: loaded (/usr/lib/systemd/system/vncserver@.service; disabled; vend>
     Active: active (running) since Sat 2020-09-26 19:02:00 CEST; 2s ago
    Process: 1154 ExecStart=/usr/bin/vncsession-start :1 (code=exited, status=0>
   Main PID: 1160 (vncsession)
      Tasks: 1 (limit: 2350)
     Memory: 1.1M
     CGroup: /system.slice/system-vncserver.slice/vncserver@:1.service
             ‣ 1160 /usr/bin/vncsession diabolus :1

Sep 26 19:02:00 mini-horst systemd[1]: Starting Remote desktop service (VNC)...
Sep 26 19:02:00 mini-horst systemd[1]: Started Remote desktop service (VNC).

Yes, läuft!

Will man den VNC jetzt wieder stoppen, reicht einfach:

sudo systemctl stop vncserver@:1

Soll der Server aber jedes Mal beim booten gestartet werden, kommt folgendes zum Einsatz:

sudo systemctl enable vncserver@:1

Fertig mit dem Server!

Der Client

TigerVNC bringt bei der Installation freundlicherweise gleich beides mit. Server und Client. So ist es denkbar einfach, auf einen VNC zuzugreifen.

Um es zu testen, kann man es auch auf dem gleichen Rechner machen, auf dem auch der Server läuft. In diesem Fall lautet der Befehl dafür:

vncviewer :1

Erst wird man nach dem Passwort gefragt, dann erscheint der VNC.

Natürlich kann man auch ferne Rechner damit erreichen. Einfach eine IP, oder ein Alias vor das Display und fertig.

vncviewer xxx.xxx.xxx.xxx:1

Wobei die ganzen “x” natürlich durch die IP, oder das Alias ersetzt werden muss. IPs eines VPN funktionieren dabei natürlich auch!

Das war auch schon alles! Zumindest, um ganz simpel einen VNC zu starten und zu benutzen. Es gibt noch diverse Zusatzoptionen, aber um die kümmere ich mich ein anderes Mal!

Schreib einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert