Есть ли способ автозапуска при отключении внешнего USB-накопителя (U10.04)?

У меня есть маленький USB HD, который я купил для ежедневного резервного копирования, на котором установлена ​​система encfs.

У меня есть autorun скрипт в корне, который делает пару вещей, включая монтирование Enc-FS, и эта часть работает нормально.

Однако если я забуду fusermount -u enc-FS - перед его извлечением нет никаких предупреждений, и USB отключается, оставляя часть encFS по-прежнему подключенной. Конечно, это не совсем так, и попытка доступа с помощью nautilus, скажем, приводит к тому, что машина "плохо себя ведет".

Существует также риск потери файлов, я полагаю.

По какой-то причине системы, похоже, не обнаруживают, что диск все еще активен, как обычно, в этом сценарии.

В любом случае, мой вопрос заключается в том, возможно ли установить эквивалент автозапуска при отключении, который запускается при извлечении USB?

Спасибо

1 ответ

Ну, я придумал не очень элегантный способ обойти это. autorun скрипт выглядит примерно так:

#!/bin/bash

/path/to/mount-script&

while : # loop isn't really needed ...
do
    sleep 999d # ...  because the script will idle for 999 days
    if (($?))
    then
    # sleep closed abnormally, so tidy up
        /path/to/dismount-script
         exit 1
    fi
done

Поэтому, когда происходит извлечение диска, система обнаруживает sleep а также bash все еще работает и выдает предупреждающий диалог; щелкните правой кнопкой мыши sleep в диалоговом окне "завершение" он затем вызывает состояние выхода 130, что означает, что вызывается сценарий размонтирования, а когда он возвращает, сценарий bash завершается, а устройство USB затем чисто удаляется.

Другие вопросы по тегам