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

Re: udev-Frage



Am Sun, 2 Jun 2013 17:52:21 +0200
schrieb Michael Schuerig <michael.lists@schuerig.de>:

> 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?

Genau. Ich denke, dass ich es tatsächlich einfach ohne Zenity mache.
Dann wird zunächst ein Programm aufgerufen, welches den User definiert.
Ist er eingeloggt, dann läuft das Programm ab. Ansonsten eben nicht.

> 
> 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

Besten Dank. Ich denke, dass es für ein einfaches Backup-Skript wohl
zuviel des Guten ist. Denn ich möchte ja nur, dass - wenn jemand den
USB-Stick einsteckt - mein Skript nachschaut:
- hat es auf dem Stick Daten?
- Falls "Ja", wird ein neues Verzeichnis angelegt (date +%k%M%S)
- Die Dateien werden in dieses Verzeichnis kopiert
- Falls die hashes der Dateien dieselben sind, werden sie auf dem
  USB-Stick mit "shred" gelöscht
- Das neue Verzeichnis wird mit tar verpackt und über gnupg gepipt.
- Das Skript beendet sich
- Der USB-Stick wird unmounted

Da es einfach für alle im Büro gedacht ist, die mit vordefinierten
Sticks Daten von ihren Rechnern auf meinen Laptop bringen wollen,
dachte ich, es wäre einfach, wenn hier alle Schritte dokumentiert
würden.

Aber mal schauen, ob mein Plan funktioniert....

Danke und schönen Abend

Galina


Reply to: