Fichier pour lancer une commande

Bonjour,
je voudrais lancer une commande au démarrage de un ordinateur et vu la pluralité des fichiers qui peuvent servir à cela, je vous demande lequel préférer.

Cet ordinateur utilise gdm.

Utilise /etc/rc.local pour ça…

merci.

Est-il nécessaire d’ajouter un & à la fin de la commande pour libérer la console ?

Si ta commande ne rend pas la main, oui…

ma commande est un appel pour une configuration du clavier avec xmodmap chemin

Donc pas besoin de & si je ne m’abuse ?

Non, pas besoin.

J’ai modifié le fichier rc.local :

[code]#!/bin/sh -e

rc.local

This script is executed at the end of each multiuser runlevel.

Make sure that the script will “exit 0” on success or any other

value on error.

In order to enable or disable this script just change the execution

bits.

By default this script does nothing.

xmodpad /usr/share/xmodpad/xmodpad.mb.fr

exit 0
[/code]Cependant, au redémarrage, pas de reconnaissance des accents alors que si je lance la même commande en root dans un terminal, le clavier est bien reconnu.

Une idée ?

Slt,

2 questions toutes bêtes :
1- Tu as changé les droits du fichier comme indiqué ?
2- Si tu modifie ta commance et tu mets un echo "Un text" > /tmp/log est-ce que tu as bien le fichier en question ?

Cdt

Merci de ta réponse.
[ul][li]
Pour les droits non, je n’ai rien fait. Je ne sais pas comment changer “the execution bits.”[/li][li]Pour la commande, oui ça marche. si je la lance après avoir lancé # xmodpad /usr/share/xmodpad/xmodpad.mb.fr et que je met des lettres accentuées entre " " je les ais bien si je fait un cat /tmp/log[/li][/ul]

C’est xmodpad ou xmodmap ?

Il faut peut-être que X soit lancé. Regardes ce que ça donne si tu lances la commande dans un tty pour savoir.
Si c’est le cas, tu peux utiliser ton .xinitrc ou ton wmiirc (avant la ligne « # Stop any running instances of wmiirc »).

xmodmap nécessite que le serveur X soit lancé, donc si tu le lance d’un script, il faut préciser le display (rajoute -display :0)

[quote=“kna”]C’est xmodpad ou xmodmap ?

Il faut peut-être que X soit lancé. Regardes ce que ça donne si tu lances la commande dans un tty pour savoir.
Si c’est le cas, tu peux utiliser ton .xinitrc ou ton wmiirc (avant la ligne « # Stop any running instances of wmiirc »).[/quote]
C’est xmodmap, j’ai fait une erreur en recopiant car ce n’est pas sur mon ordi que ça se passe mais sur un autre avec xfce où il n’y a pas de fichier .xinitrc.[quote=“fran.b”]xmodmap nécessite que le serveur X soit lancé, donc si tu le lance d’un script, il faut préciser le display (rajoute -display :0)[/quote]ok, j’ai essayé xmodmap -display :0 /usr/share/xmodmap/xmodmap.mb.frça ne marche pas (même en changeant le 0 par 1, en encadrant l’adresse par des ").

Re,

[quote=“sidell”]Merci de ta réponse.
[ul][li]
Pour les droits non, je n’ai rien fait. Je ne sais pas comment changer “the execution bits.”[/li][/ul][/quote]

essaye : chmod +x /etc/rc.local

[quote=“sidell”]
[ul][li]Pour la commande, oui ça marche. si je la lance après avoir lancé # xmodpad /usr/share/xmodpad/xmodpad.mb.fr et que je met des lettres accentuées entre " " je les ais bien si je fait un cat /tmp/log[/li][/ul][/quote]
Ce que je voulais dire c’est que pour vérifier que fichier /etc/rc.local s’execute bien, tu ajoute le “echo …” dans ce fichier à la suite de ta commande xmodmap

Alors j’ai rajouter les droits d’exécutions, sans changement. Mais j’ai vu que le fichier /etc/rc.local appartient au root, peut-être que je devrais changer cela ??

Sinon j’ai rajouter un “&& echo"test” > /tmp/log" à la fin de ma commande avec xmodmap. Ce qui donne xmodmap -display :0 /usr/share/xmodmap/xmodmap.mb.fr && echo"test" > /tmp/log et au reboot, je n’ai pas de fichier log dans /tmp ce qui voudrait dire que ma commande n’est pas prise en compte.

ok, essaye ceci :

[code]
xmodmap -display :0 /usr/share/xmodmap/xmodmap.mb.fr
echo"test" > /tmp/log

[code]
et reboot pour voir si le fichier est créé

[quote=“sidell”]C’est xmodmap, j’ai fait une erreur en recopiant car ce n’est pas sur mon ordi que ça se passe mais sur un autre avec xfce où il n’y a pas de fichier .xinitrc.
[/quote]
Il doit bien y avoir un script que xfce lance au démarrage. Ou bien comme gnome, un menu clickodrome ou tu indiques les commandes à lancer (personnellement, dans ce cas là, j’indique juste le chemin vers un script perso, puis je ne touche plus au clickodrome).

[quote=“sidell”]Mais j’ai vu que le fichier /etc/rc.local appartient au root, peut-être que je devrais changer cela ??
[/quote]
Ben, les services aux démarrage sont lancés par root. Même si tu changes le proprio de rc.local, ça sera toujours root qui l’éxécutera. Mais tu peux lancer la commande en user en faisant :

Mais je ne pense pas ce soit ça qui pose problème, qui peut le plus peut le moins. M’enfin, je peux me tromper…

/tmp est vidé au démarrage. Je ne sais pas par contre si c’est avant ou après l’éxécution de rc.local par contre. Donc essayes peut-être en utilisant un autre chemin (dans lequel tu as les droits, si tu le lances en user)
De plus « && » lance la seconde commande uniquement si la première se termine avec succès. Donc si xmodmap renvoie une erreur, echo ne sera pas éxécuté.
Tant qu’à faire, tu peux vérifier que la commande s’est bien exécutée et récupérer son retour eventuel.

touch /home/user/log # au cas où xmodmap ne renvoie rien xmodmap -display :0 /usr/share/xmodmap/xmodmap.mb.fr > /home/user/log 2>&1

Pas de fichier au reboot,

Que donnent :

cat /etc/inittab | grep '^id' for i in 2 3 4 5 ; do echo "/etc/rc$i.d :" ; ls /etc/rc$i.d | grep local ; done
/etc/rc.local et /etc/init.d/rc.local ont bien les droits d’éxécution ?

Bon j’ai régler le problème par une voie détournée.
J’ai copier le fichier xmodmap.mb.fr dans le home et j’ai configurer xfce via le menu “applications lancés automatiquement” pour qu’il lance une commande avec ce fichier au démarrage.
ça marche…

EDIT: désolé kna mais maintenant que ça marche, plus envie de tester quoi que ce soit…

Merci à tous pour votre aide.