
Ich mounte ein Remote-Laufwerk häufig mit sshfs. Ich würde das gerne automatisch machen. Wenn ich es jedoch in meiner .bashrc- oder Startskriptdatei mounte, schlägt das Mounten häufig fehl, weil meine drahtlose Internetverbindung noch nicht hergestellt wurde.
Kennt jemand eine einfache Möglichkeit, bei jedem Verbindungsaufbau ein Bash-Skript auszuführen oder ein SSHFS-Laufwerk automatisch zu mounten?
Antwort1
Fügen Sie Ihr Skript hinzu /etc/network/if-up.d/
. Benennen Sie Ihr Skript ohne die Erweiterung „.sh“.
Führen Sie das Skript auch nach dem Hinzufügen aus, chmod +x /etc/network/if-up.d/yourscriptname
um die erforderliche Berechtigung zu erteilen.
Stellen Sie sicher, dass die Netzwerkschnittstelle (z. B. wlan0 oder eth0), die beim Einschalten Ihr Skript auslösen soll, in der Datei erwähnt wird /etc/network/interfaces
.
Antwort2
Anmerkung des Herausgebers: Cuttlefish wurde seit 2012 nicht mehr aktualisiert und befindet sich in keinem aktuellen Ubuntu-Repositories
Ubuntu 12.04
- InstallierenTintenfisch: Ein einfaches Tool, das Reflexe auf Ihrem Computer realisiert, indem es Aktionen ausführt, wenn bestimmte Ereignisse ausgelöst werden.
Öffnen Sie Cuttlefish und klicken Sie auf New.
- Geben Sie ihm einen Namen und ändern SieDurch Reiz aktiviertauf EIN.
- Klicke aufStimulus, wählen Sie die KategorieNetzwerkund TypMit WLAN verbinden. OK klicken.
- Sie können auch die SSID des drahtlosen Netzwerks auswählen und haben die Option, diese beim Start zu überprüfen oder nicht.
- Nun müssen Sie eine Reaktion angeben. Gehen Sie zuReaktionund klicken Sie auf „Hinzufügen“. Wählen SieAnwendungenaus der Kategorie undAnwendung starten (im erweiterten Modus)vom Typ.
- Geben Sie nun in der ausführbaren Option das Skript an, das Sie ausführen möchten. Sie können dem Skript sogar Parameter übergeben.
- Und das ist es! Stellen Sie außerdem sicher, dass Sie Cuttlefish zu den Startanwendungen hinzufügen. Gehen Sie zuBearbeiten > Voreinstellungenund aktivieren Sie die Autostart-Option.
Antwort3
Ich werde diesen Teil der OP-Frage beantworten: „Ich hätte diese Halterung gerne automatisch“
Mein bevorzugtes Tool zum automatischen Mounten von Netzwerkfreigaben ist autofs: https://help.ubuntu.com/community/Autofs
AutoFS ist mein bevorzugtes Tool zum Mounten meines NAS – für alle meine Laptops und Workstations.
"autofs ist ein Programm zum automatischen Mounten von Verzeichnissen nach Bedarf. Auto-Mounts werden nur gemountet, wenn auf sie zugegriffen wird, und nach einer Zeit der Inaktivität wieder demontiert. Aus diesem Grund spart das automatische Mounten von NFS/Samba-Freigaben Bandbreite und bietet eine bessere Gesamtleistung im Vergleich zu statischen Mounts über fstab."
Antwort4
systemd
scheint heutzutage die Vernetzung übernommen zu haben.
$ networkctl
WARNING: systemd-networkd is not running, output will be incomplete.
IDX LINK TYPE OPERATIONAL SETUP
1 lo loopback n/a unmanaged
2 enp0s25 ether n/a unmanaged
3 wlo1 wlan n/a unmanaged
3 links listed.
Es verfügt auch über Einheiten, die den Schnittstellen entsprechen
$ systemctl list-units |grep wlo1
sys-devices-pci0000:00-0000:00:1c.3-0000:24:00.0-net-wlo1.device loaded active plugged Centrino Ultimate-N 6300 (3x3 AGN)
sys-subsystem-net-devices-wlo1.device loaded active plugged Centrino Ultimate-N 6300 (3x3 AGN)
Offensichtlich können Sie diese in Service-Unit-Dateien verwenden. Erstellen Sie also einfach eine Service-Unit, um Ihr Skript auszuführen, und verwenden Sie darin etwas wie das hier, damit es bedingt im Netzwerk ausgeführt wird:
BindsTo=sys-subsystem-net-devices-wlo1.device
After=sys-subsystem-net-devices-wlo1.device
Viel Glück! Ich habe das nicht getestet, daher kann es bei Ihnen anders sein.
Quellen: