Programmstart nach Kernel event?

Dieses Thema im Forum "Debian/Ubuntu/Knoppix" wurde erstellt von hiasman, 08.08.2005.

  1. #1 hiasman, 08.08.2005
    hiasman

    hiasman Mitglied

    Dabei seit:
    22.07.2005
    Beiträge:
    26
    Zustimmungen:
    0
    Hallo,

    ich habe ein frisch installiertes Debian Sarge mit 2.6er Kernel. Und arbeite mit KDE.

    ?( (Wie) kann ich durch ein bestimmtes Kernel event ein Programm starten?

    Konkret:
    • Ich habe einen Palm Zire 72 mit dem ich mit KDEPIM synchronisiere. Läuft wie am Schnürchen! Jetzt möchte ich das System so einrichten, dass nach Anschluss des Palm automatisch kpilot gestartet wird. An welchen Ecken muss ich dazu schrauben? ODER -- unter welchen Stichworten finde ich Erklärungen dazu?
    • Ich möchte nach einstöpseln eines bestimmten USB - Stick automatisch mounten, den Konqueror öffnen und ein Datensicherungsscript starten... ;-)

    Vielen Dank schon mal!

    Gruß,
    hiasman
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. theton

    theton Bitmuncher

    Dabei seit:
    27.05.2004
    Beiträge:
    4.820
    Zustimmungen:
    0
    Ort:
    Berlin, Germany
    Dein Problem mit kpilot sollte leicht zu lösen sein: Du musst einfach kpilot so einrichten, dass er beim Starten von KDE mitstartet. Damit stehen die Sync-Funktionen immer zur Verfügung (bei meinem Clie heisst das, dass ich nur noch auf den Hotsync-Knopf der Dockingstation drücken muss um die Synchronisierung zu starten).

    Zu dem Problem mit dem USB-Stick:
    Am besten du richtest dir einen Mount-Daemon ein, der dir hotplug-Devices automatisch mountet. Dann legst du ein Script im Autostart (oder als Cron) ab, das (sofern der USB-Stick gemountet ist) das entsprechende Verzeichnis (dein Mountpoint für den Stick) im Konqueror öffnet. Danach muss dann natürlich dieses "autorun"-Script dein Datensicherungs-Script aufrufen. Dass du das per Kernel-Event nur mit einem bestimmten Stick machen kannst, glaube ich nicht, da eine Kernel-Meldung für USB-Stick etwa wie folgt aussieht:

    Code:
    Aug  8 17:02:42 localhost kernel: usb 1-1: new full speed USB device using uhci_hcd and address 2
    Aug  8 17:02:45 localhost kernel: SCSI subsystem initialized
    Aug  8 17:02:45 localhost kernel: Initializing USB Mass Storage driver...
    Aug  8 17:02:45 localhost kernel: scsi0 : SCSI emulation for USB Mass Storage devices
    Aug  8 17:02:45 localhost kernel: usbcore: registered new driver usb-storage
    Aug  8 17:02:45 localhost kernel: USB Mass Storage support registered.
    Aug  8 17:02:45 localhost usb.agent[13391]:      usb-storage: loaded successfully
    Aug  8 17:02:50 localhost kernel:   Vendor: TOSHIBA   Model: MK2004GAL         Rev: 0811
    Aug  8 17:02:50 localhost kernel:   Type:   Direct-Access                      ANSI SCSI revision: 00
    Aug  8 17:02:51 localhost kernel: SCSI device sda: 39063024 512-byte hdwr sectors (20000 MB)
    Aug  8 17:02:51 localhost kernel: SCSI device sda: 39063024 512-byte hdwr sectors (20000 MB)
    Aug  8 17:02:51 localhost scsi.agent[13545]:      sd_mod: loaded sucessfully
    Aug  8 17:02:51 localhost kernel:  /dev/scsi/host0/bus0/target0/lun0: unknown partition table
    Aug  8 17:02:51 localhost kernel: Attached scsi disk sda at scsi0, channel 0, id 0, lun 0
    
    Du müsstest also aus der Meldung, die beim Laden von usbstorage ausgelöst wird, entsprechend Vendor und Model greppen und erst bei richtigem Vendor und richtigem Modell dein Backup-Script auslösen.
    Die einfachste Lösung wäre also, einfach ein kleines Cron-Script zu bauen, dass regelmässig deine /var/log/messages auf einen neuen Eintrag mit der Form wie oben dargestellt überprüft und anhand der Vendor- und Model-ID entscheidet, ob das Device gemountet werden soll oder nicht und ob das Sicherungsscript gestartet werden soll oder nicht.

    Ein besserer Weg würde mir jetzt nicht einfallen, aber auf diese Weise wäre es zumindest realisierbar.
    Vielleicht hat ja auch noch jemand eine bessere/effizientere Idee. :)
     
  4. #3 hiasman, 08.08.2005
    hiasman

    hiasman Mitglied

    Dabei seit:
    22.07.2005
    Beiträge:
    26
    Zustimmungen:
    0
    Hallo,

    danke für das Brainstorming.
    Zurück zu dem Palm. Was mein eigentlicher, vorrangiger Wunsch ist...


    Bei KDE Start automatisch den kpilot zu starten ist mir zu doof. Ich will beim Start möglichst wenig zusätzliche Programme hochfahren.

    Kann mir denn jemand sagen, wie ich die Kernelmeldungen "überwachen" kann, so das beim Einstöpseln des Gerätes automatisch kpilot gestartet werden kann??
    Wenn der ausschließliche Weg über Cron und entsprechende Scripts geht, die /var/log/messages auszulesen, dann werde ich diesen wohl nehmen müssen. Ich hoffe aber, es gibt noch eine elegantere Möglichkeit.

    DANKE!

    Gruß,
    hiasman
     
  5. tr0nix

    tr0nix der-mit-dem-tux-tanzt

    Dabei seit:
    11.07.2003
    Beiträge:
    1.585
    Zustimmungen:
    0
    Ort:
    Schweiz, Opfikon/Glattbrugg
    Sali Hiasman

    Nene, da musste ned cron nehmen. Es gibt Überwachungstools die sofort reagieren wenn ein Event auftritt - dafür läuft dieser Prozess natürlich ständig im Hintergrund. Ich dachte logwatch wär so eins, bin mir aber nicht sicher!

    Gruss
    Joel
     
  6. #5 hiasman, 09.08.2005
    hiasman

    hiasman Mitglied

    Dabei seit:
    22.07.2005
    Beiträge:
    26
    Zustimmungen:
    0
    @Joel
    Hallo,

    danke. Ich habe etwas recherchiert; logwatch wertet Logfiles aus und mailt sie dann an einen User... Mehr macht das tool scheinbar nicht. Trotzdem danke.

    Gruß,
    hiasman
     
