xmodmap:ディスプレイを開けません ''


9

.bashrcに次の行があります

xmodmap -e "keycode 116 = slash"

そのマシンにSSH接続すると、

xmodmap:  unable to open display ''

そして言うまでもなく、私はそこからそれを求めています。誰かがこのエラーをきれいにする方法を教えてもらえますか?

OpenSSH_4.7p1 Debian-8ubuntu1.2、OpenSSL 0.9.8g 2007年10月19日

ご協力ありがとうございました。


1
どちらの回答でも問題を解決できますが、主な問題は、xmodmap-callが.bashrcに属していないことです。これは、シェルが開かれるたびにではなく、現在のX11セッションに一度設定する必要があるものです。したがって、ウィンドウマネージャーを呼び出す前に、xmodmap-callが.xinitrcまたは.xsessionに属しています。
アキラ

良い点、明。答えるとき、私はこれについてさえ考えませんでした。ダービン:あなたはこのようなことを試しましたか?help.ubuntu.com/community/MultimediaKeys
innaM

回答:


9

利用可能なディスプレイがある場合に.bashrcのみ実行するxmodmapように変更できます。

if [ -n "${DISPLAY+x}" ]; then
    xmodmap -e "keycode 116 = slash"
fi

xmodpmapではなくxmodmapですが、うまく機能しました。受け入れた。
ダービンサンク

私は修正された立場です。
innM 2009年

無関係ですが[ -n "${DISPLAY+x}" ]、より単純な[ "$DISPLAY" ]またはに置き換えることができます[[ $DISPLAY ]]
user1686 '05 / 10/05

不思議なことに、このifステートメントがある場合でもエラーメッセージが表示されます。
byxor 2017

1

そのエラーは、おそらくX11転送を有効にしていないためです。sshを-Xオプション(つまり、

ssh -X -l user server.tld

または、パテでSSHへのオプションをクリック-> X11-> X11転送を有効にする。

もちろん、SSHで接続する前にまずXserverを実行する必要があります。Linuxにはデフォルトでこれがあり、Windowsを実行している場合はXmingを使用できます。

SSHを実行するときにX11セッションを使用しない場合は、Manniのソリューションを使用してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.