Изменить языковой макет в блокировке экрана
Я пользователь Xubuntu 14.04.2. У меня есть две раскладки клавиатуры: русская и английская. Иногда, когда я закрываю свой ноутбук, а затем возвращаюсь и пытаюсь продолжить работу, Xubuntu требует, чтобы я ввел свой пароль пользователя (мой пароль состоит из английских букв и цифр).
Однако, часто моя раскладка клавиатуры была установлена на русский язык, и переключение клавиш не работает.
Мне нужно перезагрузить ноутбук, чтобы исправить это.
Как мне поступить?
3 ответа
У меня точно такая же проблема, как и у вас, и я делаю это:
избавляться от
gnome-screensaver
от:sudo apt-get purge gnome-screensaver
Установите заставку X:
sudo apt-get install xscreensaver xscreensaver-data xscreensaver-gl
Всякий раз, когда вы забыли переключиться обратно на английский до того, как система заблокируется, нажмите Ctrl+Alt+F1, чтобы войти в систему как пользователь-администратор и kill -9 xscreensaver
и ты вернулся!
(Это просто обходной путь, а не реальное "решение", но оно работает для меня и определенно лучше, чем выключение и перезапуск)
Xscreensaver великолепен, но разработчик, JWZ, ясно дал понять, что не собирается поддерживать несколько клавиатур.
xsecurelock - лучшее решение. Он поддерживает переключение раскладок клавиатуры из заставки, а также выдает жирное красное уведомление, если включена блокировка заглавных букв. У него нет встроенного таймера, как у xscreensaver, поэтому вам нужно будет следовать инструкциям на их веб-странице, чтобы он запускался автоматически после тайм-аута.
[Редактировать] Это может быть обходной путь, но сейчас его путаница с другими сочетаниями клавиш переключения макетов
[Оригинал] Этот работал для меня, НО я не мог запустить его при запуске и поддерживать его в фоновом режиме.
Прослушайте сигнал блокировки и измените раскладку на пароль. (уродливый обходной путь, но, кажется, работает)
dbus-monitor --session "type=signal,interface=org.gnome.ScreenSaver" |
while read MSG; do
LOCK_STAT=`echo $MSG | grep boolean | awk '{print $2}'`
if [[ "$LOCK_STAT" == "true" ]]; then
setxkbmap us
else
setxkbmap -option grp:switch,grp:alt_shift_toggle,grp_led:scroll us,il
fi
done
Ubuntu 16.04 использует другое имя интерфейса:
dbus-monitor --session "type=signal,interface=com.canonical.Unity.Session" |
while read MSG; do
LOCK_STAT=`echo $MSG | egrep -o member='.*' | cut -d '=' -f 2`
if [[ "$LOCK_STAT" == "Locked" ]]; then
CURRENTL=$(setxkbmap -query | grep layout | awk '{print $2}')
echo "Locked with current layout ${CURRENTL}"
setxkbmap us
fi
if [[ "$LOCK_STAT" == "Unlocked" ]]; then
setxkbmap $CURRENTL
echo -n "Returning to"
setxkbmap -query | grep layout
fi
done