GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Richten Sie den Xfce-Desktop auf einem entfernten Ubuntu 16.10-Server ein und greifen Sie über VNC darauf zu

Desktop auf Remote-Server ausführen

Normalerweise würden Sie das ssh-Terminal verwenden, wenn Sie auf einem entfernten Linux-Server arbeiten. Aber es kann Zeiten geben, in denen Sie eine GUI-App auf dem Server ausführen und für einige Zeit am Laufen halten müssen.

Kürzlich musste ich etwas Ähnliches machen und habe daher einen Ubuntu-Server mit Desktop eingerichtet und über VNC darauf zugegriffen.

Die Idee ist einfach. Installieren Sie eine beliebige Desktop-Umgebung Ihrer Wahl auf dem Server. In diesem Tutorial werden wir Xfce verwenden, da es im Vergleich zu den größeren wie Gnome und KDE einen geringen Platzbedarf hat.

Verwenden Sie dann den vnc-Server, um die Desktop-Umgebung zu starten, und erstellen Sie eine X-Anzeigesitzung, auf die wir von unserem lokalen Desktop-Rechner über einen vnc-Client zugreifen.

Desktop-Umgebung und VNC-Server installieren

Xfce ist ein leichtgewichtiger Desktop und ideal für die Verwendung auf einem Remote-Server. Installieren Sie zuerst die xfce-Pakete und den tightvnc-Server. Es wäre eine gute Idee, den Paket-Cache vor der eigentlichen Installation zu aktualisieren.

sudo apt-get updatesudo apt-get install xfce4 xfce4-goodies tightvncserver

Beachten Sie, dass dies nur die Pakete installiert und nichts startet. Wir werden den vncserver später in dieser Anleitung selbst mit bestimmten Einstellungen starten.

Wenn der dpkg-Prozess unerwartet beendet wird, müssen Sie möglicherweise den folgenden Befehl ausführen -

# sudo dpkg --configure -a

Erstellen Sie einen neuen Benutzer für vnc

Als nächstes müssen Sie einen Unix-Benutzer erstellen, der während der vnc-Sitzungen verwendet wird. Der Benutzername kann beliebig sein. Verwenden Sie den Befehl adduser.

# adduser mikeBenutzer `mike' hinzufügen ...Neue Gruppe `mike' hinzufügen (1001) ...Neuen Benutzer `mike' (1001) mit Gruppe `mike' hinzufügen ...Home-Verzeichnis `/home/mike erstellen ' ...Kopieren von Dateien aus `/etc/skel' ...Neues UNIX-Passwort eingeben:Neues UNIX-Passwort erneut eingeben:passwd:Passwort erfolgreich aktualisiertÄndern der Benutzerinformationen für MikeGeben Sie den neuen Wert ein oder drücken Sie die EINGABETASTE für den standardmäßigen vollständigen Namen [] :Zimmernummer []:Telefon Arbeit []:Telefon Privat []:Andere []:Sind die Informationen korrekt? [J/n]#

Der vncserver startet die Desktop-Umgebung mit diesem Unix-Benutzer. Das bedeutet, dass Sie dieser Benutzer sein sollen, wenn Sie auf dem Remote-Desktop arbeiten

Richten Sie das "vnc-Passwort" für den Benutzer ein

Der vnc-Server verwaltet ein separates Passwort, das verwendet wird, um sich über vnc-Clients beim vnc-Server anzumelden. Dieses Passwort unterscheidet sich vom Unix-Benutzerpasswort. Es wird mit dem Befehl vncpasswd konfiguriert.

Wechseln Sie zunächst zum Benutzer „mike“, der im vorherigen Schritt erstellt wurde, und richten Sie das vnc-Server-Passwort ein.

# su - mike

Verwenden Sie als nächstes den vncpasswd-Befehl

$ vncpasswdPasswortdatei verwenden /home/mike/.vnc/passwdVNC-Verzeichnis /home/mike/.vnc existiert nicht. [email protected]:~$

Beachten Sie, dass die passwd-Datei nicht existierte und in diesem Schritt zum ersten Mal erstellt wurde.

Wenn Sie den Befehl vncserver bereits zuvor ausgeführt haben, wurden die Dateien erstellt. Wenn Sie vncserver zum ersten Mal ausführen, wird ein Standardstartskript erstellt

