Как указать в диалоговом окне ввода пароля язык всегда должен быть английским?

В Gnome я часто ввожу пароль sudo, когда выбирается русский язык. Настолько жаль ждать, пока не пройдет проверка пароля, переключиться на английский и ввести пароль еще раз!

Есть ли способ заставить английский в диалоговом окне ввода пароля? Особенно на экране входа в систему.

5
задан 30 January 2014 в 05:24

1 ответ

Использование gsettings

Хорошо работает с переключателем Gnome / Unity Indicator / Layout в Ubuntu 13.10 или новее.

Запустите gsettings list-recursively org.gnome.desktop.input-sources, чтобы проверить ваши активные макеты и системы ввода.

Проблемы :

В случае диалога блокировки невозможно восстановить последнюю использованную клавиатуру. Поэтому после разблокировки всегда en

  • Для sudo (Alias)

    nano ~/.bashrc
    

    Добавить эту строку

    alias sudo="sudo_success='' ; last_kbd=`gsettings get org.gnome.desktop.input-sources current | awk '{print $2}'` ; gsettings set org.gnome.desktop.input-sources current 0 ; sudo echo -n  && sudo_success='1' ; gsettings set org.gnome.desktop.input-sources current $last_kbd ; test $sudo_success && sudo"
    
  • Для диалогового окна блокировки (Прокси-сервер)

    cd /usr/lib/gnome-screensaver/
    sudo mv gnome-screensaver-dialog gnome-screensaver-dialog_orig
    sudo nano gnome-screensaver-dialog_proxy
    

    Вставьте это в:

    #!/usr/bin/env bash
    last_kbd=`gsettings get org.gnome.desktop.input-sources current | awk '{print $2}'`
    gsettings set org.gnome.desktop.input-sources current 0
    /usr/lib/gnome-screensaver/gnome-screensaver-dialog_orig $@
    gsettings set org.gnome.desktop.input-sources current $last_kbd
    

    Исправьте ссылку:

    sudo chown root:root gnome-screensaver-dialog_proxy
    sudo chmod +x root:root gnome-screensaver-dialog_proxy
    sudo ln -s gnome-screensaver-dialog_proxy gnome-screensaver-dialog
    

Старый ответ с использованием setxkbmap

Используйте его, только если ваши макеты установлены с помощью команды setxkbmap.

Полные шаги упомянуты выше. Я держал только разные шаги. Я использую нас, ara (английский, арабский), запускаю setxkbmap -query, чтобы проверить ваши.

Проблемы :

setxkbmap меняет компоновку на уровне X, что переопределяет эффективную компоновку Unity / Gnome. Индикатор продолжает показывать последний макет. Также это ломает некоторые сочетания клавиш. Чтобы избежать этого, добавьте ваши варианты ярлыков в команду setxkbmap. Пример: setxkbmap us,ara -option grp:rshift_toggle -option grp:rctrl_switch.

В диалоговом окне блокировки невозможно восстановить последнюю использованную клавиатуру.

  • Для sudo

    nano ~/.bashrc
    

    Добавить эту строку

    alias sudo="sudo_success='' ; last_kbd=$(setxkbmap -query | awk 'FNR == 3 {print $2}') ; setxkbmap us,ara ; sudo echo -n && sudo_success='1' ; setxkbmap $last_kbd ; test $sudo_success && sudo"
    
  • Для диалогового окна блокировки

    nano gnome-screensaver-dialog_proxy
    

    Поместите это в:

    #!/usr/bin/env bash
    last_kbd=$(setxkbmap -query | awk 'FNR == 3 {print $2}')
    setxkbmap us,ara
    /usr/lib/gnome-screensaver/gnome-screensaver-dialog_orig $@
    setxkbmap $last_kbd
    
0
ответ дан 30 January 2014 в 05:24

Другие вопросы по тегам:

Похожие вопросы: