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会话设置一次,而不是每次打开Shell时都应设置。因此,在调用windowmanager之前,恕我直言xmodmap调用属于.xinitrc或.xsession。
akira

好点,akira。回答时,我什至都没有想到。Dervin:您尝试过这种方法吗?help.ubuntu.com/community/MultimediaKeys
innaM

Answers:


9

您可以将其更改.bashrc为仅xmodmap在有显示可用时才运行:

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

xmodmap,而不是xmodpmap,但是效果很好。公认。
Dervin Thunk

我站得住了。
innaM

无关,但[ -n "${DISPLAY+x}" ]可以用[ "$DISPLAY" ]或替换[[ $DISPLAY ]]
2011年

奇怪的是,当我拥有这个if语句时,仍然收到错误消息。
byxor

1

该错误可能是因为您没有启用X11转发。只需使用-X选项运行ssh(即

ssh -X -l user server.tld

或在腻子中,单击选项转到SSH-> X11->启用X11转发。

当然,在使用SSH之前,您需要首先运行Xserver,Linux默认情况下具有此功能,如果您正在运行Windows,则可以使用Xming。

如果您每次使用SSH都不使用X11会话,则只需使用Manni的解决方案。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.