Startabfolge von X - xinit oder xsession

Started by farinet, 2013/07/23, 13:02:16

Previous topic - Next topic

farinet

Ausgangspunkt:

Ich starte nicht in razor-qt, sondern in fluxbox (als windowmanager und als desktop). Soweit funktioniert alles prima (fluxbox muss noch "fein" konfiguriert werden . . . ;) Und ich benutze slim und nicht lightdm

Nun habe ich xscreensaver konfiguriert und in der ~/.xinitrc als zu startendes Programm definiert. Das hat aber nicht funktioniert. Nur wenn ich xscreensaver in die Datei: ~/.fluxbox/startup tue, wird es auch gestartet.

Daraufhin habe ich in die /etc/slim.conf geschaut. Der Startupaufruf dort lautet: 'login_cmd  exec /bin/bash -login /etc/X11/Xsession %session'.

Dort werden - u.a. - diese Variablen definiert:
USERXSESSION=$HOME/.xsession
USERXSESSIONRC=$HOME/.xsessionrc

Von .xinitrc keine Rede. Aber in meiner Home directory existieren weder .xsession noch .xsessionrc ?? Fluxbox wird dennoch gestartet.

Vielleicht kann mir irgendjemand mit Linuxkenntnissen bei der sauberen Organisation der Startupsequenzen helfen?

Danke im Voraus!

PS. 'startx' aus der Konsole funktioniert.

michaa7

An der fluxbox config (farben, HG) kann man verzweifeln (selbst fluxbox user).
Auf die schnelle hier dieser link (ich selbst nutze keinen screensaver, bzw ich lasse es schwarz werden):

http://debianforum.de/forum/viewtopic.php?f=2&t=8551

oder den

http://forums.debian.net/viewtopic.php?f=6&t=67170

Bitte laß uns an deinem ergebnis teilhaben, so du zu einem gelangst.
Ok, you can't code, but you still might be able to write a bug report for Debian's sake

farinet

Vielen Dank! Ich habe die Links einmal angeschaut - so ganz einfach scheint mir die Sache nicht.

1. Ich finde fluxbox alles in allem handlicher als openbox (abgesehen davon, dass es auch ein wenig mehr kann; natürlich mit solchen wunderbaren scripts wie in crunchbang wird auch openbox ein mächtiger Desktop. Aber das ist leider jenseits meiner Möglichkeiten ;) ).

1a) In der ~/.fluxbox/startup funktioniert alles bestens. Und besonders kompliziert finde ich es nicht ... (Aber wahrscheinlich übersehe ich etwas ;) )

2) Wenn Du Geduld hast - ich setze darauf - dann hier einmal meine Startsequenz (mein Problem ist, dass ich das Bindeglied zwischen 'Xsession %options' und fluxbox startup nicht begreife).

In slim.conf heisst es:
login_cmd           exec /bin/bash -login /etc/X11/Xsession %session und:
sessions            default,fluxbox,startxfce4,openbox

Woher weiss Slim, dass default *MEIN* setup ist? Ist das standardmässig so definiert, dass der einloggende user = default ist? Wenn ich z.B. fluxbox wähle (per F1 am Login), dann bekomme ich die fluxbox Standardkonfiguration (wie sie auch root hat). Bliebe allerdings noch die Frage: Woher weiss der Rechner, dass ich fluxbox möchte (und nicht startfxe z.B.)?

*MEINE* ~/.xinitrc sieht so aus:
#!/bin/sh

# /etc/X11/xinit/xinitrc
#
# global xinitrc file, used by all X sessions started by xinit (startx)

# invoke global X session script
. /etc/X11/Xsession
/usr/bin/xscreensaver -nosplash &
exec startfluxbox


Aber ich glaube, dass sie "übergangen" wird, denn andernfalls müsste xscreensaver *VOR* fluxbox gestartet sein - und nicht nachher. Vielleicht ist es aber auch ein Problem des Timings, vielleicht müsste man sleep 5 oder so zwischen den Startbefehl für xscreensaver und den für fluxbox setzen (Wie wäre die richtige "Grammatik", um das zu tun in de xinit?)?

Mein praktisches Ziel ist es, den xscreensaver so früh als möglich zu starten, denn ich glaube (hoffe) mit seiner Hilfe mein powermanagement Problem lösen zu können ;) Also wäre ich auch interessiert, ob es möglich ist, ihn schon in slim auslösen zu können.

PS. In der slim.conf habe ich einen alternativen Befehl (für freebsd allerdings) gefunden: 'login_cmd           exec /bin/sh - ~/.xinitrc %session'

farinet

Kleiner Nachtrag. Ich zitiere aus deinem zweiten Link

Quote/etc/X11/Xsession only mentions .Xsession .xsession and .xsessionrc, and not .xinitrc. So it appears that .xinitrc is a non-debian thing. Strictly speaking .xsession/.Xsession should be used to start your window manager. .xsessionrc looks like stuff to do before the window manager.

Genau so dachte ich eigentlich auch. Aber die Lösung:

Quote$ ln -s .xinitrc .xsessionrc

funktioniert überhaupt nicht. Resultat bei mir: ein "toter" Bildschirm.

Schlussfolgerung, meinerseits: .xinitrc wird effektiv *NICHT* gelesen. .xsessionrc würde gelesen werden. Aber der Inhalt *Meiner* - symbolisch verlinkten - .xinitrc wäre absolut nicht korrekt. Nun bin ich ratlos . . . :D