Lancer commande démarrage session


#1

bonjour,
ayant une touche clavier C qui est HS je la permute avec la touche Dollar
J’ai créé le fichier de mappage .xmodmap-eee qui va bien
si je lance la commande xmodmap ~/.xmodmap-eee dans un terminal tout va bien
Par contre impossible de la lancer en début de session
/home/utilisateur/.config/autostart/xmodmap.desktop
avec dans xmodmap.desktop

[Desktop Entry]
Type=Application
Name=xmodmap
Comment=remplacer touche c
Exec=xmodmap ~/.xmodmap-eee

La commande ne s’execute pas.


#2

yo , je sais pas si j’ai bon , mais il me semble que la commande “Crontab” peut te servir pour le lancement de X programmes au démarrage de Debian .

Cordialement , Morphe-uSe .


#3

Bonjour,

Pas sûr d’être d’une grande aide, mais comme une idée me vient…

Exec=xmodmap ~/.xmodmap-eee

Et si tu essayes avec le chemin complet de l’exécutable? Tu peux l’obtenir comme ceci :

which xmodmap 

Sinon, avec un service systemd.

Les tâches planifiées (cron) ne sont pas faites pour ça, toutefois on peut utiliser la planification @reboot pour lancer quelque chose au redémarrage. Par contre, aucune idée de si ça se lance à un simple démarrage.


#4

Un exemple à compléter avec ce que vous voulez :wink:

[Unit]
Description=Xmonad window manager

[Service]
ExecStart=/usr/bin/xmonad
 
[Install]
Alias=wm.service

#5

merci de vos réponses
ce n’est pas une histoire de chemin complet de la commande xmodmap
j’ai essayé avec systemd mais pas plus de succès …


#6

Yo , ok je pensais que cron s’utiliser avec pas mal de cmd , (en plus des cmd bash basique ) merci Sk4 :slight_smile:


#7

La solution de @Clochette est bien ce qu’il y a de plus propre, à mon avis, par contre avec un squelette comme ça :

[Unit]
Description=Xmonad window manager for %I
ConditionFileIsExecutable=/usr/bin/xmonad
ConditionFileNotEmpty=/home/%I/.xmodmap-eee

[Service]
User=%I
ExecStart=/usr/bin/xmonad /home/%I/.xmodmap-eee

[Install]
WantedBy=multi-user.target
  • Ecrire le squelette: nano /etc/systemd/system/xmodmap@tonUser.service (modifier tonUserpar ton nom d’utilisateur)
  • Activer le service: systemctl enable xmodmap@tonUser.service
  • Démarrer le service: systemctl start xmodmap@tonUser.service
  • Vérifier que ça s’est bien passé: systemctl status xmodmap@tonUser.service

Beaucoup critique systemd, mais personnellement, je le trouve nettement plus simple pour la création de service.


#8

Bonjour

On peut utiliser un fichier de type .desktop
qui aura été créé dans le répertoire ~/.config/autostart/

mais pour que la commande xmodmap puisse reconfigurer le clavier,
j’ai fait lancer cette commande par un shell
en la faisant précéder d’une petite temporisation (sleep 3).

=======
Ci-dessous, le contenu du fichier
~/.config/autostart/xmodmap-touche-c.desktop
que je viens de tester avec succès
sur un système debian avec un Environnement de Bureau XFCE :

[Desktop Entry]
Type=Application
Name=xmodmap-touche-c
Comment=remplacer touche c
Exec=sh -c "sleep 3 && xmodmap ~/.xmodmap-eee"