Как показать уведомление при вставке USB-устройства?

Было бы хорошо знать, что при подключении USB-устройства, например веб-камеры, оно уведомляет меня о том, работает оно или нет.

6
задан 8 May 2011 в 16:49

4 ответа

Пакет libnotify-мусорного-ведра включает двоичный файл, уведомьте - отправляют который дисплеи уведомление. Вот пример вызова его:

уведомьте - отправляют "Новое USB-устройство, подключенное" "Новое устройство, был соединен: и тому подобное"

Я полагаю, что Вы могли создать правило udev для, "добавляют", и для "удаляют" действия для инициирования маленького сценария, который вызвал бы уведомление. Я не изучил это, но я видел, что подобные сценарии вызывают команды encryption/mouting для устройств хранения.

Проект Guadalinex также имел этот тип функциональности [1], который они demo'ed в Севилье UDS в 2005(!), возможно, было бы легче разыскать, если бы они отправили свою работу в восходящем направлении или если это доступно как отдельный пакет где-нибудь. Не устанавливайте пакеты, упомянутые в ошибке Debian, которую я цитирую, это только в ссылочных целях, если кто-либо решил бы исследовать ее.

[1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=458405

3
ответ дан 8 May 2011 в 16:49

Это - действительно удивление для меня, что в 2014 у нас все еще нет этой функции, работающей по умолчанию. Кажется, что существует очень мало количества людей, кому нужна эта функция, но мне действительно нужен он.

В первую очередь, я нашел, udev-уведомляют пакет, но к сожалению он почти не работает на меня: это работает в течение очень небольшого количества времени (1-2 минуты), и затем, если я соединяю/разъединяю какое-либо устройство, это отказывает:

Traceback (most recent call last):
  File "./udev-notify.py", line 319, in <module>
    notification.show()
glib.GError: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name :1.1061 was not provided by any .service files

Я не нашел решения, таким образом, я должен был удалить его. (зарегистрированный bugreport также)

Нет никаких подобных утилит, которые я нашел до сих пор. Таким образом, я должен был реализовать свое собственное решение, это является, вероятно, не блестящим, но это работает на меня: это уведомляет меня со звуковым и визуальным уведомлением для любого устройства, что я включаюсь/отключаю. Заголовок устройства получен через lsusb, так, чтобы, если я включаю некоторое неизвестное устройство, по крайней мере, я видел vendor_id:product_id. Мне нравится он.

Это похоже на это:

enter image description here

Детали установки.

Протестированный на Ubuntu 12.04, Xubuntu 12.04, Xubuntu 13.04, Linux Mint 13. Я полагаю, что это должно работать над другими производными Ubuntu, и я надеюсь, что это будет работать над любым *, отклоняют систему с udev.

  • Перейдите к странице проекта, получите источники оттуда и поместите их где-нибудь. Существует всего один основной сценарий в нем: my-udev-notify.sh, но архив также содержит звуки для, включитесь/отключите уведомления, плюс еще некоторая информация, посмотрите readme.txt для деталей.
  • Создайте файл /etc/udev/rules.d/my-udev-notify.rules со следующим содержанием: (не забывайте изменять путь к своему реальному пути, где Вы распаковали my-udev-notify.sh!)

 ACTION=="add",    RUN+="/bin/bash /path/to/my-udev-notify.sh -a add    -p '%p' -b '$attr{busnum}' -d '$attr{devnum}'"
 ACTION=="remove", RUN+="/bin/bash /path/to/my-udev-notify.sh -a remove -p '%p' -b '$attr{busnum}' -d '$attr{devnum}'"

После этого это должно работать на недавно подключенные устройства. Таким образом, при отключении некоторого устройства Вы не получите уведомление. Но когда Вы включаете его назад, Вы будете. (да, для меня это работает без любого перезапуска udev. Если это не делает для Вас, попытайтесь перезагрузить),

Заставить его работать на все устройства, просто перезагрузить Вашу систему. ОБРАТИТЕ ВНИМАНИЕ, что могло бы быть много уведомлений во время первой начальной загрузки (см. известные проблемы в readme.txt). На второй начальной загрузке не будет никаких уведомлений (если Вы не включите новое устройство, когда система выключена),

Можно настроить его (поверните визуальные и звуковые уведомления включения - выключения или звуки изменения), проверьте readme.txt в архив для деталей.

3
ответ дан 8 May 2011 в 16:49

Существуют апплеты для панели gnome, которые позволят вам видеть подключенные устройства и позволят вам их извлечь. Например, есть ejecter , который представляет собой апплет, который позволяет вам видеть подключенные съемные устройства и позволяет их извлекать. KDE имеет очень классную систему уведомлений, позволяющую увидеть, какие устройства были недавно подключены. Вы можете попробовать использовать команду lsusb , чтобы проверить, было ли ваше устройство обнаружено или нет. А если вы любитель приключений, вы можете написать свои собственные правила udev.

0
ответ дан 8 May 2011 в 16:49

Я не верю, что такого уведомления еще нет (и сейчас я даже не могу вспомнить, где настроить уведомления), я полагаю, что может быть очень трудно заставить компьютер делать выводы, или веб-камера работает неправильно .

Когда вы вставляете USB-устройство, оно обычно появляется на вашем рабочем столе, я думаю, вам придется использовать программу, которую вы планируете использовать с веб-камерой, чтобы выяснить, действительно ли веб-камера работает.

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

[ 113] Я надеюсь, что это отвечает на ваш вопрос: -)

0
ответ дан 8 May 2011 в 16:49

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

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