Xrdp/Problembehebung: Unterschied zwischen den Versionen
Erscheinungsbild
| (6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
''' | '''Xrdp/Problembehebung''' | ||
== Beschreibung == | == Beschreibung == | ||
==== XRDP-Daemon startet nach Systemneustart nicht ==== | |||
; xrdp.service log | |||
[ERROR] trans_listen_address failed | |||
[ERROR] xrdp_listen_main_loop: xrdp_listen_get_port failed | |||
Dieser Fehler kann beim Systemstart auftreten, da XRDP versucht, sich an eine Netzwerkschnittstelle zu binden, die noch keine IP-Adresse erhalten hat | |||
; Lösung | |||
Hilfsdienst erstellen | |||
* Auf Initialisierung der Schnittstelle warteen | |||
Skript | |||
''/usr/local/sbin/wait-enp8s0.sh'' | |||
<syntaxhighlight lang="bash" highlight="" copy line> | |||
#!/bin/sh | |||
IFACE="enp8s0" | |||
ADDR="10.20.0.1" | |||
TIMEOUT=60 | |||
i=0 | |||
while [ "$i" -lt "$TIMEOUT" ]; do | |||
if ip -4 addr show dev "$IFACE" | grep -q " $ADDR/"; then | |||
exit 0 | |||
fi | |||
i=$((i+1)) | |||
sleep 1 | |||
done | |||
exit 1 | |||
</syntaxhighlight> | |||
* Als nächstes muss die Datei ausführbar gemacht werden: | |||
<syntaxhighlight lang="bash" highlight="1" copy line> | |||
sudo chmod +x /usr/local/sbin/wait-enp8s0.sh | |||
</syntaxhighlight> | |||
* Erstellen einer Dienst-Unit ''/etc/systemd/system/wait-enp8s0.service'': | |||
<syntaxhighlight lang="ini" highlight="" copy line> | |||
[Unit] | |||
Description=Wait for 10.20.0.1 on enp8s0 | |||
After=network.target | |||
Wants=network.target | |||
[Service] | |||
Type=oneshot | |||
ExecStart=/usr/local/sbin/wait-enp8s0.sh | |||
RemainAfterExit=yes | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="bash" highlight="1" copy line> | |||
sudo systemctl daemon-reload | |||
</syntaxhighlight> | |||
* Schaffung einer Abhängigkeit des Hauptdienstes vom Hilfsdienst: | |||
<syntaxhighlight lang="bash" highlight="1" copy line> | |||
sudo systemctl edit xrdp | |||
</syntaxhighlight> | |||
* Inhalt der Datei: | |||
<syntaxhighlight lang="ini" highlight="" copy line> | |||
[Unit] | |||
After=wait-enp8s0.service | |||
Requires=wait-enp8s0.service | |||
</syntaxhighlight> | |||
* Neustart des Dienstes | |||
<syntaxhighlight lang="bash" highlight="1" copy line> | |||
sudo systemctl daemon-reload | |||
</syntaxhighlight> | |||
== Installation == | == Installation == | ||
Aktuelle Version vom 2. Januar 2026, 14:03 Uhr
Xrdp/Problembehebung
Beschreibung
XRDP-Daemon startet nach Systemneustart nicht
- xrdp.service log
[ERROR] trans_listen_address failed [ERROR] xrdp_listen_main_loop: xrdp_listen_get_port failed
Dieser Fehler kann beim Systemstart auftreten, da XRDP versucht, sich an eine Netzwerkschnittstelle zu binden, die noch keine IP-Adresse erhalten hat
- Lösung
Hilfsdienst erstellen
- Auf Initialisierung der Schnittstelle warteen
Skript
/usr/local/sbin/wait-enp8s0.sh
#!/bin/sh
IFACE="enp8s0"
ADDR="10.20.0.1"
TIMEOUT=60
i=0
while [ "$i" -lt "$TIMEOUT" ]; do
if ip -4 addr show dev "$IFACE" | grep -q " $ADDR/"; then
exit 0
fi
i=$((i+1))
sleep 1
done
exit 1
- Als nächstes muss die Datei ausführbar gemacht werden:
sudo chmod +x /usr/local/sbin/wait-enp8s0.sh
- Erstellen einer Dienst-Unit /etc/systemd/system/wait-enp8s0.service:
[Unit]
Description=Wait for 10.20.0.1 on enp8s0
After=network.target
Wants=network.target
[Service]
Type=oneshot
ExecStart=/usr/local/sbin/wait-enp8s0.sh
RemainAfterExit=yes
sudo systemctl daemon-reload
- Schaffung einer Abhängigkeit des Hauptdienstes vom Hilfsdienst:
sudo systemctl edit xrdp
- Inhalt der Datei:
[Unit]
After=wait-enp8s0.service
Requires=wait-enp8s0.service
- Neustart des Dienstes
sudo systemctl daemon-reload
Installation
Aufruf
Optionen
| Unix | GNU | Parameter | Beschreibung |
|---|---|---|---|
Parameter
Umgebungsvariablen
Exit-Status
| Wert | Beschreibung |
|---|---|
| 0 | Erfolg |
| >0 | Fehler |
Anwendung
Problembehebung
Konfiguration
Dateien
| Datei | Beschreibung |
|---|---|
Anhang
Siehe auch
Dokumentation
Links
Projekt
Weblinks