Skip to content

Commit

Permalink
🔄 Update "Install and Configure Ubuntu Remote Desktop with XFCE using…
Browse files Browse the repository at this point in the history
… X2Go" (#930)

* Update tutorial
* Fix formatting
  • Loading branch information
svenja11 authored Aug 29, 2024
1 parent 8bfd7d7 commit 177e920
Show file tree
Hide file tree
Showing 7 changed files with 94 additions and 68 deletions.
77 changes: 45 additions & 32 deletions tutorials/install-and-configure-x2goserver/01.de.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
SPDX-License-Identifier: MIT
path: "/tutorials/install-and-configure-x2goserver/de"
slug: "install-and-configure-x2goserver"
date: "2021-05-27"
date: "2024-08-29"
title: "Installation und Konfiguration eines Ubuntu Remote Desktop mit XFCE unter Verwendung von X2Go"
short_description: "Hier wird die Einrichtung eines Ubuntu Remote Desktop mit X2Go-Server in der Hetzner Cloud beschrieben. Als leichtgewichtige Desktop-Umgebung wird XFCE verwendet"
short_description: "Hier wird die Einrichtung eines Ubuntu Remote Desktop mit X2Go-Server beschrieben. Als leichtgewichtige Desktop-Umgebung wird XFCE verwendet"
tags: ["Ubuntu", "X2Go", "XFCE"]
author: "Oliver Müller"
author_link: "https://github.com/omuehler"
Expand All @@ -18,25 +18,48 @@ cta: "cloud"

## Einführung

Dieses Tutorial erklärt, wie man einen Remote-Desktop auf einem Hetzner Cloud Server mit Ubuntu erstellt. Dieses Tutorial wurde anhand von Ubuntu 20.04 erstellt, es sollte aber auch mit anderen Versionen funktionieren.
Dieses Tutorial erklärt, wie man einen Remote-Desktop auf einem Hetzner Cloud Server mit Ubuntu erstellt. Dieses Tutorial wurde anhand von Ubuntu 24.04 erstellt, es sollte aber auch mit anderen Versionen funktionieren.

