Bố cục bàn phím tùy chỉnh được đặt lại về mặc định sau khi chờ hoặc khởi động lại


11

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 có cùng một vấn đề, debian jessie với xfce4.
John Lawrence Aspden

Câu trả lời:


6

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

3

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/local~/.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?
brauliobo 21/07/2015

@bAFiobo ~/.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.
vinc17

Cảm ơn bạn rất nhiều vì những thông tin này. Tôi không biết có một phương pháp mới hơn là 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.
Tobia
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.