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


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Проверка подключено ли устройство  (Прочитано 4688 раз)

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

Оффлайн zg_nico

  • Заслуженный пользователь
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3513
  • Nil mortalibus arduum est
    • Просмотр профиля
Re: Проверка подключено ли устройство
« Ответ #15 : 01 Сентября 2019, 06:29:05 »
maksd, мы с Вами на одном языке разговариваем?
1) Вот это:
точно не его нужно указвать в этом фрагменте.
предложение повествовательное, вопросительное или какое? В конце стоит точка. То есть Вы уверены, что точно не его нужно указывать. Тогда зачем об этом писать? Если вопрос - то я на него не отвечу, т.к. нет у меня GPMDP. У меня qmmp стоит. И он с вышеприведенной команды прекрасно стартует.
2) Вот к этому:
разве мак адрес может быть в атрибуте name?
Я ж русским по белому ранее по тексту написал откуда я взял значение атрибута NAME: из вывода udevadm info. А не гуглится он потому, что атрибут там можно вклинить по логике вещей любой, какой в голову взбредет. И описывать их все - дело пустое.
3) Вот к этому:
udevadm info -a -n имя_устройства
А я разве говорил что udev так можно пользоваться? Я вроде как писал про синтаксис:
udevadm info -a -p /devices/virtual/input/input37
Никаких name, как видите.
Короче: читайте посты внимательно и выполняйте все как в них описано - тогда заведется и заработает.
Thunderobot G150-D2: Intel SkyLake Core i7-6700HQ 2.60GHz, 8Gb DDR4 2133 MHz, Intel HD530, NVidia GeForce GTX 960M 2Gb.  Ubuntu 16.04 64x [Unity], KUbuntu 18.04 64x.

Оффлайн maksd

  • Автор темы
  • Любитель
  • *
  • Сообщений: 69
    • Просмотр профиля
Re: Проверка подключено ли устройство
« Ответ #16 : 01 Сентября 2019, 20:03:00 »
тогда заведется и заработает.
В общем. команда работает и запускает GPMDP. но...если еспользовать ее в правиле udev, то ничего не получается запустить.
сделал udevadm monitor и посмотрел поточнее атрибуты и имя своего устройства при подключении и не понимаю почему не работает ибо все правильно в правиле. я пробовал и просто запилить в RUN+="" команду запуска плеера и пробовал в исполняемый добавить  и в праивило запилить запуск скрипту. Скрипт сам по себе работает хорошо, но в правиле не пашет.
Я правильно понимаю, что правило в rules.d можнт как угодно называться?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28358
    • Просмотр профиля
Re: Проверка подключено ли устройство
« Ответ #17 : 01 Сентября 2019, 20:10:48 »
Запустить с правами пользователя =/= запустить в сессии пользователя.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн zg_nico

  • Заслуженный пользователь
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3513
  • Nil mortalibus arduum est
    • Просмотр профиля
Re: Проверка подключено ли устройство
« Ответ #18 : 01 Сентября 2019, 20:49:14 »
AnrDaemon, конкретизируйте уже, не томите.
maksd, по поводу правила - в целом, да. Называться может как угодно. Вместе с тем, осмотрите каталог /lib/udev/rules.d/ Это - системный свод правил для udev. Они применяются системой в порядке, в котором идут там. Сортировка, грубо говоря, по алфавиту. Иными словами, созданное Вами правило желательно создавать таким образом, чтобы оно применялось после всего, что идет в вышеупомянутом каталоге. Поэтому для верности имеет смысл применить имя файла вида 99-чего-то-там.rules. Протестируйте правило иначе: "запилите" в RUN команду подачи уведомления:sudo -u umd DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus notify-send ALERT Так хоть отсечемся куда именно копать. Если при подключении гарнитуры уведомление показывается строго один раз - значит все нормально с правилом, и следует смотреть в сторону того, как именно запускать плеер. Если же не показывается даже уведомление - то следует пересмотреть само правило, - что-то явно не в порядке.
Thunderobot G150-D2: Intel SkyLake Core i7-6700HQ 2.60GHz, 8Gb DDR4 2133 MHz, Intel HD530, NVidia GeForce GTX 960M 2Gb.  Ubuntu 16.04 64x [Unity], KUbuntu 18.04 64x.

Оффлайн maksd

  • Автор темы
  • Любитель
  • *
  • Сообщений: 69
    • Просмотр профиля
