Tôi đã tự thiết kế bố trí bàn phím, sau khi tôi chạy, xmodmapnó 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, xmodmapnó 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 xmodmapthiế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 metrong /bin/su - metê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 xmodmaplệnh lỗi thời , nhưng XKB ( xkbcomp).
Sau đó, bạn có thể thay đổi các cài đặt từ ~/.xsessiontậ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 ~/.xsessiontệp của tôi và cài đặt XKB của tôi được đặt ~/.xkb/symbols/localvà ~/.xkb/types/localtệ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.dthư mục; bạn có thể cần
xhost +si:localuser:root
trong ~/.xsessiontậ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
~/.xsessionkhông được gọi sau khi tiếp tục ở đây. bạn có biết tại sao?
~/.xsessionkhô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:rootvào lúc này.
xmodmaptả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.