Es wird ein xubuntu-Desktop installiert. Außerdem wird ein neuer Benutzer angelegt, der über [X2Go](https://wiki.x2go.org/doku.php) verschlüsselt auf seinen Desktop zugreifen kann.

X2Go ist eine kostenlose Terminalserver-Lösung für die Verbindung zu verschiedenen Desktop-Umgebungen wie XFCE, LXDE, Mate usw.

**Voraussetzungen**

- 1 neu installierter Server, der in der Hetzner [Cloud Console](https://console.hetzner.cloud/) mit dem Basis-Image von Ubuntu 20.04 erstellt wurde
- IP-Adresse
- Root-Passwort
* Einen neuen Server (z.B. bei [Hetzner Cloud](https://console.hetzner.cloud/)
* Mit Ubuntu 24.04
* Mit öffentlicher IP
* Zugriff auf den Root-Nutzer oder einen Benutzer mit sudo-Rechten

<br>

**Beispiel-Benennungen**

* Benutzername: `holu`
* Öffentliche IP: `203.0.113.1`

## Schritt 1 - Aktivieren der Firewall

Öffnen Sie Ihren neu angelegten Server im betreffenden Projekt in der Hetzner Cloud Console.
Richte eine Firewall ein und erlaube SSH-Verbindungen (z.B. mit ufw oder der Hetzner Cloud Firewall).

Legen Sie eine neue Firewall an. Die Grundeinstellungen in Ihrer Firewall sind in Ordnung. Damit öffnen Sie den SSH-Port 22 zu Ihrem Server und schließen die anderen, nicht benötigten Ports.
* **ufw**

```bash
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status
```

![Basic firewall settings](images/firewall.png)
* **Hetzner Cloud Firewall**

Öffne den neu angelegten Server im betreffenden Projekt in der Hetzner Cloud Console.

Lege eine neue Firewall an. Die Grundeinstellungen der Firewall sind in Ordnung. Damit wird der SSH-Port 22 zum Server geöffnet und alle anderen Ports, die nicht benötigt werden, blockiert.

| Sources | Protocol | Port |
| ------------------------------------ | -------- | ---- |
| <kbd>0.0.0.0/0</kbd> <kbd>::/0</kbd> | TCP | 22 |
| <kbd>0.0.0.0/0</kbd> <kbd>::/0</kbd> | ICMP | |

## Schritt 2 - Konfiguration am Server

Expand All @@ -45,13 +68,13 @@ Legen Sie eine neue Firewall an. Die Grundeinstellungen in Ihrer Firewall sind i
Einlesen der Paketquellen und Systemupgrade durchführen:

```shell
apt update && apt upgrade -y
sudo apt update && sudo apt upgrade -y
```

Installieren der benötigten Pakete xubuntu und X2Go:

```shell
apt install xubuntu-desktop x2goserver x2goserver-xsession
sudo apt install xubuntu-desktop x2goserver x2goserver-xsession
```

```shell
Expand All @@ -62,10 +85,10 @@ Während der Installation muss eventuell zwischen `gdm3` und `lightdm` gewählt

### Schritt 2.2 - Erstellen des neuen X2Go-Benutzer

Für die Verbindung zu unserem Remote-Desktop werden wir nicht root verwenden. Wir legen einen neuen Benutzer an. In diesem Beispiel wird der Benutzer _holu_ genannt
Für die Verbindung zu unserem Remote-Desktop werden wir nicht root verwenden. Wir legen einen neuen Benutzer an. In diesem Beispiel wird der Benutzer _holu_ verwendet.

```shell
adduser holu
sudo adduser holu
```

```shell
Expand All @@ -90,48 +113,38 @@ Is the information correct? [Y/n] Y
Nun fügen wir den neuen Benutzer _holu_ der sudo-Gruppe hinzu.

```shell
usermod -aG sudo holu
```

Zum Schluss entfernen wir auf unserem Server das Passwort von root. Der neu angelegte Benutzer hat sudo-Rechte.

```shell
passwd -d root
```

```shell
passwd: password expiry information changed.
sudo usermod -aG sudo holu
```

### Schritt 2.3 - Neustart des Servers

```shell
reboot
sudo reboot
```

## Schritt 3 - Konfigurieren der Client-Software

Um sich mit dem xubuntu-Desktop zu verbinden, müssen wir den [X2Go-Client](https://wiki.x2go.org/doku.php/doc:installation:x2goclient) auf der lokalen Workstation installieren.

Bitte benutzen Sie die Anleitung auf der Projekt-Webseite, wie Sie den Client auf Ihrem lokalen Rechner installieren.
Bitte benutze die Anleitung auf der Projekt-Webseite, wie der Client auf dem lokalen Rechner installiert werder kann.

Wenn die Installation abgeschlossen ist, können wir die Clientsoftware einrichten.

Erstellen Sie eine neue Sitzung im Client und fügen Sie die Parameter für Ihren Server ein.
Erstelle eine neue Sitzung im Client und füge die Parameter für deinen Server ein.

- Login: holu
- Host: 157.90.XXX.XX (replace with your server IP)
- Host: 203.0.113.1 (ersetze die IP mit der öffentlichen IP deines Servers)
- Sitzungsart: XFCE

![X2Go Client Settings](images/x2go-client.png)
![X2Go Client Settings](images/x2go-client.24.png)

Jetzt können Sie Ihre Sitzungseinstellungen speichern und eine Verbindung zu Ihrem Server herstellen.
Jetzt kannst du deine Sitzungseinstellungen speichern und eine Verbindung zum Server herstellen. Nachdem die Verbindung zum Server hergestellt wurde, sollte so ein Fenster erscheinen:

![You are connected to your server](images/connection.png)
![You are connected to your server](images/connection.24.png)

## Ergebnis

Wenn Sie alle Schritte in dieser Anleitung befolgt haben, können Sie eine Verbindung zum Server über eine SSH-verschlüsselte Verbindung herstellen und einen Remote-Desktop mit einer XFCE-Oberfläche verwenden.
Wenn alle Schritte in dieser Anleitung befolgt wurden, kann eine Verbindung zum Server über eine SSH-verschlüsselte Verbindung hergestellt und ein Remote-Desktop mit einer XFCE-Oberfläche verwendet werden.

##### License: MIT

Expand Down
85 changes: 49 additions & 36 deletions tutorials/install-and-configure-x2goserver/01.en.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
SPDX-License-Identifier: MIT
path: "/tutorials/install-and-configure-x2goserver"
slug: "install-and-configure-x2goserver"
date: "2021-05-27"
date: "2024-08-29"
title: "Install and Configure Ubuntu Remote Desktop with XFCE using X2Go"
short_description: "This tutorial describes how to install Ubuntu Remote Desktop with X2Go-Server on Hetzner Cloud with XFCE"
short_description: "This tutorial describes how to install Ubuntu Remote Desktop with X2Go-Server with XFCE"
tags: ["Ubuntu", "X2Go", "XFCE"]
author: "Oliver Müller"
author_link: "https://github.com/omuehler"
Expand All @@ -18,25 +18,48 @@ cta: "cloud"

## Introduction

This tutorial explains how to create a remote desktop on a Hetzner Cloud Server with Ubuntu. This tutorial uses Ubuntu 20.04, however this should also work on other versions.
This tutorial explains how to create a remote desktop on a server with Ubuntu. This tutorial uses Ubuntu 24.04, however this should also work on other versions.

An xubuntu desktop will installed. In addition, a new user will be created who can access his desktop encrypted via [X2Go](https://wiki.x2go.org/doku.php).
It is explained how to install an xubuntu desktop. In addition, a new user will be created who can access his desktop encrypted via [X2Go](https://wiki.x2go.org/doku.php).

X2Go is a free terminal server solution for connecting to various desktop environment like XFCE, LXDE, Mate etc.
X2Go is a free terminal server solution for connecting to various desktop environments like XFCE, LXDE, Mate etc.

**Prerequisites**

- A new server, created in the Hetzner [Cloud Console](https://console.hetzner.cloud/) using the basic Ubuntu 20.04 image
- IP address
- Root password
* A new server (e.g. with [Hetzner Cloud](https://console.hetzner.cloud/)
* With Ubuntu 24.04
* With public IP
* Access to the root user or a user with sudo permissions

<br>

**Example terminology**

* Username: `holu`
* Public IP: `203.0.113.1`

## Step 1 - Activate a Firewall

Open your newly created server in the corresponding project in the Hetzner Cloud Console.
Set up a firewall and make sure you allow SSH connections (e.g. with ufw or the Hetzner Cloud Firewall).

Create a new Firewall. The default settings in the Firewall are ok. This will open SSH port 22 to your server and close the other, not needed ports.
* **ufw**

```bash
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status
```

![Basic Firewall settings](images/firewall.png)
* **Hetzner Cloud Firewall**

Open your newly created server in the corresponding project in the Hetzner Cloud Console.

Create a new Firewall. The default settings in the Firewall are ok. This will open SSH port 22 to your server and close the other, not needed ports.

| Sources | Protocol | Port |
| ------------------------------------ | -------- | ---- |
| <kbd>0.0.0.0/0</kbd> <kbd>::/0</kbd> | TCP | 22 |
| <kbd>0.0.0.0/0</kbd> <kbd>::/0</kbd> | ICMP | |

## Step 2 - Configure your server

Expand All @@ -45,13 +68,13 @@ Create a new Firewall. The default settings in the Firewall are ok. This will op
Update and install updates:

```shell
apt update && apt upgrade -y
sudo apt update && sudo apt upgrade -y
```

Installing the packages for xubuntu and X2Go:

```shell
apt install xubuntu-desktop x2goserver x2goserver-xsession
sudo apt install xubuntu-desktop x2goserver x2goserver-xsession
```

```shell
Expand All @@ -65,7 +88,7 @@ During installation, you might be asked to choose between `gdm3` and `lightdm`.
For our connection to our remote desktop, we will not use root. We create a new user. In this example, the user will be named _holu_

```shell
adduser holu
sudo adduser holu
```

```shell
Expand All @@ -90,44 +113,34 @@ Is the information correct? [Y/n] Y
Now, we add the new user _holu_ to the sudo group.

```shell
usermod -aG sudo holu
```

Finally on our server, we remove root´s password. The newly created user has got sudo rights.

```shell
passwd -d root
```

```shell
passwd: password expiry information changed.
sudo usermod -aG sudo holu
```

### Step 2.3 - Reboot your server

```shell
reboot
sudo reboot
```

## Step 3 - Configure your client

To connect to the xubuntu-desktop, we need to install the [X2Go client](https://wiki.x2go.org/doku.php/doc:installation:x2goclient) on the local Workstation.
To connect to the xubuntu-desktop, install the [X2Go client](https://wiki.x2go.org/doku.php/doc:installation:x2goclient) on the local Workstation.

Please use the instructions on the project website to install the client on your local machine.
Use the instructions on the project website to install the client on your local machine.

If the installation is finished, we can set up the client software.
When the installation is finished, we can set up the client software.

Create a new session in the Client and insert the parameters for your server.
Create a new session in the client and insert the parameters for your server.

- Login: holu
- Host: 157.90.XXX.XX (replace with your server IP)
- Session type: XFCE
* Login: holu
* Host: 203.0.113.1 (replace with your server IP)
* Session type: XFCE

![X2Go Client Settings](images/x2go-client.png)
![X2Go Client Settings](images/x2go-client.24.png)

Now you can save your session preferences and connect to your server.
Now you can save your session preferences and connect to your server. Once you're connected to your server, it should look like this:
![You are connected to your server](images/connection.png)
![You are connected to your server](images/connection.24.png)
## Conclusion
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.

0 comments on commit 177e920

Please sign in to comment.