Prozesse (conky) nach dem boot aufrufen

overflow

OpenBSD Enthusiast
Hallo Community,

ich versuche vergeblich conky nach dem einloggen ins System aufzurufen.

z.Z. befindet sich der Aufruf "conky &" in der Datei ~/.profile.
So wird conky jedesmal, wenn ich mein Terminal öffne, gestartet.
Keine wirklich schöne Lösung.

Jetzt würde ich gerne conky über rc Startskripte aufrufen.
In meiner rc.local.conf befindet sich bis dato drei Einträge:

Code:
sshd_flags=NO           # disabled during install
ntpd_flags=             # enabled during install
xdm_flags=

- Kann man mit "conky_flags=" das starten von conky erzwingen ?
- Könnte jemand evt. kurz den Aufbau von rc erklären ? (Die Erklärung in meinem schlauen Buch habe ich leider nicht verstanden!)

Vermute auch dass dies keine gute Lösung wäre, da conky erst nach einem erfolgreichen login gestartet werden müsste.

Eine andere Alternative wäre unter fluxbox die startup Datei.
Die ist leider nicht mehr vorhanden und ein Anlegen bringt nicht den gewünschten Effekt.


Bedanke mich im voraus für die Antworten
 
Wenn du Programme beim Systemstart starten willst, dann trägst du sie in die rc.local ein. Alternativ bieten viele Ports mittlerweile ein rc-Startscript an. Das wird dann über rc.conf.local gestartet. Weiter Infos findest du in den man-pages zu rc.local und rc.conf.

Eine der Besten Eigenschaften an OpenBSD ist die Dokumentation. In den Man-Pages und der FAQ findet man (fast) alles. ;)
 
ich würde erst mal wissen wollen, was conky ist und machen soll.
Dann erst kann man entscheiden, wo das am Besten gestertet werden kann.

Du schreibst es ja schon, dass du grundsätzlich eine Methode gefunden hast und über die .profile den Start beim Öffnen einer shell erreichst, dass dies aber nicht das ist, was du dir vorstellst.

Du kannst Programme beim Systemstart aufrufen und wenn du etwa ein Programm hast, das eine grafische Ausgabe bewirken soll, dann wird das in den allermeisten Fällen scheitern oder nur schwer zu realisieren sein, weil du dann den ort der Ausgabe genaustens festlegen musst und das kann zum Beispiel nur auf einem bereits laufenden und erreichbaren X sein. Meist hat man auf einem PC lokal einen X-Server laufen und dann ist es viel einfacher, erst diesen zu starten und danach, praktisch innen drin, seine Anwendung zu laden.
Benutzt du einen Fenstermanager, eine Arbeitsflächenumbebung, dann kann es viel einfacher sein, die Anwendung hier zu starten und wenn du mehrere USER mit unterschiedlichen Settings hast, kann es wieder andere Möglichkeiten und Wünsche geben.
Schließlich kann auch wichtig sein, ob du einen Login-Manager einsetzt, etwa xdm oder gdm oder so etwas.

hat das conky mit KDE zu tun? Ich glaube, der Name kommt mich bekannt vor.
 
Eine andere Alternative wäre unter fluxbox die startup Datei.
Die ist leider nicht mehr vorhanden und ein Anlegen bringt nicht den gewünschten Effekt.

Damit solltest Du conky auch starten. Wie startest Du fluxbox denn?
Code:
[andreash@kronos: /home/andreash]>startfluxbox -h
Usage: startfluxbox [-h] [-c startupfile]



ich würde erst mal wissen wollen, was conky ist und machen soll.
Dann erst kann man entscheiden, wo das am Besten gestertet werden kann.

hat das conky mit KDE zu tun? Ich glaube, der Name kommt mich bekannt vor.

Dir kann geholfen werden: conky
bzw.
Code:
[andreash@kronos: /home/andreash]>pkg_info conky
Information for inst:conky-1.7.2p0

Comment:
light-weight system monitor

Description:
Conky is a system monitor for X originally based on the torsmo code.
Since it's original conception, Conky has changed a fair bit from it's
predecessor. Conky can display just about anything, either on your root
desktop or in it's own window. Conky has many built-in objects, as well
as the ability to execute programs and scripts, then display the output
from stdout.

Maintainer: Benoit Lecocq <benoit@openbsd.org>

WWW: http://conky.sourceforge.net/
 
Conky hat in der rc nichts zu suchen, es läuft als benutzerspezifischer X Prozess. Solche Dinge gehören in die ~/.xsession oder ~/.xinitrc, je nach dem ob man einen Login Manager verwendet oder nicht. Bei mir ist es eine Datei (Hardlink).

Bei mir sieht die ~/.xsession so aus:
Code:
#!/bin/sh

(
	xmodmap ~/.xmodmap
	urxvtd -o -f
	xrandr --output LVDS --set PANEL_FITTING full_aspect
	xrandr --dpi 120
) &

