xmodmap: impossible d'ouvrir l'affichage ''

9

J'ai la ligne suivante dans mon .bashrc

xmodmap -e "keycode 116 = slash"

quand je SSH sur cette machine, je reçois

xmodmap:  unable to open display ''

et il va sans dire que je veux que ça sorte de là. Quelqu'un peut-il me faire savoir comment nettoyer cette erreur?

OpenSSH_4.7p1 Debian-8ubuntu1.2, OpenSSL 0.9.8g 19 octobre 2007

Merci de votre aide.

Dervin Thunk
la source
1
avec les deux réponses données, vous pouvez remédier au problème, mais à mon humble avis le problème principal est que l'appel xmodmap n'appartient pas à .bashrc. c'est quelque chose qui devrait être défini une fois pour la session X11 en cours .. et non chaque fois qu'un shell est ouvert. donc à mon humble avis xmodmap-call appartient à .xinitrc ou .xsession, avant d'appeler votre gestionnaire de fenêtres.
akira
Bon point, Akira. Je n'y ai même pas pensé en répondant. Dervin: Avez-vous essayé quelque chose comme ça? help.ubuntu.com/community/MultimediaKeys
innaM

Réponses:

9

Vous pouvez modifier votre .bashrcpour exécuter uniquement xmodmapsi un écran est disponible:

if [ -n "${DISPLAY+x}" ]; then
    xmodmap -e "keycode 116 = slash"
fi
innaM
la source
xmodmap, pas xmodpmap, mais cela a fonctionné à merveille. accepté.
Dervin Thunk
Je me suis trompé.
innaM
Sans rapport, mais [ -n "${DISPLAY+x}" ]peut être remplacé par un simple [ "$DISPLAY" ]ou [[ $DISPLAY ]].
user1686
Curieusement, je reçois toujours le message d'erreur lorsque j'ai cette instruction if.
byxor le
1

Cette erreur est probablement due au fait que vous n'avez pas activé le transfert X11. Exécutez simplement ssh avec l'option -X (c.-à-d.

ssh -X -l user server.tld

ou dans le mastic, cliquez sur l'option goto SSH -> X11 -> Enable X11 forwarding.

Bien sûr, vous devez d'abord exécuter un Xserver avant de vous connecter à SSH, Linux a cela par défaut, où si vous utilisez Windows, vous pouvez utiliser Xming.

Si vous n'utilisez pas de session X11 chaque fois que vous vous connectez, utilisez simplement la solution de Manni.

Natalie Adams
la source