$ vncserverSie benötigen ein Kennwort, um auf Ihre Desktops zuzugreifen (j/n)? nNeuer „X“-Desktop ist Desktop:1Erstellen des standardmäßigen Startskripts /home/enlightened/.vnc/xstartupStarten von Anwendungen, die in /home/enlightened/.vnc/xstartup angegeben sindProtokolldatei ist /home/enlightened/.vnc/desktop:1.log 

Wir müssen den vncserver-Befehl jedoch nicht ausführen. Es soll automatisch mithilfe von Startskripten gestartet werden.

Erstellen Sie das xstartup-Skript

Die nächste wichtige Datei ist das xstartup-Skript. Es enthält Anweisungen, welche X-Apps gestartet werden sollen. Die Desktop-Umgebung ist die X-Anwendung, die wir starten müssen.

Erstellen Sie zuerst eine Sicherungskopie der Datei, falls sie bereits vorhanden ist

mv ~/.vnc/xstartup ~/.vnc/xstartup.bak

Bearbeiten Sie es jetzt mit nano

[email protected]:~$ nano .vnc/xstartup

Hinweis – Dies befindet sich im Home-Verzeichnis des Benutzers vnc, also /home/mike/.vnc/xstartup

Geben Sie die folgenden Zeilen in das xstartup-Skript

ein
#!/bin/bashxrdb $HOME/.Xresourcesstartxfce4 &

Der Befehl startxfce4 startet den xfce-Desktop. Speichern Sie die Datei und schließen Sie sie.

Machen Sie die xstartup-Datei ausführbar. Dies ist notwendig, damit vncserver diese Datei ausführen kann.

$ chmod +x ~/.vnc/xstartup

VNC-Dienstdatei erstellen

Der nächste Schritt besteht darin, eine vnc-Dienstdatei zu erstellen, damit wir den vnc-Server mit dem Dienstbefehl starten können und nicht jedes Mal den vncserver-Befehl ausführen müssen.

Achten Sie darauf, den richtigen Benutzernamen in die USER-Variable einzugeben. Dies ist der Benutzer, den der vnc-Server verwenden wird, um die Desktop-Sitzung zu starten.

[email protected]:~# sudo nano /etc/init.d/vncserver

Fügen Sie das folgende Skript ein

#!/bin/bashPATH="$PATH:/usr/bin/"export USER="mike"DISPLAY="1"DEPTH="16"GEOMETRY="1024x768"OPTIONS="-tiefe ${DEPTH} -Geometrie ${GEOMETRY} :${DISPLAY}". /lib/lsb/init-functionscase "$1" instart)log_action_begin_msg "Starte vncserver für Benutzer '${USER}' auf localhost:${DISPLAY}"su ${USER} -c "/usr/bin/vncserver ${OPTIONS }";;stop)log_action_begin_msg "Stoppt vncserver für Benutzer '${USER}' auf localhost:${DISPLAY}"su ${USER} -c "/usr/bin/vncserver -kill :${DISPLAY}";; Neustart)$0 stop$0 start;;esacexit 0

Speichern Sie die Datei und schließen Sie sie. Ausführbar machen

# chmod +x /etc/init.d/vncserver

Dienst starten

Jetzt wird alles gelesen. Es ist an der Zeit, den vncserver auszuführen und unseren Schritt zu testen.

Laden Sie zuerst systemctl neu, damit es das vncserver-Startskript verwenden kann.

systemctl daemon-reload

Starten Sie nun vncserver. Es startet einen Server auf Port 5901

# vncserver-Dienst starten

Überprüfen Sie, ob es läuft