Re: Проверка подключено ли устройство
« Ответ #19 : 01 Сентября 2019, 21:16:50 »
Запустить с правами пользователя =/= запустить в сессии пользователя.
Не совсем понятно что вы пытаетесь сказать

Пользователь добавил сообщение 01 Сентября 2019, 21:30:32:
. Если при подключении гарнитуры уведомление показывается строго один раз - значит все нормально с правилом, и следует смотреть в сторону того, как именно запускать плеер. Если же не показывается даже уведомление - то следует пересмотреть само правило, - что-то явно не в порядке.
не показывает ни разу.
 Но если в терминал вбить то показывает.
Правило
ACTION=="add", SUBSYSTEM=="input", ATTR{name}=="00:18:09:84:91:DF", ATTR{properties}=="0", RUN+="./.condev"
Скрипт condev
#!/bin/bash
sudo -u umd DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus google-play-music-desktop-player
Да, скрипт скрытый. Точка там не случайно.
вывод udevadm info
KERNEL=="input21"
    SUBSYSTEM=="input"
    DRIVER==""
    ATTR{name}=="00:18:09:84:91:DF"
    ATTR{phys}==""
    ATTR{properties}=="0"
    ATTR{uniq}==""

Посмотрел команду в menulibre для GPMDP и скрипт немного изменился.
#!/bin/bash
sudo -u umd DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus env BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/google-play-music-desktop-player_google-play-music-desktop-player.desktop /snap/bin/google-play-music-desktop-player %U
По прежнему не работает в udev а сама команда отпрабатывает и скрипт отрабатывает
« Последнее редактирование: 01 Сентября 2019, 23:50:57 от maksd »

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6690
  • 20% Cooler
    • Просмотр профиля
Re: Проверка подключено ли устройство
« Ответ #20 : 01 Сентября 2019, 22:53:30 »
эээ, точка понятно, но первую - нельзя.
RUN+="./.condev"

RUN+="/full/path/to/.condev"



Пользователь добавил сообщение 01 Сентября 2019, 22:57:07:
Еще в самом скрипте было б нелишним
XDG_RUNTIME_DIR=/run/user/1000
« Последнее редактирование: 01 Сентября 2019, 22:57:30 от ALiEN175 »
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн maksd

  • Автор темы
  • Любитель
  • *
  • Сообщений: 69
    • Просмотр профиля
Re: Проверка подключено ли устройство
« Ответ #21 : 01 Сентября 2019, 23:18:43 »
эээ, точка понятно, но первую - нельзя.
RUN+="./.condev"

Если решили ответить, проитайте пожалуйста все ответы. Я раньше уже писал, что пробовал просто команду из скрипта вбить в udev как и посоветовал сделать другой пользователь. Не сработало. Учту на счет точки, но все равно не работает

Пользователь добавил сообщение 01 Сентября 2019, 23:52:48:
KERNEL=="input21"
    SUBSYSTEM=="input"
    DRIVER==""
    ATTR{name}=="00:18:09:84:91:DF"
    ATTR{phys}==""
    ATTR{properties}=="0"
    ATTR{uniq}==""
Здесь KERNEL при каждом подключении другой. Так и должно быть?
« Последнее редактирование: 01 Сентября 2019, 23:52:48 от maksd »

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6690
  • 20% Cooler
    • Просмотр профиля
Re: Проверка подключено ли устройство
« Ответ #22 : 02 Сентября 2019, 02:17:06 »
Прочитал. Не увидел, как именно "пробовали". В любом случае, к командам нужно указывать полный путь.

Проверим, работает ли вообще:
Правило:
ACTION=="add", ATTR{name}=="00:18:09:84:91:DF",  RUN+="/bin/bash -c 'echo OK >> /tmp/test'"
Терминал:
sudo udevadm control --reload-rules && sudo udevadm trigger
# Тут переподключить устройство
cat /tmp/test
?
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: Проверка подключено ли устройство
« Ответ #23 : 02 Сентября 2019, 03:20:28 »
Цитировать
Проверка подключено ли устройство
lsusb - главное.
ls /dev/video* ли камера.
ls -1 /sys/class/net ли сеть.
ls -1 /dev/sd[a-z] ди диск.
ls -1 /dev/sc[0-9] ли CD/DVD.
lspci ли звук.
.....
Wars ~.o

Оффлайн zg_nico

  • Заслуженный пользователь
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3513
  • Nil mortalibus arduum est
    • Просмотр профиля