Thema:

Programmstart nach Kernel event?

Die Seite wird geladen...

Programmstart nach Kernel event? - Ähnliche Themen

  1. Ubuntu automatischer Programmstart nach Hochfahren

    Ubuntu automatischer Programmstart nach Hochfahren: Hallo, habe versucht per Suche und Google eine Antwort zu finden, wende mich jetzt aber doch an euch. Ein Ubuntu-Rechner soll automatisch...
  2. Wie Programmstart-Argumente in Assembler auslesen?

    Wie Programmstart-Argumente in Assembler auslesen?: hi, ich bin grade dabei Asembler zu lernen, und hätte da mal eine Frage. Wie kann ich die Argumente, welche beim Programmstart unter Linux...
  3. Programmstarts durch teilweises kopieren in Ramdisk beschleunigen

    Programmstarts durch teilweises kopieren in Ramdisk beschleunigen: hallo, ich möchte ermitteln, welche dateien beim starten eines programms von der festplatte geladen werden. diese dateien will ich dann mit...
  4. Komisches Verhalten beim Programmstart

    Komisches Verhalten beim Programmstart: Hallo liebe Linuxer, ich möchte mal nach einem kleinen Problem fragen, welches mich schon länger beschäftigt und aus dem ich nicht richtig schlau...
  5. Programmstart Opera: error while loading shared libraries: libqt-mt.so.3:

    Programmstart Opera: error while loading shared libraries: libqt-mt.so.3:: Hallo, Forum! Dieses ist mein erster Tag hier und zugleich auch der erste Tag, an dem ich mich intensiv mit Linux befassen moechte. Schon...