Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Как сделать отключение флешки --> выключение ПК  (Прочитано 949 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Noobiks

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Доброго времени суток!

Подскажите пожалуйста как можно сделать следующее.

Имеется установленная Ubuntu на флешке, нужно сделать так, чтобы выдернув флешку выполнялась команда выключения ПК или чистилась ОЗУ.

Пока мне пришло в голову только костыльное решение, сделать цикл который будет проверять размер указанного файла, как только не выйдет проверить (то есть флешка отключена) выполнять команду выключения пк.

Оффлайн БТР

  • Заслуженный пользователь
  • Модератор форума
  • Старожил
  • *
  • Сообщений: 5137
    • Просмотр профиля
смотрите в сторону составления соответствующего правила udev.

Оффлайн Noobiks

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Может кто поможет с этим правилом?
С меня благодарность в виде $.

Оффлайн Heider

  • Старожил
  • *
  • Сообщений: 1037
    • Просмотр профиля
Нужно создать файл:
sudo nano /etc/udev/rules.d/10-autoumount.rules
С такой строчкой:
SUBSYSTEM=="block", KERNEL=="sd*", ACTION=="remove", RUN+="/sbin/shutdown -h now"
Чтобы новое правило вступило в силу, выполнить:
sudo udevadm control --reload-rulesили просто перезагрузиться.

Проверил на виртуалке с системой Ubuntu 14.04 LTS Unity, машина выключается при выдергивании флешки из порта USB.
Если нужна перезагрузка, а не выключение, то в команде shutdown -h now параметр -h нужно заменить на -r.
« Последнее редактирование: 19 Январь 2016, 18:00:25 от Heider »

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13751
    • Просмотр профиля
а сразу с sudo слабо?
Принимаю благодарности в WMR и WMZ на кошельки:
R158160676909 и Z313280060764

Axa-Ru

  • Гость
А у меня почему то 14.04 не выключается.

$ ls /etc/udev/rules.d
10-autoumount.rules  56-hpmud.rules  70-persistent-net.rules  80-evrouter.rules  README
$ cat  /etc/udev/rules.d/10-autoumount.rules
"SUBSYSTEM=="block", KERNEL=="sd*", ACTION=="remove", RUN+="/sbin/shutdown -h now"

$

С вставленой флешкой и без нее

16:44@axa:~$ lsusb
Bus 004 Device 004: ID 1199:68a2 Sierra Wireless, Inc.
Bus 004 Device 003: ID 8087:07dc Intel Corp.
Bus 004 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 005: ID 04f2:b217 Chicony Electronics Co., Ltd Lenovo Integrated Camera (0.3MP)
Bus 003 Device 004: ID 0a5c:217f Broadcom Corp. BCM2045B (BDC-2.1)
Bus 003 Device 010: ID 14cd:1212 Super Top
Bus 003 Device 007: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 003 Device 006: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Bus 003 Device 003: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 003 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
16:44@axa:~$ lsusb
Bus 004 Device 004: ID 1199:68a2 Sierra Wireless, Inc.
Bus 004 Device 003: ID 8087:07dc Intel Corp.
Bus 004 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 005: ID 04f2:b217 Chicony Electronics Co., Ltd Lenovo Integrated Camera (0.3MP)
Bus 003 Device 004: ID 0a5c:217f Broadcom Corp. BCM2045B (BDC-2.1)
Bus 003 Device 007: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 003 Device 006: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Bus 003 Device 003: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 003 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
16:44@axa:~$

Как понять в чем проблема?

Пользователь решил продолжить мысль [time]19 Январь 2016, 18:04:09[/time]:
Нене, все работает.  :)
Heider,
в начале правила лишняя кавычка.

Я записал такое правило:

$ cat  /etc/udev/rules.d/10-autoumount.rules
ACTION=="remove", SUBSYSTEM=="usb", RUN+="/sbin/shutdown -h now"

$
« Последнее редактирование: 19 Январь 2016, 17:05:03 от Axa-Ru »

Оффлайн Heider

  • Старожил
  • *
  • Сообщений: 1037
    • Просмотр профиля
Axa-Ru,
Спасибо! Исправил :)

Axa-Ru

  • Гость
А как сделать, чтоб не выключался, а блокировался экран?
Чота не получается.

ACTION=="remove", SUBSYSTEM=="usb", RUN+="export DISPLAY=:0.0; /usr/bin/gnome-screensaver-command --lock;"

Пользователь решил продолжить мысль 19 Январь 2016, 17:38:13:
Чуть посложнее.
http://www.webarnes.ca/2011/09/toggle-gnome-screensaver-lock-on-usb-key-insertion/
« Последнее редактирование: 19 Январь 2016, 17:38:13 от Axa-Ru »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 26078
    • Просмотр профиля
а сразу с sudo слабо?
Зачем sudo? … Правила и так от системы выполняются.

Пользователь решил продолжить мысль 19 Январь 2016, 22:59:11:

Я записал такое правило:

$ cat  /etc/udev/rules.d/10-autoumount.rules
ACTION=="remove", SUBSYSTEM=="usb", RUN+="/sbin/shutdown -h now"

$
Учти, что это выключит систему при вставке комбинированного USB модема.
« Последнее редактирование: 19 Январь 2016, 22:59:11 от AnrDaemon »
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Axa-Ru

  • Гость
Учти, что это выключит систему при вставке комбинированного USB модема.
Точнее при вынимании...
Можно добавить проверку на код производителя, например.
Очень удобная система безопасности получается.
Например к Вам приходят мусора с обыском, вынимают Вынешь флешку и компьютер стирает все из home.
Нужно навальному написать...  :D
« Последнее редактирование: 19 Январь 2016, 23:30:52 от Axa-Ru »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 26078
    • Просмотр профиля
При вставке… Потому что usb-modeswitch его тут же отключит…
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Heider

  • Старожил
  • *
  • Сообщений: 1037
    • Просмотр профиля
а сразу с sudo слабо?
Зачем sudo? … Правила и так от системы выполняются.
Это был ответ на часть моего коммента. Там я рекомендовал создать файл с правилом одной командой. Но она не работает, хоть с sudo, хоть без sudo, и я ее удалил. Оставил создание файла через nano.

Axa-Ru

  • Гость
При вставке… Потому что usb-modeswitch его тут же отключит…
а-а-а... Ясно.

Оффлайн Heider

  • Старожил
  • *
  • Сообщений: 1037
    • Просмотр профиля
Axa-Ru,
При отключении мышки, наверное, тоже будет выключаться комп.

Axa-Ru

  • Гость
С меня благодарность в виде $.
Перечисляй бабло Malamutу. Он ими за хостинг заплатит.

Пользователь решил продолжить мысль 19 Январь 2016, 23:41:12:
Axa-Ru,
При отключении мышки, наверное, тоже будет выключаться комп.
Ну так я же написал, что нужно добавить проверку кода производителя. Тогда ни модем ни мышка не дадут ложных срабатываний.

 

Страница сгенерирована за 0.084 секунд. Запросов: 24.