Tôi đã tự thiết kế bố trí bàn phím, sau khi tôi chạy, xmodmap
nó hoạt động tốt, nhưng sau khi chờ hoặc khởi động lại, bố cục sẽ quay trở lại qwerty.
Làm thế nào tôi có thể đặt nó làm mặc định? Hệ điều hành của tôi là Debian Wheezy với XFCE4.
Tôi đã tự thiết kế bố trí bàn phím, sau khi tôi chạy, xmodmap
nó hoạt động tốt, nhưng sau khi chờ hoặc khởi động lại, bố cục sẽ quay trở lại qwerty.
Làm thế nào tôi có thể đặt nó làm mặc định? Hệ điều hành của tôi là Debian Wheezy với XFCE4.
Câu trả lời:
Kiểm tra chủ đề diễn đàn archlinux Xmodmap Reset này sau khi tạm dừng RAM . Có một số ví dụ trong luồng sẽ giúp bạn bắt đầu và chỉ cho bạn cách thiết lập một hook sẽ được kích hoạt thông qua hệ thống con quản lý năng lượng sẽ chạy xmodmap
thiết lập của bạn mỗi khi bạn ngừng hoạt động.
Một cái gì đó giống như kịch bản sau đây, lưu lại dưới dạng /etc/pm/sleep.d/11suspend
(thay đổi me
trong /bin/su - me
tên người dùng thực tế của bạn):
#!/bin/bash
case $1 in
hibernate)
echo "Hey guy, we are going to suspend to disk!"
;;
suspend)
echo "Oh, this time we're doing a suspend to RAM. Cool!"
;;
thaw|resume)
echo "oh, suspend is over, we are in $1 phase..."
# Set Display #
DISPLAY=:0.0 ; export DISPLAY
/bin/su - me -c "sleep 3; /usr/bin/xmodmap /home/me/.xmodmaprc" &
;;
*) echo "somebody is calling me totally wrong."
;;
esac
Lưu ý trước: bạn không nên sử dụng xmodmap
lệnh lỗi thời , nhưng XKB ( xkbcomp
).
Sau đó, bạn có thể thay đổi các cài đặt từ ~/.xsession
tập lệnh của bạn . Cá nhân tôi có:
setxkbmap -types local -print | \
sed -e '/xkb_symbols/s/"[[:space:]]/+local&/' > $HOME/.xkb/keymap/custom
xkbcomp -w0 -I$HOME/.xkb -R$HOME/.xkb keymap/custom $DISPLAY
trong ~/.xsession
tệp của tôi và cài đặt XKB của tôi được đặt ~/.xkb/symbols/local
và ~/.xkb/types/local
tệp. Điều này sẽ thay đổi cài đặt sau mỗi lần đăng nhập X.
Thật không may, các cài đặt này bị mất sau khi tạm dừng / tiếp tục . Có một cách giải quyết: lưu chúng và khôi phục chúng thông qua pm-utils với một tập lệnh trong /etc/pm/sleep.d
thư mục; bạn có thể cần
xhost +si:localuser:root
trong ~/.xsession
tập lệnh của bạn vì root không có thông tin xauth của bạn. Tôi đã đưa ra một ví dụ (cho XKB): https://bugs.debian.org/cgi-bin/orpreport.cgi?orms=633849#92
~/.xsession
không được gọi sau khi tiếp tục ở đây. bạn có biết tại sao?
~/.xsession
không bao giờ được thực hiện sau khi tiếp tục, ngay khi phiên X bắt đầu. Bạn chỉ cần làm xhost +si:localuser:root
vào lúc này.
xmodmap
tải các keymap tùy chỉnh. Nó dường như làm việc tốt hơn nhiều quá. Trong trường hợp của tôi (XUbfox 18.04), nó dường như tồn tại quá trình tạm ngưng / tiếp tục.