2017-01-26 6 views
0

Ich möchte Remote-Freigaben in Home/Benutzerordner mit Systemd mounten. Das Problem besteht darin, dass autofs versucht, zu mounten, bevor der oben erwähnte Benutzerordner gemountet wird (weil es verschlüsselt ist und eine Anmeldung beim mounten benötigt). Autofs ist resistent gegenüber nicht verfügbaren Fernbedienungen, hängt aber irgendwie, wenn das Ziel nicht verfügbar ist (es wird nie wieder versucht, es zu montieren). Also schrieb ich einen einfachen Dienst, um Autofs später im Prozess neu zu starten. Ich habe verschiedene Ansätze ausprobiert, die im Skript des Dienstes sichtbar sind. Das einzige, was machbar ist, ist eine Verzögerung. Dies funktioniert jedoch nur, wenn sich der Benutzer schnell anmeldet. Das Skript:Starten Sie autofs nach dem Anmelden mit Systemd

[Unit] 
Description=delayedAutofs 
After=network.target 
RequiresMountsFor=/home/user 

[Service] 
User=root 
ExecStart=/bin/bash -c "sleep 30;/bin/systemctl restart autofs.service" 
Type=oneshot 

[Install] 
WantedBy=graphical.target 

Wie sollte es die Aufgabe zu erfüllen getan werden?

Antwort

0

ersetzen Linie ExecStart=/bin/bash '/usr/bin/script.sh'

script.sh erstellen mit Check Login in "while" -Zyklus.

+0

Während ich dieses Problem bereits vermittelte, indem ich autofs großes Timeout gab, frage ich mich, ob es einen netten Weg gibt, es zu tun. Ich dachte while loop. Obwohl ich systemd aus bestimmten Gründen ablehnen kann, bietet seine ereignisgesteuerte Natur einige Möglichkeiten. Allerdings konnte ich kein Ziel verwenden, um den gewünschten Effekt zu erzielen. – Hibryda

Verwandte Themen