[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: dbus shell



А если на минуту забыть вообще про gui?

Ну вот нет его, даже монитора нет. Стоит себе в шкафу железяка с блютузами, вайфаями и т.д.

Железяка находит девайсы и к примеру просто делает backup чего-то или ещё что. И вот тут, лично мне в первую очередь интересны простые текстовые конфиги\скрипты. Простые в понимании и редактировании.

Пример из interfaces:
iface wwan0 inet dhcp
pre-up /usr/bin/qmicli -d /dev/cdc-wdm0 --dms-set-operating-mode=online
        pre-up /usr/bin/qmi-network /dev/cdc-wdm0 start
        post-down /usr/bin/qmi-network /dev/cdc-wdm0 stop

d-bus и NM не нашел решения.

сама идея pre-чего-то и post-чегото до шикарного проста. задать можно любое действие и оно интуитивно понятно.

+

Возожность вот таких интересных штук как ifup interface=чего-то там

On 01/12/2016 11:34 PM, Victor Wagner wrote:
On Tue, 12 Jan 2016 21:27:36 +0300
Max Dmitrichenko <dmitrmax@gmail.com> wrote:

Думаю, что самое простое будет взять реальный пример какой-нибудь
жизненной ситуации. Например, попробовать шеллом поймать запрос и
ввести PIN-код для нового bluetooth-девайса, без применения специально
написанной для этого текстовой утилиты.

Это чуть-чуть немножко сложная задача. Поскольку требует интерфейса
пользователя. Что для shell-интерфейса к dbus нетривиально (хотя можно
для GUI ssh-askpass использовать). Можно упростить задачу - считать что
PIN-ы для пяти-шести устройств, которые мы различаем по адресам или
именам, мы можем захардкодить в скрипт. Тогда нашему скрипту не надо
взаимодействовать ни с чем, кроме D-Bus.

Другой вариант - отловить событие появления сетевого интерфейса и
дернуть командно-строчную утилиту управления Jabber-клиентом, чтобы он
переконнектился.

Или - отловить событие блокировки экрана скринсейвером и выгрузить
ssh-ключи из агента.

Хотя предложенный вариант с passkey-agent хорош тем, что там надо не на
сигналы реагировать а реализовывать интерфейс, хотя и очень простой.

Но инструмент должен уметь и то, и другое.

Как мне кажется, основной способ использования этого инструмента должен
быть такой - он запускается при старте сессии, регистрирует свой
интерес к определенным событиям и определенные, реализуемые им
интерфейсы и ждет. UI не имеет. Если кому надо провзаимодействовать с
пользователем, то это делается посредством вызова скрипта на Tcl/Tk,
zenity или еще какой-простенкьой системы создания GUI.

Хотя уметь запускать скрипты, слушающие DBus, из терминала, чтобы
stdin-stdout оставались к этому терминалу присоединены - тоже
интересная задачка.

  Или поуправлять чем-нибудь\
dbus'ным. Громкостью, например, или тем же NetworkManager'ом. Так у
вас сложится более полная картина.

12 января 2016 г., 20:29 пользователь Alexey Shrub
<worldmind@mail.ru> написал:
Приветствую всех,

в холиварах на тему systemd часто говорят что утилиты для работы с
dbus в консоли недостаточно функциональны, может кто-то цельно и
подробно написать чего именно не хватает?







--
Best regards,
Dim


Reply to: