Note: this wiki is no longer maintained. If you have any questions related to this wiki, please post them on the CrunchBang forums.

Translations of this page?:

da - de - en - es - fr - ja - pl - ru


WIKI-DE HOWTO Programme automatisch mit Openbox starten

Diese Frage wurde nun schon öfter im Forum gestellt, also habe ich mich entschieden ein Howto, über die autostart.sh Datei, ins Wiki zu stellen. Ich hoffe, dass hier einige eurer Fragen beantwortet werden.

(Anm. d. Übersetzers: application_command, meint den Befehl, den du eingibst um ein bestimmtes Programm zu starten, da sich das schwer sinnvoll und knackig auf den Punkt übersetzen lässt, habe ich den Ausdruck im Englischen belassen)

Der englische Originaltext ist hier zu finden: http://crunchbanglinux.org/wiki/howto/autostart_programs

Was ist die autostart.sh und wie kann ich sie bearbeiten?

Die autostart.sh ist ein Script, das bei jedem Systemstart von Openbox abgefragt wird und Programme oder Befehle in diesem Vorgang automatisch startet.

Die autostart.sh findest du hier: /home/user/.config/openbox/autostart.sh.

Alternativ kannst du sie direkt aus dem Root-Menü öffnen: Einstellungen→Openbox→Autostart.sh bearbeiten

Grundlegende Syntax

Die Syntax der autostart.sh ist eigentlich nur eine Liste von Terminal-Programmen, die zur selben Zeit ausgeführt werden.

# Beschreibung_der_Anwendung
application_command &

Die erste Zeile macht erstmal garnichts und ist ehrlich gesagt für den Prozess an sich nutzlos. Nach einer Raute (#) wird der Rest der Zeile ignoriert, dies ist allerdings sehr nützlich um Befehle zu kommentieren, du willst ja schließlich keine Autostart Datei von der du nichtmehr weißt, was sie eigentlich tut. Die zweite Zeile ist das, was tatsächlich ausgeführt wird. In unserem Beispiel rufen wir den Befehl “application_command” ohne weitere Zusätze auf, er wird also mit Openbox gestartet. Das ”&” am Ende das Befehles gibt an, dass dieser im Hintergrund gestartet werden soll, damit Openbox mit dem nächsten Befehl weitermachen kann. Würden wir nur “application_command” schreiben, würde Openbox warten, bis dieser Befehl wieder beendet wurde.

Was wenn mein Befehl nicht ausgeführt wurde?

Dann hast du den falschen Befehl eingegeben. Gib den gleichen Befehl im Terminal (ohne das ”&” Zeichen) ein, er funktioniert im Terminal genauso wie in der autostart.sh.

Aber ich hab alles richtig gemacht!

Naja, dann wurde er ausgeführt, aber nicht richtig angezeigt. Das bedeutet, dass du den Befehl vielleicht einige Sekunden nach dem Rest des Skriptes ausführen solltest. Das führt uns zur…

Sleep Invocation

Genau wie unter Menschen, gibt es auch unter Programmen und Scripten Morgenmuffel, sie können manchmal zickig werden, wenn sie zu früh (z.B. vor einem Programm, von dem sie abhängen) “geweckt” werden. Das wird mit der “sleep invocation” erreicht. Ihr lasst das Programm also für eine festgelegte Zeit “weiterschlafen” bevor das Script es aufweckt.

Beispiel:

# Beschreibung_der_Anwendung und 3 Sekunden Verzögerung
(sleep 3s && application_command) &
  • Der gesamte Befehl muss innerhalb der Klammern stehen (abgesehen vom ”&” Zeichen).
  • “sleep 3s” verzögert den darauf folgenden Befehl um drei Sekunden
  • ”&&” lässt alles was dahintersteht warten, bis die 3 Sekunden vorbei sind
  • “application_command” s.o.
  • Das ”&” Zeichen am Ende, sorgt einerseits dafür, dass Openbox sich nicht aufhängt und stellt andererseits sicher, dass die nachfolgenden Befehle des Scripts nicht auch von der Wartezeit betroffen werden (beschleunigt den Systemstart)

Cool, also kann ich jedes Script eingeben, das ich starten möchte?

So sieht's aus. Einfach vorher nachschauen, ob es sich auch über das Terminal ausführen lässt, dann ist alles klar (ein großes Script kann jedoch den Systemstart deutlich verlangsamen).

Aha...und wo finde ich meine Programme?

Die meisten Programme findest du unter ”/usr/bin/”, wenn du mehr darüber erfahren möchtest, was es alles für Programme (und dazugehörige Optionen) gibt, gib doch einfach mal “man application_command” ins Terminal ein.

Und als finaler Test...

Neu einloggen oder den Computer neustarten und sehen ob alles funktioniert.

Links:

 
howto/programme_automatisch_mit_openbox_starten.txt · Last modified: 2012/05/24 07:38 by machinebacon
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Share Alike 3.0 Unported

Powered by DokuWiki. Hosted by Linode.
Copyright © 2010 CrunchBang Linux.
Proudly powered by Debian GNU/Linux.
Debian is a registered trademark of Software in the Public Interest, Inc.