[email protected]:~# service vncserver status● vncserver.service Loaded:geladen (/etc/init.d/vncserver; fehlerhaft; Herstellervoreinstellung:aktiviert) Aktiv:aktiv (beendet) seit Do 2017-03- 02 05:36:42 UTC; vor 6s Dokumente:man:systemd-sysv-generator(8) Prozess:24877 ExecStart=/etc/init.d/vncserver start (code=exited, status=0/SUCCESS)Mar 02 05:36:40 bintu systemd[1 ]:Starten von vncserver.service...Mar 02 05:36:40 bintu vncserver[24877]:* Starten von vncserver für Benutzer 'vnc' auf localhost:1...Mar 02 05:36:40 bintu su[24885]:Erfolgreiche su für vnc von rootMar 02 05:36:40 bintu su[24885]:+ ??? root:vncMär 02 05:36:40 bintu su[24885]:pam_unix(su:session):Sitzung für Benutzer vnc geöffnet von (uid=0)Mär 02 05:36:42 bintu vncserver[24877]:Neues 'X' Desktop ist bintu:1Mar 02 05:36:42 bintu vncserver[24877]:Starten von Anwendungen angegeben in /home/vnc/.vnc/xstartupMar 02 05:36:42 bintu vncserver[24877]:Protokolldatei ist /home/vnc/ .vnc/bintu:1.logMar 02 05:36:42 bintu systemd[1]:Started vncserver.service.
$ cat ~/.vnc/*.pid1857718731
# ps -ef | grep tightvncvnc 24574 1 0 05:32 ? 00:00:00 Xtightvnc :1 -desktop X -auth /home/vnc/.Xauthority -geometry 1024x768 -depth 16 -rfbwait 120000 -rfbauth /home/vnc/.vnc/passwd -rfbport 5901 -fp /usr/share/ fonts/X11/misc/,/usr/share/fonts/X11/Type1/,/usr/share/fonts/X11/75dpi/,/usr/share/fonts/X11/100dpi/ -co /etc/X11/rgbroot 24744 10412 0 05:33 pts/0 00:00:00 grep --color=auto [email protected]:~#

Überprüfen Sie die offenen Ports des vnc-Servers. Sie benötigen die richtige Portnummer, wenn Sie sich vom vnc-Client verbinden

# netstat -nlp | grep vnctcp 0 0 0.0.0.0:5901 0.0.0.0:* LISTEN 24574/Xtightvnctcp 0 0 0.0.0.0:6001 0.0.0.0:* LISTEN 24574/Xtightvncunix 2 [ ACC ] STREAM LISTENING 5225386 24574/Xtight/Xv.tight unix/X1

Der Vnc-Server kann auch durch direkten Aufruf des Skripts gestartet werden.

# /etc/init.d/vncserver start[ ok ] Starten von vncserver (über systemctl):[email protected]:~#

So stoppen Sie vncserver

# Dienst vncserver stoppen

Installieren Sie den vncviewer-Client auf dem Desktop

Jetzt, da wir den VNC-Server mit der GUI-Desktop-Umgebung eingerichtet haben, ist es an der Zeit, einen VNC-Client zu installieren und auf den Remote-Desktop zuzugreifen.

Installieren Sie xtightvncviewer auf Ubuntu.

$ sudo apt-get install xtightvncviewer

Verbinden Sie sich nun mit dem vncviewer-Befehl mit dem entfernten vnc-Server.

$ vncviewer -quality 5 -encodings "copyrect tight hextile zlib corre rre raw" -compresslevel 5 IPADDR:5901

Wir verwenden Codierungen geringerer Qualität und Komprimierung, um die übertragenen Bilddaten zu komprimieren und schneller zu machen.

Die Verwendung anderer vnc-Viewer wie KRDC könnte langsamer sein.

Ressourcen

Weitere Informationen finden Sie unter diesen nützlichen Links -

http://tightvnc.com/vncviewer.1.htmlhttps://www.digitalocean.com/community/tutorials/how-to-install-and-configure-vnc-on-ubuntu-16-04

https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-vnc-on-ubuntu-14-04
https://www.digitalocean.com/community/tutorials /how-to-setup-vnc-for-ubuntu-12


Ubuntu
  1. Ubuntu Remote Desktop:So richten Sie es ein und verbinden sich damit

  2. Installieren Sie den VNC-Server auf Ubuntu 13.04 / Ubuntu 12.10

  3. So richten Sie VNC Server (Linux Remote Desktop Access) unter CentOS/RHEL und Fedora ein

  4. So richten Sie den X11VNC-Server unter Ubuntu und LinuxMint ein

  5. Installieren Sie vnc-Server und -Client auf Ubuntu

So installieren und konfigurieren Sie RabbitMQ unter Ubuntu 16.04

Installieren und konfigurieren Sie den VNC-Server unter Ubuntu 16.04

Installieren und konfigurieren Sie VNC unter Ubuntu 20.04

So installieren (und deinstallieren) Sie XFCE unter Ubuntu

So installieren und konfigurieren Sie den VNC-Server unter Ubuntu 20.04 LTS

Ein Leitfaden für Anfänger zur Benutzerverwaltung auf Ubuntu Desktop und Server