[Résolu] script Bash au démarrage de la session X

Cet espace permet de solliciter aide et conseils concernant l'installation, la personnalisation et l'utilisation de Xubuntu.
Bienvenue à tous !
pcardona34
Messages : 3
Enregistré le : 29 mars 2013, 15:13
Contact :

[Résolu] script Bash au démarrage de la session X

Message par pcardona34 »

Bonjour,

J'ai créé un script : clavierMacAlu.sh qui corrige l'inversion des touches <>@# de mon clavier Mac et qui verrouille le pavé numérique grâce à numlockx.

Ce script, lancé manuellement dans un terminal fonctionne correctement:

Code : Tout sélectionner

#!/bin/bash

# Verrouillage pavé numérique
/usr/bin/numlockx

# Correction des touches sur le clavier Mac Alu
/usr/bin/xmodmap ~/bin/Xmodmap
Le Xmodmap :

Code : Tout sélectionner

keycode 49 = less greater less greater VoidSymbol VoidSymbol
keycode 94 = at numbersign at numbersign periodcentered Ydiaeresis
Voici le contenu du répertoire ~/bin :

Code : Tout sélectionner

patrick@patrick-Macmini:~/bin$ ls -al
total 20
drwxrwxr-x  2 patrick patrick 4096 mars  25 23:57 .
drwxr-xr-x 44 patrick patrick 4096 mars  28 18:26 ..
-rwxrwxr-x  1 patrick patrick  144 mars  26 18:13 clavierMacAlu.sh
-rwxrwxr-x  1 patrick patrick  119 mars  24 18:45 mailto.sh
-rw-rw-r--  1 patrick patrick  128 mars  26 00:05 Xmodmap
J'ai enfin ajouté la commande /home/patrick/bin/clavierMacAlu.sh dans Session et démarrage / démarrage automatique.
Mais rien ne se produit alors après l'ouverture de session : le script semble avoir été ignoré et je dois le relancer manuellement à chaque fois. Je n'arrive pas à comprendre ce que j'ai mal fait. Pouvez-vous m'éclairer ?
Modifié en dernier par pcardona34 le 30 mars 2013, 21:08, modifié 1 fois.
Environnement :
  • Ubuntu 12.04.2 LTS
  • XFCE 4.8

Matériel :
  • Apple Mac mini Intel Core 2 Duo 1,83 GHz/1 Go SDRAM DDR2 (MB138xx/A)
  • Clavier Apple Alu ultra-plat USB avec pavé numérique
pingux
Messages : 2509
Enregistré le : 28 déc. 2011, 17:19
Localisation : Belgique
Contact :

Re: script Bash au démarrage de la session X

Message par pingux »

Hello pcardona34, une piste ICI.
Dura Lex sed Lex
pcardona34
Messages : 3
Enregistré le : 29 mars 2013, 15:13
Contact :

Re: script Bash au démarrage de la session X

Message par pcardona34 »

pingux a écrit :Hello pcardona34, une piste ICI.
Merci Pingux. Je suis allé voir dans :

Code : Tout sélectionner

 ./config/autostart
et ayant constaté que le nom du .desktop comportait des espaces :

Code : Tout sélectionner

clavier Mac Alu.desktop
j'ai recommencé avec un nom sans espace : j'ai maintenant un

Code : Tout sélectionner

clavier-Mac-Alu.desktop
dans

Code : Tout sélectionner

[code]./config/autostart
[/code] qui pointe vers mon script Bash.
J'ai constaté alors que numlockx était pris en compte une fois la session ouverte (pas dans lightdm, ce qui semble conforme à l'ordre de chargement) mais la ligne avec xmodmap n'est pas prise en compte, même après avoir ajouté le chemin complet, au cas où :

Code : Tout sélectionner

/usr/bin/xmodmap /home/patrick/bin/Xmodmap
J'ai aussi essayé en ajoutant & après numlockx ou en commentant avec # pour que seule la commande xmodmap soit exécutée : rien n'y fait !
Environnement :
  • Ubuntu 12.04.2 LTS
  • XFCE 4.8

Matériel :
  • Apple Mac mini Intel Core 2 Duo 1,83 GHz/1 Go SDRAM DDR2 (MB138xx/A)
  • Clavier Apple Alu ultra-plat USB avec pavé numérique
pcardona34
Messages : 3
Enregistré le : 29 mars 2013, 15:13
Contact :

Re: script Bash au démarrage de la session X

Message par pcardona34 »

Je me réponds ;) Cela pourra en aider d'autres…

J'ai placé des redirections d'erreur pour vérifier l'exécution et en fin de compte, le script s'exécutait correctement. Mais, manifestement, pas au bon moment. Sans doute trop tôt par la méthode décrite, et mes modifications de clavier devaient être écrasées ensuite par un script système qui charge xmodmap avec la map par défaut du clavier.

J'ai donc cherché une alternative.
En consultant diverses docs sur Xmodmap, j'ai fini par trouver qu'il suffisait dans la plupart des distributions de placer les corrections du clavier dans :

Code : Tout sélectionner

$HOME/.Xmodmap

J'ai donc supprimé mon script et créé ce fichier de configuration du clavier en remplacement de mon $HOME/bin/Xmodmap.
Après redémarrage, ce fichier de configuration est pris en compte par le serveur X lors de l'ouverture de ma session graphique.
Cerise sur le gâteau, le simple fin d'avoir installé numlockx suffit aussi à rendre actif mon pavé numérique. Bref, tout est réglé, sans avoir besoin de scripts personnalisés au démarrage.
Environnement :
  • Ubuntu 12.04.2 LTS
  • XFCE 4.8

Matériel :
  • Apple Mac mini Intel Core 2 Duo 1,83 GHz/1 Go SDRAM DDR2 (MB138xx/A)
  • Clavier Apple Alu ultra-plat USB avec pavé numérique
pingux
Messages : 2509
Enregistré le : 28 déc. 2011, 17:19
Localisation : Belgique
Contact :

Re: [Résolu] script Bash au démarrage de la session X

Message par pingux »

Ok, pcardona34 content que cela marche pour toi et merci pour ce retour d'expérience. ;)
Dura Lex sed Lex
JC.Raoult
Messages : 94
Enregistré le : 15 juil. 2012, 13:21
Localisation : Région SUD
Contact :

Re: [Résolu] script Bash au démarrage de la session X

Message par JC.Raoult »

Bonjour tous,

Possesseur d'un iMac doté d'un clavier alu, j'ai boutiqué comme pcardona avec xmodmap ; par exemple pour permuter @# et <>. Cela marche comme pour lui, c'est-à-dire pas quand on met la commande xmodmap $HOME/.xmodmap dans les programmes à exécuter à l'ouverture de la session, mais quand on l'exécute dans un terminal (et encore, je n'ai pu obtenir lessthanequal et greaterthanequal avec ALT-< et ALT >).
Ceci dit, il existe dans /usr/share/X11/xkb/symbols/macintosh_vndr/ un fichier «fr» qui donne pile poil toutes les touches du clavier mac alu. Comment le faire prendre en compte ?
pingux
Messages : 2509
Enregistré le : 28 déc. 2011, 17:19
Localisation : Belgique
Contact :

Re: [Résolu] script Bash au démarrage de la session X

Message par pingux »

Merci de ne pas remonter les sujets marqués [Résolu], mieux vaut créer un nouveau sujet, pour plus de clarté.
Dura Lex sed Lex
Répondre