Re: Проверка подключено ли устройство
« Ответ #24 : 02 Сентября 2019, 06:33:01 »
не показывает ни разу.
При этом:
ПравилоACTION=="add", SUBSYSTEM=="input", ATTR{name}=="00:18:09:84:91:DF", ATTR{properties}=="0", RUN+="./.condev"
А я писал про
ACTION=="add", SUBSYSTEMS=="input", ATTR{name}=="1C:52:16:04:0A:FE", RUN+="команда1"
Что не одно и то же. Раз уж Вы все-таки показали имя своего устройства, попробуйте такое правило:
ACTION=="add", SUBSYSTEMS=="input", ATTR{name}=="1C:52:16:04:0A:FE", RUN+="sudo -u umd DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus notify-send ALERT1"
ACTION=="remove", SUBSYSTEMS=="input", ATTRS{name}=="1C:52:16:04:0A:FE", RUN+="sudo -u umd DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus notify-send ALERT2"
После сохранения файла правила в обязательном порядке переподгружаем список правил:sudo udevadm control --reloadДалее подключаем гарнитуру и отключаем гарнитуру. На каждое из этих событий должно выйти уведомление с текстом ALERT с соответствующей цифрой.
Thunderobot G150-D2: Intel SkyLake Core i7-6700HQ 2.60GHz, 8Gb DDR4 2133 MHz, Intel HD530, NVidia GeForce GTX 960M 2Gb.  Ubuntu 16.04 64x [Unity], KUbuntu 18.04 64x.

Morisson

  • Гость

Оффлайн maksd

  • Автор темы
  • Любитель
  • *
  • Сообщений: 69
    • Просмотр профиля
Re: Проверка подключено ли устройство
« Ответ #26 : 02 Сентября 2019, 21:33:41 »
Далее подключаем гарнитуру и отключаем гарнитуру. На каждое из этих событий должно выйти уведомление с текстом ALERT с соответствующей цифрой.
Все исправил. Не выводит никакого сообщения. Но сама команда работает.
ACTION=="add",SUBSYSTEMS=="input",ATTR{name}=="00:18:09:84:91:DF",RUN+="sudo -u umd DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus notify-send ALERT1"
Перезагрузил правила
sudo udevadm control --reload
Даже пробовал перезагрузить ноут. Результата нет. Правило не работает. Может попробовать другой дистр поставить? Например Mint. Там ведь все так же делать нужно? Никаких отличий от ubuntu?

Пользователь добавил сообщение 02 Сентября 2019, 22:31:42:
в качестве временного решения использую скрипт который повесил на сочетание клавиш.
один обозвал .con
#!/bin/bash
bluetoothctl << eof
    connect 00:18:09:84:91:DF
eof
sleep 3
if [ -f "/home/<user>/devi" ]; then cat /dev/null > devi && ./.devi > devi
    if grep -e 'Connected: yes' devi; then notify-send "Подключено" && google-play-music-desktop-player && cat /dev/null > devi
   else
        notify-send "Не подключено"
    fi
else
    cat /dev/null > devi && ./.devi > devi
    if grep -e 'Connected: yes' devi; then notify-send "Подключено" && google-play-music-desktop-player && cat /dev/null > devi
   else
        notify-send "Не подключено"
    fi
fi
другой обозвал .devi
#!/bin/bash
bluetoothctl << eof
    info 00:18:09:84:91:DF
eof
Вполне неплохо работает. Но хотелось бы конечно разобраться с udev, чтобы не жать лишний раз клавиши.
А на отключение сделал .dicnct
#!/bin/bash
bluetoothctl << eof
disconnect 00:18:09:84:91:DF
eof
sleep 3
notify-send "Отключено" && killall 'Google Play Music Desktop Player' && cat /dev/null > devi

Пользователь добавил сообщение 03 Сентября 2019, 19:20:36:

Проверим, работает ли вообще:
Правило:
Код: [Выделить]
ACTION=="add", ATTR{name}=="00:18:09:84:91:DF",  RUN+="/bin/bash -c 'echo OK >> /tmp/test'"

Терминал:
Код: [Выделить]
sudo udevadm control --reload-rules && sudo udevadm trigger
# Тут переподключить устройство
cat /tmp/test
Это рпааило работает, но команда запуска плеера не работает.
« Последнее редактирование: 03 Сентября 2019, 19:20:36 от maksd »

 

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