2017-01-26 9 views
0

Я хочу установить удаленные общие папки в папку home/user с systemd. Проблема заключается в том, что autofs пытается установить до того, как папка вышеупомянутого пользователя будет смонтирована (потому что она зашифрована и требует входа в систему для подключения). Autofs устойчив к недоступным пультам, но как-то зависает, если цель недоступна (никогда не пытается установить). Поэтому я написал простой сервис для перезапуска autofs позже. Я пробовал несколько подходов, которые видны в скрипте службы. Единственная жизнеспособность заключается в задержке. Это работает, однако, только если пользователь входит в систему быстро. Сценарий:Начать autofs после входа в систему с помощью 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 

Как это должно быть сделано, чтобы выполнить задачу?

ответ

0

Заменить линию ExecStart=/bin/bash '/usr/bin/script.sh'

Создать script.sh с проверкой входа в "while" цикла.

+0

Хотя я уже опосредовал эту проблему, предоставив большой тайм-аут autofs, я задаюсь вопросом, есть ли какой-нибудь опрятный способ сделать это. Я тоже рассматривал цикл. Хотя я могу не любить systemd по некоторым причинам, его управляемый событиями характер дает некоторые возможности. Тем не менее, я не мог понять, используя какую-либо цель для достижения необходимого эффекта. – Hibryda