Налаштування розкладки на клавіатурі скидається до значень за замовчуванням після очікування або перезавантаження


11

Я створив розкладку клавіатури для себе, після запуску xmodmapвона працює добре, але після очікування або перезавантаження макет повернеться до qwerty.

Як я можу встановити його за замовчуванням? Моя ОС - Debian Wheezy з XFCE4.


У мене така ж проблема, debian jessie з xfce4.
Джон Лоуренс Аспден

Відповіді:


6

Перевірте цей потік форуму Archlinux Xmodmap Reset після призупинення оперативної пам'яті . У потоці є кілька прикладів, які розпочнуть роботу, і покажуть, як налаштувати гачок, який буде спрацьовувати через підсистему управління живленням, яка запускатиме xmodmapналаштування кожного разу, коли ви виходите з призупинення.

Щось на зразок наступного сценарію, збереженого як /etc/pm/sleep.d/11suspend(змінити meв /bin/su - meфактичне ім’я користувача):

#!/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

Попередня примітка: ви повинні використовувати не застарілу xmodmapкоманду, а XKB ( xkbcomp).

Потім ви можете змінити налаштування зі свого ~/.xsessionсценарію. Особисто я:

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

в моєму ~/.xsessionфайлі, і мої налаштування XKB поміщаються в ~/.xkb/symbols/localі ~/.xkb/types/localфайли. Це змінить налаштування після кожного входу в систему X.

На жаль, ці налаштування втрачаються після призупинення / відновлення . Є вирішення: збережіть їх і відновіть їх через pm-utils зі скриптом у /etc/pm/sleep.dкаталозі; вам може знадобитися

xhost +si:localuser:root

у вашому ~/.xsessionсценарії, оскільки root не містить вашої інформації xauth. Я наводив приклад (для XKB): https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=633849#92


~/.xsessionне викликається після резюме тут. ти знаєш чому?
brauliobo

@brauliobo ~/.xsessionніколи не виконується після резюме, саме тоді, коли розпочнеться сесія X. Вам потрібно це робити xhost +si:localuser:rootлише в цей час.
vinc17

Дуже дякую за цю інформацію. Я не здогадувався, що існує більш новий метод, ніж xmodmapзавантажувати власні ключові карти. Здається, теж працює набагато краще. У моєму випадку (XUbuntu 18.04), схоже, теж можна призупинити / відновити.
Тобія
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.