LINUX.ORG.RU
решено ФорумAdmin

udev et run X program

 ,


0

1

Как, запустить X-приложение из udev, например, при подключении каждого устройства?

RUN+="/usr/bin/bash -c 'DISPLAY=:0 urxvt'"

Так не работает.

Ответ на: комментарий от DeadEye

Неа, проверил в консоли — без точки с запятой тоже работает.

Kotolegokot
() автор топика
Ответ на: комментарий от Kotolegokot

Нет, ты показываешь внутреннюю переменную udev. env шелла. Ещё может потребоваться su, потому что вряд ли у тебя рут имеет право подключаться к X-серверу. Или дай ему доступ через xhost.

Gotf ★★★
()
Ответ на: комментарий от Gotf

Ясненько.

Но, как я понял, из udev текущий X-сервер и текущего пользователя не определить, поэтому придется писать велосипед с помощью libudev?

Kotolegokot
() автор топика
Ответ на: комментарий от Kotolegokot

У тебя больше одного сервера? Тогда не знаю. Возможность определения активной сессии была в ConsoleKit. И вообще, тебе действительно нужно запускать приложение именно из udev? Есть же dbus.

Gotf ★★★
()
Ответ на: комментарий от Gotf

Вообще, я хотел написать панельку, появляющуюся при подключении блочного устройства снизу экрана и спрашивающую, что делать, например.

Как это реализовать, я пока не знаю. Про то, как писать правила для udev, узнал только пару часов назад, а про dbus вообще ни сном, ни духом.

Kotolegokot
() автор топика
Ответ на: комментарий от Kotolegokot

Тебе точно нужен dbus. Если только блочные устройства, то лучше всего познакомиться с udisks. Ещё есть такая штука как udisks-glue.

Gotf ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.