Automatischer NFS Mount bei Netzverbindung
Beim herumspielen mit VPNs und verschiedenen Verbindung ist hier ein seit Jahren in KDE bestehender Bug aufgetreten: Wenn ein NFS-Share plötzlich nicht mehr zur Verfügung steht, friert mindestens der Dateimanager, oft auch mehr von KDE ein.
Dank einer Anleitung habe ich es geschafft, mir ein Shell-Script zu basteln, welches von NetworkManager aufgerufen wird, wenn eine bestimmte Verbindung aufgebaut oder getrennt wird:
#!/bin/sh
# Find the connection UUID with "nmcli con show" in terminal.
# All NetworkManager connection types are supported: wireless, VPN, wired...
UUID1="1. UUID"
UUID2="2. UUID"
if [[ " $CONNECTION_UUID " == " $UUID1 " ]] || [[ " $CONNECTION_UUID " == " $UUID2 " ]]; then
# Script parameter $1: network interface name, not used
# Script parameter $2: dispatched event
case "$2" in
"up")
mount -a
;;
"down"|"pre-down"|"vpn-pre-down")
umount -a -t cifs -l
;;
esac
fi
Hier müssen die mit dem darüber angegeben Befehl herausgefundenen Netzwerkverbindungen bzw. deren UUID angegeben werden.
Das Script wird dann mit den Namen "/etc/NetworkManager/dispatcher.d/30-nfs.sh
" als root gespeichert. Ich benutze dafür Nano:
sudo nano /etc/NetworkManager/30-nfs.sh
Dann wird es noch mit
sudo chmod +x /etd/NetworkManager/30-nfs.sh
ausführbar gemacht.
Und um sicher zu gehen, dass auch jedes Event abgefangen wird, legen wir noch einen symlink an:
sudo ln -s /etc/NetworkManager/dispatcher.d/30-nfs.sh /etc/NetworkManager/dispatcher.d/pre-down.d/30-nfs.sh
Fertig. Bin ich nun in einem Netz mit einer der aufgeführten UUIDs sind die Mounts verbunden und wenn nicht eben nicht. Die Liste kann mit entsprechenden Variablen und weiteren Abfragen in der if-Zeile beliebig erweitert werden.