xmodmap: không thể mở hiển thị ''


9

Tôi có dòng sau trong .bashrc của tôi

xmodmap -e "keycode 116 = slash"

Khi tôi SSH vào máy đó, tôi nhận được

xmodmap:  unable to open display ''

và không cần phải nói, tôi muốn nó ra khỏi đó. Bất cứ ai có thể cho tôi biết làm thế nào để làm sạch lỗi này?

OpenSSH_4.7p1 Debian-8ubfox1.2, OpenSSL 0.9.8g ngày 19 tháng 10 năm 2007

Cảm ơn sự giúp đỡ của bạn.


1
với cả hai câu trả lời bạn có thể chữa được triệu chứng, nhưng vấn đề chính là, cuộc gọi xmodmap không thuộc về .bashrc. đó là thứ nên được đặt một lần cho phiên X11 hiện tại .. và không phải mỗi lần mở vỏ. vì vậy imho cuộc gọi xmodmap thuộc về .xinitrc hoặc .xsession, trước khi bạn gọi windowmanager.
akira

Điểm tốt, akira. Tôi thậm chí không nghĩ về điều này khi trả lời. Dervin: Bạn đã thử một cái gì đó như thế này? help.ubfox.com/community/MultidiaKeys
innaM

Câu trả lời:


9

Bạn có thể thay đổi .bashrcthành chỉ chạy xmodmapnếu có sẵn màn hình:

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

xmodmap, không phải xmodpmap, nhưng nó hoạt động tuyệt vời. Đã được chấp nhận.
Dervin Thunk

Tôi đứng sửa.
innaM

Không liên quan, nhưng [ -n "${DISPLAY+x}" ]có thể được thay thế bằng một đơn giản hơn [ "$DISPLAY" ]hoặc [[ $DISPLAY ]].
dùng1686

Thật kỳ lạ, tôi vẫn nhận được thông báo lỗi khi tôi có câu lệnh if này.
byxor

1

Lỗi đó có lẽ là do bạn không kích hoạt chuyển tiếp X11. Chỉ cần chạy ssh với tùy chọn -X (nghĩa là

ssh -X -l user server.tld

hoặc trong putty, nhấp vào tùy chọn goto SSH -> X11 -> Kích hoạt chuyển tiếp X11.

Tất nhiên trước tiên bạn cần chạy Xserver trước khi bạn SSH, Linux có cái này theo mặc định, nếu bạn đang chạy Windows, bạn có thể sử dụng Xming.

Nếu bạn không sử dụng phiên X11 bất cứ khi nào bạn SSH, thì hãy sử dụng giải pháp của Manni.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.