Programmstart nach Anmeldung(Autostart)
-
Hi folks,
hab da ein Programm, das ich nach jedem Systemstart von RH9 ausführen möchte!
Hab gehört, das es viele Methoden gibt.
Nun meine Frage:Welche Methode ist für das einfache Ausführen eines einfachen Programmes am zweckmässigsten?
Danke für Antworten!
Tschö
-
Soll das Programm bei jedem Systemstart oder nur bei jedem Start des WindowManager gestartet werden?
-
ich administriere meinen webserver haupsächlich auf der grafischen Oberfläche, also beim start des windowmanagers.
Wäre cool, wenn du mir die dateien sagen könntest, in denen ich mein programmaufruf eintragen muss.Danke
-
eigentlich kannst du in ~/.Xsession Shellbefehle eintragen, die beim Login gestartet werden. Aber wenn du den kdm oder gdm als Loginmanager benutzt, geht das afaik nicht, weil die die Datei nicht auswerten.
-
Kann man den nicht auch in die dateien .bashrc oder .bash_profile programme automartisch beim einloggen eines users starten lassen?
-
bei KDE gibt es im Verzeichnis ~/.kde/ einen Ordner "Autostart". In diesem kannst du Skripte o.ä. kopieren, die beim Start von KDE ausgeführt werden sollen.
-
Hallo,
der Vollständigkeit halber:
Bei Gnome geht das mit dem Tool "gnome-session-properties".
-
/bin/bash0R schrieb:
Kann man den nicht auch in die dateien .bashrc oder .bash_profile programme automartisch beim einloggen eines users starten lassen?
Naja, das wird dann jedes Mal beim Starten einer Bash ausgeführt, sprich zB auch wenn Du ein xterm öffnest oä.
ich administriere meinen webserver haupsächlich auf der grafischen Oberfläche, also beim start des windowmanagers.
Klingt aber eher so als wäre das etwas was unabhängig vom WM laufen sollte; starte das lieber mit einem entsprechenden Initskript.
-
ähhm ok, initscripts, schon davon gehört aber leider in der praxis......
Könntest du vielleicht etwas genauer sagen, wie sowas unter RedHat 9 funzt.
Sind das die rc0.d rc1.d rcx.d... dateien? Könntest du vielleicht konkreter werden, da ich ziemlicher newbie bin, was die konfiguration eines linuxsystems angeht, ich kann nur konsolen befehle und cprogn. wo muss ich konkret den pfad meines programms reinschreibenprog [-options]
Danke für eure Mühe
bash0R
-
Hm, RedHat verwendet SysV-Init IIRC, daher: Ein Skript das Dein Programm startet und sich wie alle anderen Initskripte verhält nach /etc/init.d packen und dann einfach via ksysv in den passenden Bootlevel schieben. (Gerade für Anfänger ist wohl das GUI recht angenehm.)
-
man könnte auch entsprechende einträge in /etc/X11/xinit/ hinterlassen...
-
todo schrieb:
man könnte auch entsprechende einträge in /etc/X11/xinit/ hinterlassen...
Allerdings klingt /bin/bash0rs Beschreibung nicht so als ob es sinnvoll wäre, sein Script an den Start von X oder an den Start des WMs zu koppeln.
-
Ok danke für Eure Diskussion und Mühen.
habe nun meinen Programmaufruf + Argumente in die ~/.bash_profile geschrieben und es funktioniert!
Sieht hier irgendjemand Nachteile gegenüber anderen Lösungen oder kann das sogar zu Fehlern führen.
Greets
bash0R
-
/bin/bash0R schrieb:
habe nun meinen Programmaufruf + Argumente in die ~/.bash_profile geschrieben und es funktioniert!
Sieht hier irgendjemand Nachteile gegenüber anderen Lösungen oder kann das sogar zu Fehlern führen.
Ja, ich habe oben auch beschrieben warum; so wird Dein Programm jedesmal gestartet wenn Du eine Shell startest; das dürfte kaum im Sinne des Erfinders sein.
-
Wenn ich aber ein
while true; do ps -ef | grep "*PROGNAME*" >test.txt; done
mache, und ein paar shells oeffne, dann steht in test.txt rein gar nix drin.
Interpretiere ich da was falsch?Chiao
-
/bin/bash0R schrieb:
Wenn ich aber ein
while true; do ps -ef | grep "*PROGNAME*" >test.txt; done
mache, und ein paar shells oeffne, dann steht in test.txt rein gar nix drin.
Interpretiere ich da was falsch?Chiao
Ja, von hinten bis vorne.
- Mit Deiner Anweisung wird die Datei nie geschrieben; versuch mal ein
while true; do ps ax | grep init > test.txt; done
(Und sag mir bitte nicht "Bei mir läuft wohl einfach kein Init oä.) Wenn Du Überprüfen willst wie oft ein Programm läuft dann mach einfach einmal "pgrep programm | wc -l" oä (aber um Himmels Willen nicht in einer Endlosschleife die das in eine Datei schreiben soll).
- grep "*ausdruck*" ist Blödsinn, ein einfaches grep ausdruck reicht völlig.
- Mit grep foobar > file überschreibst Du denn Inhalt von file immer wieder, das ist Dir hoffentlich klar. Wenn Du Text anhängen möchtest dann mach grep foobar >> file.