gnome-mount konfiguration

Florian Diesch diesch at spamfence.net
Die Mai 19 14:11:33 BST 2009


Peter Kuechler <peter.kuechler at planungsverband.de> wrote:

> Ich habe vor nicht all zu langer Zeit schon mal wegen dieser Sache eine
> Mail an diese Liste geschrieben, das hat mich aber nicht wirklich weiter
> gebracht. Da ich auch bei Google und eigenes probieren nicht weiter
> gekommen bin, versuche ich es noch mal hier und werde es etwas genauer
> formulieren.
>
> Ich muss einen Ubuntu-Rechner aufsetzen, der im Prinzip nur eine Aufgabe
> hat:
>
> Wenn jemand ein Medium einlegt (USB-Sick/Platte, CD, DVD usw), dann soll
> diese gemountet werden und danach soll ein Virenscanner über alle dort
> vorhandenen Dateien laufen. Danach wieder aushängen und eine Meldung
> ausgeben OK oder nicht OK.
>
> Gnome benutzt dazu scheinbar das Paket gnome-mount und Nautilus (bitte
> korrigiert mich wenn ich mich irre) was auch wirklich prima
> funktioniert!

Die eigentliche Arbeit übernimmt HAL. Wenn HAL ein neues Medium
findet, schickt er eine entsprechende Meldung via DBus raus. Nautilus
horcht auf die DBus-Meldungen, und ruft gnome-mount auf, wenn er hört,
dass ein neues Medium da ist. gnome-mount schaut die
Einstellungen in GConf nach und ruft dann (über DBus) HAL auf. HAL
mountet das Medium dann und schickt via DBus eine Meldung raus, dass
eine neue Partition da ist.

Schau dir mal die HAL-Spezifikationen
(/usr/share/doc/hal-doc/spec/hal-spec.html) an


> Es liegt also nahe, diesen Mechanismus auch für meine Zwecke zu
> benutzen. Das heißt, ich brauche irgend wo einen Stelle, an der ich ein
> (von mir gebasteltes) Script/Program eintragen kann, das nach dem
> mounten aufgerufen wird.
>
> Gibt es so eine Stelle, wenn ja wo?

Mir fallen zwei Möglichkeiten ein:

 1. mit HAL:
   Setze per .fdi-Datei für alle gemounteten Medien ein
   info.callouts.add-Callout, das den Virenscanner aufruft und dann
   z.B. per notify-send (Paket libnotify-bin, damit das funktioniert, müssen noch
   irgendwelche Umgebungsvariablen passend gesetzt werden, damit er
   den Session-Bus des eingeloggten Users findet) eine entsprechende Meldung ausgibt.

 2. Du schriebst dir ein Programm, das bei DBus lauscht, ob ein Medium
    gemountet wurde, und dann den Virenscanner aufruft usw. und starte
    das in der Session des eingeloggten Users


> Hat jemand einen Tip für mich?

Es ist vermutlich einfacher, mit inoticoming, incron o.ä. /media zu
überwachen und den Virenscanner aufzurufen, sobald dort ein
Verzeichnis angelegt wird ;-)



   Florian
-- 
<http://www.florian-diesch.de/>