我是 Xubuntu 14.04.2 用户。我有两种键盘布局:俄语和英语。有时当我关闭笔记本电脑然后返回并尝试继续工作时,Xubuntu 会要求我输入用户密码(我的密码由英文字母和数字组成)。
但是,我的键盘布局通常设置为俄语,切换键盘不起作用。
我需要重新启动笔记本电脑来修复它。
我该如何继续?
答案1
我和你遇到了完全相同的问题,我通过这样做来解决这个问题:
摆脱
gnome-screensaver
:sudo apt-get purge gnome-screensaver
通过以下方式安装 X 屏幕保护程序:
sudo apt-get install xscreensaver xscreensaver-data xscreensaver-gl
无论何时,如果您在系统锁定之前忘记切换回英语,请点击Ctrl“ Alt++”F1以管理员用户身份登录,kill -9 xscreensaver
然后您就可以重新登录了!
(这只是一种解决方法,而不是真正的“解决方案”,但它对我来说很有效,而且绝对比关机并重新启动更好)
答案2
我正在运行 Ubuntu 21.04,“dbus-monitor”解决方案对我来说不起作用,所以我分享了我的解决方法。
使用xscreensaver-command
我们可以监视屏幕保护程序的状态变化。
然后,当状态更改为时LOCK
,我们可以将布局更改为us
,并在屏幕保护程序“释放”桌面后将其更改回来
一旦我有了脚本,我就会将其设置为在登录期间运行。
xscreensaver-command --watch |
while read MSG; do
CMD=`echo $MSG | awk '{print $1}'`
if [[ "$CMD" == "LOCK" ]]; then
##### CURRENTL=$(setxkbmap -query | grep layout | awk '{print $2}')
echo "Locked with current layout ${CURRENTL}"
setxkbmap us
fi
if [[ "$CMD" == "UNBLANK" ]]; then
##### setxkbmap $CURRENTL
setxkbmap us,il,us
echo -n "Returning to "
setxkbmap -query | grep layout | awk '{ print $2 }'
fi
# echo $CMD
done
答案3
[编辑] 这可能是一种解决方法,但现在它会干扰其他布局切换键绑定
[原文] 这个对我有用,但是我无法在启动时运行它并让它在后台运行。
监听锁定信号并将布局更改为密码布局。(不太好的解决方法但似乎有效)
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
答案4
xscreensaver 很棒,但是维护者 JWZ 明确表示他无意支持多键盘。
xsecurelock 是一个更好的解决方案。它支持在屏幕保护程序中切换键盘布局,如果启用了大写锁定,它还会向您显示醒目的红色通知。它没有像 xscreensaver 那样的内置计时器,因此您需要按照其网页上的说明让它在超时后自动运行。