Re: udev-Frage
On Sunday 02 June 2013, Galina Sato wrote:
> Daraus schliesse ich, dass die Regel eigentlich richtig wäre. Liegt
> das Problem, dass backup_gui nicht gestartet wird, daran, dass hier
> eben eine grafische Komponente drin ist?
Dem Skript fehlt mindestens die Umgebungsvariable DISPLAY. Die könntest
du versuchsweise in einem Wrapper-Skript mit
export DISPLAY=:2
definieren und dann
backup_gui
aufrufen. Allerdings ist das keine robuste Lösung, wenn sie überhaupt
funktioniert. Ich nehme an, dass Aufrufe aus udev-Regeln als Root
erfolgen und Root hat keine Erlaubnis, einfach so auf dein X-Display
zuzugreifen. Ohnehin soll backup_gui vermutlich nicht mit root-Rechten
laufen.
Du müsstest ein paar Fragen (für dich) beantworten: Was soll passieren,
wenn der USB-Stick eingesteckt wird, während kein Benutzer angemeldet
ist? Soll der nur für bestimmte angemeldete Benutzer backup_gui
gestartet werden?
Das Package acpi-support-base enthält die Skript-Library-Datei
/usr/share/acpi-support/power-funcs. Darin ist u.a. diese nützliche
Funktion definiert
# getXconsole: get the information for the active X console, if any.
# calls getXuser to get information related to the logged-in user.
# input: none
# output: $XAUTHORITY: the path to the xauth data used for connecting to
the
# detected X display.
# $DISPLAY: the X display
# $XUSER: the username of the user who owns the display.
getXconsole
su -c backup_gui $XUSER
Evtl. brauchst du noch -p (--preserve-environment), damit DISPLAY und
XAUTHORITY durchgereicht werden.
Michael
--
Michael Schuerig
mailto:michael@schuerig.de
http://www.schuerig.de/michael/
Reply to: