Xrdp/Problembehebung: Unterschied zwischen den Versionen
Erscheinungsbild
Keine Bearbeitungszusammenfassung Markierung: Zurückgesetzt |
Änderung 159120 von Dirkwagner (Diskussion) rückgängig gemacht. Markierungen: Rückgängigmachung Zurückgesetzt |
||
| Zeile 1: | Zeile 1: | ||
=== Problembehebung === | === Problembehebung === | ||
==== Der XRDP-Daemon startet nach einem Neustart nicht ==== | ==== Der XRDP-Daemon startet nach einem Neustart nicht ==== | ||
; xrdp.service log | ; xrdp.service log | ||
Version vom 20. Dezember 2025, 11:41 Uhr
Problembehebung
Der XRDP-Daemon startet nach einem Neustart 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
Es muss ein Hilfsdienst erstellt werden, der auf die Initialisierung der Schnittstelle wartet. Dazu wird ein Skript unter dem Pfad /usr/local/sbin/wait-enp8s0.sh erstellt:
#!/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