Scripte Ausführen nach Suspend
In letzter Zeit hatte ich häufiger DNS-Probleme nachdem mein Rechner aus dem Suspend zurückkehrt. Ich vermute, dass während bzw. vor dem Suspend mein WLAN Interface deaktiviert wird und aus irgendeinem Grund scheint systemd
1 es nicht für nötig zu halten die DNS Einstellungen erneut zuzuweisen, wenn das Gerät wieder aktiviert wird. Eine korrekte Lösung über systemd-resolved
2 habe ich auf die Schnelle nicht finden können (und hatte ehrlich gesagt auch wenig Lust mich da tiefer einzuarbeiten und überlege auch ständig einfach wieder die gute alte /etc/resolv.conf
zu nutzen).
Aber hier soll es ja auch gar nicht um meine DNS-Auflösung gehen, sondern um das Ausführen von Scripten/Befehlen beim Wechsel des Suspend-Status.
Der einfachste "Fix" für mein Problem ist es einfach den Befehl resolvectl dns wlp57s0 9.9.9.11 149.112.112.10
einzugeben, nachdem mein Rechner aus dem Standby erwacht ist. Das ist manuell aber nicht nur unhandlich sondern auch nervig.
Abhilfe schafft ein kleines Script, welches ich in /lib/systemd/system-sleep/
abgelegt habe:
#!/bin/bash
if [ "${1}" = "post" ]; then
/usr/bin/resolvectl dns wlp57s0 9.9.9.11 149.112.112.10
fi
Man kann natürlich auch Dinge tun, die vor der Aktivierung des Standbys erledigt werden sollen, z.B. eine VPN-Verbindung sauber trennen und wieder aufbauen:
#!/bin/bash
if [ "${1}" = "post" ]; then
/usr/bin/wg-quick up wg0
elif [ "${1}" = "pre" ]; then
/usr/bin/wg-quick down wg0
fi
Nach dem Erstellen der Scripte nicht vergessen diese ausführbar zu machen (chmod +x
), danach sollte alles wie gewünscht ausgeführt werden.