#1 Le 05/06/2008, à 23:07
- Che
Debian Lenny + Xmonad: comment prendre en compte le fichier ~.xsession
Bonsoir,
Je suis sous Debian Lenny avec GDM et Xmonad.
J'aimerais lancer dzheader (un script affichant l'heure dans la barre d'état de Xmonad).
Pour ce faire j'ai créé un fichier ~/.xsession contenant le lancement de ce script, mais le fichier ~/.xsession n'est pas pris en compte et ne me lance rien.
J'ai donc été obligé de mettre la commande dans /etc/gdm/PreSession/Default mais ce n'est pas propre.
J'aimerais donc savoir comment indiquer à gdm de prendre le fichier ~/.xsession en compte mais je n'y arrive pas (le fichier est pourtant bien rendu exécutable)...
Un petit coup de pouce des Ubunteros serait le bienvenu !
Merci.
#2 Le 05/06/2008, à 23:27
- Elzen
Re : Debian Lenny + Xmonad: comment prendre en compte le fichier ~.xsession
Salut à toi, l'Argentin.
En fait, le fichier .xsession ne fait pas partie d'un environnement graphique particulier, et n'est donc pas prit en compte par eux. Comme son nom l'indique plus ou moins, c'est directement à X (X11, le truc qui gère l'interface graphique au plus bas niveau) qu'il s'adresse.
C'est le moyen "historique" de lancer une session graphique, celui qui était lu par la commande startx du temps où on se loguait en tty. Avec les gestionnaires de connexion graphiques, comme gdm ou kdm, il n'est plus forcément utile, et donc, on ne s'en sert plus trop, c'est pour ça qu'il n'est généralement pas présent naturellement dans le home.
Il y a quand même moyen de s'en servir, en changeant son type de session sur l'écran de GDM (choisir l'option "Lancer le script XClient"). À ce moment-là, ta session sera ouverte d'après le contenu de ce fichier. Les commandes seront lancées une par une, et la session se terminera en même temps que la dernière d'entre elle.
C'est comme ça qu'on procède, donc, pour lancer une session personnalisée différente de celles qui correspondent à tel ou tel environnement. On peut choisir d'y placer exactement les commandes qu'on veut, et ça permet notamment de ne lancer que le strict minimum.
Attention, comme je l'ai dit, les commandes sont lancées les unes après les autres. C'est à dire que si l'une d'entre elle est bloquante (un daemon, par exemple), il vaut mieux placer un setsid devant ou une éperluette (&) derrière, pour qu'elle soit lancée dans un processus différent et ne bloque donc pas la connexion sur rien.
Il faut par contre que la dernière commande (typiquement, le gestionnaire de fenêtres) soit bel et bien bloquante, puisque la session se termine en même temps qu'elle.
Elzen : polisson, polémiste, polymathe ! (ex-ArkSeth)
Un script pour améliorer quelques trucs du forum.
La joie de t'avoir connu surpasse la peine de t'avoir perdu…
timezone[blocklist]
Hors ligne
#3 Le 05/06/2008, à 23:45
- Che
Re : Debian Lenny + Xmonad: comment prendre en compte le fichier ~.xsession
Ok, pigé ! Merci.
Dans l'absolu, que penses-tu du lancement du script dont question à partir de /etc/gdm/PreSession/Default ?
C'est ce que j'utilise actuellement, mais n'est-ce pas trop sale ?
#4 Le 06/06/2008, à 01:07
- Elzen
Re : Debian Lenny + Xmonad: comment prendre en compte le fichier ~.xsession
Perso, j'en sais rien. Je ne connaissais pas ce moyen, donc je ne sais pas ce qu'il vaut.
Mais tu devrais te renseigner, il y a probablement un moyen de lancer quelques programmes au démarrage de ton environnement sans passer par là... Je sais à peu près le faire pour Gnome (Système => Préférences => Session, je crois bien) et pour Enlightenment (éditer le fichier ~/.e/e/applications/startup/.order en ayant prit soin de créer les .desktop adaptés... Un poil plus ch**, mais ça passe), mais ça doit être possible quel que soit l'environnement (j'ai su le faire pour KDE, à une époque, je crois, mais j'ai complêtement oublié).
Mais si tu as une session un peu particulière, le mieux à faire est peut-être effectivement de te faire un .xsession adapté et de choisir l'option idoine de GDM pour que ça t'arrive directement dessus. Quand on utilise un environnement graphique un peu personnalisé, je crois bien que c'est le moyen le plus simple. C'est comme ça que je fais moi, en tout cas.
Elzen : polisson, polémiste, polymathe ! (ex-ArkSeth)
Un script pour améliorer quelques trucs du forum.
La joie de t'avoir connu surpasse la peine de t'avoir perdu…
timezone[blocklist]
Hors ligne
#5 Le 06/06/2008, à 02:04
- Struddel
Re : Debian Lenny + Xmonad: comment prendre en compte le fichier ~.xsession
Le plus simple c'est même de passer par un .xinitrc dans ta home et de mettre un autre DM comme slim qui se base sur le .xinitrc pour ce qu'il faut lancer au démarrage.
Tu tiens vraiment à avoir gdm en particulier ?
Ratpoison
Hors ligne
#6 Le 06/06/2008, à 06:52
- Elzen
Re : Debian Lenny + Xmonad: comment prendre en compte le fichier ~.xsession
Ça ne revient pas à peu près au même que d'avoir GDM et de faire « lancer le script XClient » qui va lancer le .xsession ? 'me semblait que le .xinitrc avait à peu près le même genre de rôle...
Elzen : polisson, polémiste, polymathe ! (ex-ArkSeth)
Un script pour améliorer quelques trucs du forum.
La joie de t'avoir connu surpasse la peine de t'avoir perdu…
timezone[blocklist]
Hors ligne
#7 Le 06/06/2008, à 18:42
- Struddel
Re : Debian Lenny + Xmonad: comment prendre en compte le fichier ~.xsession
Le .xinitrc est assez autonome en fait, il peut se gérer tout seul et ne demande même pas de vrai script pour sa configuration, suffit de mettre ligne par ligne ce qu'on veut lancer avec & derrière sauf à la dernière ligne où on lance le WM.
Pour un WM autonome, c'est la solution la plus simple, pour un desktop c'est plus embêtant (parce qu'il faut lancer le desktop en premier)
Ratpoison
Hors ligne
#8 Le 06/06/2008, à 18:47
- Elzen
Re : Debian Lenny + Xmonad: comment prendre en compte le fichier ~.xsession
Ça a l'air d'être la même chose, donc.
Elzen : polisson, polémiste, polymathe ! (ex-ArkSeth)
Un script pour améliorer quelques trucs du forum.
La joie de t'avoir connu surpasse la peine de t'avoir perdu…
timezone[blocklist]
Hors ligne
#9 Le 06/06/2008, à 18:54
- Struddel
Re : Debian Lenny + Xmonad: comment prendre en compte le fichier ~.xsession
Ah ué, tu lances un script avec GDM, j'avais pas vu, ué, ça revient au même donc (sauf qu'avoir xmonad et alourdir le tout avec un gdm en démon, c'est dommage )
Ratpoison
Hors ligne
#10 Le 06/06/2008, à 19:03
- Che
Re : Debian Lenny + Xmonad: comment prendre en compte le fichier ~.xsession
Bonsoir et merci pour vos réponses.
Je viens d'essayer d'activer l'option de gdm "lancer le script xclient" et... ça ne fonctionne pas.
J'ai pourtant bien un fichier ~/.xsession exécutable que j'ai renommé ~/.xinitrc (on ne sait jamais) et là non plus, ça ne fonctionne pas
Ca m'énerve! Avant de passer à Slim, j'aimerais réussir à faire ce truc nom d'une pipe !
Maintenant, dans l'absolu, je ne suis pas pro gdm et un passage à Slim ne me dérange aucunement.
Question à Struddel: dans mon ~/.xmonad/xmonad.hs, j'ai ajouté les lignes suivantes:
-- Shutdown computer
, ((modMask .|. controlMask, xK_h), spawn "gksu halt")
-- Restart computer
, ((modMask .|. controlMask, xK_r), spawn "gksu reboot")
mais (après avoir recompilé par un ALT+Q), ça ne fonctionne pas... Aurais-tu une idée (bien entendu, gksu est bien présent sur ma machine) ?
#11 Le 07/06/2008, à 16:40
- Struddel
Re : Debian Lenny + Xmonad: comment prendre en compte le fichier ~.xsession
J'utilise ni gksu ni sudo donc je sais pas réllement comment marche cette commande, mais je suis pas persuadé que tu puisses l'utiliser avec spawn.
J'ai déjà essayé un gksu synaptic en commande d'une icône e17 sur une Ubuntu et ça fonctionnait pas non plus.
Ratpoison
Hors ligne
#12 Le 08/06/2008, à 11:58
- Che
Re : Debian Lenny + Xmonad: comment prendre en compte le fichier ~.xsession
Merci Struddel !
Petite précision: sur mon autre PC, ça fonctionne ! J'ai copié le .xmonad.hs vers le PC que j'utilise actuellement, et là, ça ne fonctionne plus. C'est pourtant la même install...
Aurais-tu une technique particulière pour éteindre le PC à partir d'un bindkey ?
#13 Le 08/06/2008, à 13:56
- Struddel
Re : Debian Lenny + Xmonad: comment prendre en compte le fichier ~.xsession
Nope, quand je ferme xmonad j'arrive en mode console (j'ai pas de gestionnaire de session) et je tape halt ou reboot, je préfère faire comme ça pour ma part.
Essaie peut-être d'utiliser xbindkeys.
Ratpoison
Hors ligne