Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 06/06/2008, à 00: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 06/06/2008, à 00: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.

Hors ligne

#3 Le 06/06/2008, à 00:45

Che

Re : Debian Lenny + Xmonad: comment prendre en compte le fichier ~.xsession

Ok, pigé ! Merci. smile

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, à 02: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.

Hors ligne

#5 Le 06/06/2008, à 03: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, à 07: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...

Hors ligne

#7 Le 06/06/2008, à 19: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, à 19:47

Elzen

Re : Debian Lenny + Xmonad: comment prendre en compte le fichier ~.xsession

Ça a l'air d'être la même chose, donc.

Hors ligne

#9 Le 06/06/2008, à 19: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 smile (sauf qu'avoir xmonad et alourdir le tout avec un gdm en démon, c'est dommage big_smile )


Ratpoison

Hors ligne

#10 Le 06/06/2008, à 20: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 sad

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, à 17: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, à 12: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, à 14: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