exec /usr/local/bin/gpg-agent --daemon /usr/local/bin/enlightenment_start
 
Solche Dinge gehören in die ~/.xsession oder ~/.xinitrc, je nach dem ob man einen Login Manager verwendet oder nicht.

Der dritte (und hier zutreffende) Fall wäre dieser, dass der Fenstermanager eine Startdatei anbietet, in die dann derartige Befehle gehören.

Fluxbox bietet hier eben die Datei 'startup', die beim Starten von Fluxbox mit dem Befehl 'startfluxbox' ausgewertet wird.
 
Das ist halt eine Lösung, die bei jedem WM anders wäre.

Ich bevorzuge in der Regel Lösungen, die immer funktionieren.
 
Das ist halt eine Lösung, die bei jedem WM anders wäre.

Ich bevorzuge in der Regel Lösungen, die immer funktionieren.

die bedingungslos funktionieren?
Es wird wohl auch aus der Start-Datei immer funktionieren...

Weil ich damit auch gerade herumspiele, aber nicht mit flux- sondern openbox, was aber ähnlich sein dürfte. Ich erzähle mal für openbox, was ich gelernt habe.

es gibt
/usr/local/bin/openbox
/usr/local/bin/openbox-session

der zweite Aufruf nimmt sich einer Datei
.config/openbox/autostart.sh
an und führt die als script aus, (vermutlich nur, wenn sie ausführbar ist).

Also, abhängig davon, wenn meine openbox-session ausgeführt wird, kann ich hier den Hintergrund setzen, mein panel laden und vielleicht einen startsound absetzen. Ich kann auch eine Anwendung aufrufen, vielleicht ein Terminal. Ich finde, dass dies der passende Platz für so etwas ist.

Aber, wie starte ich denn openbox-session?
Das kann ein loginmanager erledigen, wie xdm. Dazu kannst du einfach die letzten Zeilen ein wenig ändern (weil der bei OpenBSD per Default ein x-term startet, wirst das womöglich eh ändern wollen).
Der Schluss von /etc/X11/xdm/Xsession sieht etwa so aus:
Code:
#  The startup script is not intended to have arguments.

startup=$HOME/.xsession
resources=$HOME/.Xresources

if [ -s "$startup" ]; then
        if [ -x "$startup" ]; then
                "$startup"
        else
                /bin/sh "$startup"
        fi
else
        if [ -f "$resources" ]; then
                /usr/X11R6/bin/xrdb -load "$resources"
        fi
#       /usr/local/bin/openbox-session
fi
do_exit
ohne die # würde so bei jedem login eines users die openbox-session gestartet werden und die dann immer die autostart des jeweiligen Users abarbeiten. Das ist vielleicht gut so, aber manchmal möchte ein User lieber openbox und ein anderer lieber fluxbox. Und es ist deutlich:
startup=$HOME/.xsession
sorgt dafür, dass es auch einfach machbar ist.
Deshalb ist der gute und sinnvolle Weg, die openbox-session (oder fluxbox) hier, also in der ~/.xsession aufzurufen.
Da kannst du auch den conky starten lassen (nettes Teil).

Oder du kannst nur den fluxbox so aufrufen, dass er die startup-datei ausführt, die du benennen, anlegen, füllen und vermutlich ausführbar machen müsstest.
Oder du kannst in der /etc/X11/xdm/Xsession den conky direkt aufrufen und so unabhängig von User und Desktop (fluxbox oder openbox) immer einen starten.

Es ist kein Weg vorgeschrieben und ich sehe lediglich unter bestimmten Umständen eines besser an, als das Andere. Du kannst da auch Kombinationen ausprobieren, mal was hier und das nächste dort starten und so fort. Bedenke aber, dass es schnell unübersichtlich werden kann.

Wenn du gar keinen login-manager benutzt, gilt das dazu Gesagte auch nicht.
Dann gilt die xinitrc (~/.xinitrc) um die openbox-session zu starten, evtl auch den conky, oder genau wie eben auch, den conky dann aus der startup-Datei.

Jedenfalls ist das Wichtige, dass der conky ein Anwendung ist, die erst den X braucht und deshalb definitiv nichts in den Systemstart-scripts zu suchen hat. Fang erst an nach Automatisierungen zu suchen, die mit oder nach X gelten. Wie eben beschrieben. Die Sache mit der startup-Datei ist, unterschiedlich je nach Fenstermanager oder Desktop-Umgebung. Gibt es sie aber und wird sie richtig bedient, geht sie auch und ist legitim.
 
Die Lösung für mein Problem sowie dem anderen mit deutscher Lokalisierung habe ich lösen können.

Hades hatte recht gehabt.
Man muss Fluxbox per "startfluxbox" starten und nicht per "fluxbox".

Anscheinend zieht er sich nur so die benötigten Daten aus dem startup


@pit234a: Danke für die ausführliche Erklärung.
Werde ein wenig rumexperimentieren...
 
Zurück
Oben