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

X11-Programm als root durch udev starten lassen



Hallo!

Ich versuche schon seit geraumer Zeit, durch udev ein Tcl/Tk-Skript zu
starten zu lassen, sobald ich meine Backup-USB-Platte einstöpsele.
Dieses Skript soll in einem X11-Fenster das Passwort für die verschlüsselte
Platte etc. abfragen und Informationen zur danach anlaufenden Sicherung
ausgeben.
Nun habe ich schon Lösungen gesehen, allerdings starten die z.B. zenity
unter dem Benutzer des X-Servers. Ich möchte aber das Programm als root
starten.
Mein kleines Test-Skript sieht zur Zeit so aus (jogger ist der Benutzer, der
aktuell den X-Server ansprechen darf:

#!/bin/bash

# Schlüssel für X-Server auslesen und zwischenspeichern und für root
freigeben
su -c 'xauth extract - :0' jogger | xauth -f /root/.Xauthority merge -

# Testfenster (hier einfach mal ein xterm)
xterm -hold -display :0

Das Auslesen und Ablegen des Schlüssels funktioniert und wenn ich nach dem
Einstecken der Platte eine root-Shell öffne und xterm wie oben angegeben
starte, funktioniert das mit dem Schlüssel wunderbar.

Das im obigen *Skript* aufgerufene xterm zeigt mir aber leider kein
xterm-Fenster an :-(

Offensichtlich "fehlt" beim udev-Aufruf irgendetwas, was dann das Öffnen des
xterms mit root-Rechten verhindert und was bei einer normalen Shell
vorhanden ist. Ich habe schon gelesen, dass udev keine richtige Shell
startet, aber ich dachte, mit dem Schlüssel und direkter Angabe des
Displays wäre alles "erschlagen".

Ein "su jogger -c 'xterm -hold -display:0'" im Skript funktioniert
natürlich - aber ich will ja eben kein Fenster, das unter jogger-rechten
läuft ...

Kann mir jemand auf die Sprünge helfen, was ich übersehen habe?

Viele Grüße,
Chris
-- 
Der wichtigste Hinweis auf außerirdische Intelligenzen ist, dass sie keinen
Kontakt mit uns aufnehmen ...


Reply to: