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

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

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

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

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

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

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

Спасибо

0
задан 19 July 2012 в 14:16

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-устройство корректно извлекается.

0
ответ дан 19 July 2012 в 14:16

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

Похожие вопросы: