web-dev-qa-db-fra.com

Comment exécuter la commande au démarrage?

La touche Retour de mon clavier est cassée. J'ai donc choisi de faire en sorte que ma touche PgDn se comporte comme la touche Retour. Maintenant, j'ai appris comment faire cela en utilisant 'xmodmap'. La commande que je dois exécuter est la suivante:

xmodmap -e 'keycode 117 = Return'

Mais je dois exécuter cette commande chaque fois que je redémarre. J'ai cherché sur Google et j'ai trouvé que le fait de placer cette commande dans le fichier /etc/rc.local devrait l'exécuter automatiquement au démarrage. Cependant, ça ne marche pas.

Quelqu'un peut-il me dire comment puis-je exécuter cette commande lorsque je démarre? J'utilise Ubuntu 14.04.

1
johngreen

Bien que vous ayez demandé une solution au démarrage, cela pourrait également faire ce que vous voulez: exécuter une commande sur la connexion, au niveau utilisateur, voici une solution simple:

Par exemple, pour définir le PageDown clé comme Return touche de connexion:

Créez un fichier .desktop comme ci-dessous, enregistrez-le dans ~/.config/autostart

[Desktop Entry]
Name=Set Keyboard
Exec=xmodmap -e 'keycode 117 = Return'
Terminal=false
Type=Application

Copiez le texte ci-dessus, collez-le dans un fichier texte vide (gedit), enregistrez-le sous le nom set_keyboard.desktop (ou any_else.desktop) dans ~/.config/autostart.

5
Jacob Vlijm

Le moyen le plus simple d’exécuter des commandes lors de la connexion de l’utilisateur (ce qui est le meilleur moyen de réaliser ce que vous voulez) consiste à ajouter la commande au fichier .profile (situé dans /home/[user]/). Vous voulez ajouter la commande à la fin du fichier. Par exemple:

[user@Host ~]# nano .profile
# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.

# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022

# if running bash
if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
        . "$HOME/.bashrc"
    fi
fi

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

# Remap Return key to Page Down on login
xmodmap -e 'keycode 117 = Return'

Vous devriez pouvoir vous déconnecter et vous reconnecter pour que cette modification prenne effet. Cependant, il peut être préférable de simplement redémarrer (pour le tester complètement).

2
ChrisR.