如何保留锁屏语言?

如何保留锁屏语言?

有一半的时间计算机锁定时,焦点窗口的语言未设置为英语,因此我在锁定屏幕中以错误的语言输入密码。

是否可以将锁屏语言保留为以前的语言在锁定屏幕中,而不是最后使用的那个?

我已经启用了

允许每个窗口使用不同的来源

输入源选项中的选项。


编辑:根据评论中的要求,这些是内容/etd/default/keyboard

$ cat /etc/default/keyboard
XKBLAYOUT="us,gr"
XKBVARIANT=","
BACKSPACE="guess"
XKBMODEL="pc105"
XKBOPTIONS="grp:alt_shift_toggle,grp_led:scroll"

答案1

我发现这个答案帮助

在“设置”下的“区域和语言”中,创建新帐户后可以选择“登录屏幕”默认值。

请小心,因为设置一旦设置就不可逆转。如果您重新启动并将语言更改为俄语,您将无法登录。

答案2

我也遇到过同样的问题,这让我很烦恼,为了加快解决方案的速度,我创建了一个关注 gnome 扩展

答案3

遇到同样的问题,我最终找到了一个解决方案,它是我找到的答案的组合。

该解决方案创建一个脚本,它将监听锁屏事件(通过org.gnome.ScreenSaver),并使用 GNOME 扩展和应用程序更改语言g3kbswitch

对于 GNOME 42+:

  1. 安装 g3kb-switchhttps://github.com/lyokha/g3kb-switch按照github中的说明(拉取,安装依赖项,编译并安装应用程序和扩展)

  2. 通过运行找到您想要在锁定屏幕中使用的语言 ID gdbus call --session --dest org.gnome.Shell --object-path /org/g3kbswitch/G3kbSwitch --method org.g3kbswitch.G3kbSwitch.List(您应该得到类似的输出(true, '[{"key":"0","value":"us"},{"key":"1","value":"il"}]'),如果您希望“en”作为锁定屏幕语言,您需要使用密钥0

  3. 创建一个脚本,将其命名为,例如lock-screen-lang.sh,并用上一步中的键0替换:Set 0

#!/bin/bash
dbus-monitor --session "type=signal,interface=org.gnome.ScreenSaver" |
  while read MSG; do
    MSG_STAT=`echo $MSG | grep boolean | awk '{print $2}'`
    if [[ "$MSG_STAT" == "true" ]]; then
      gdbus call --session --dest org.gnome.Shell --object-path /org/g3kbswitch/G3kbSwitch --method org.g3kbswitch.G3kbSwitch.Set 0 > /dev/null 2>&1
    fi
  done
  1. 赋予脚本可执行权限:chmod +x lock-screen-lang.sh

  2. 通过运行,将脚本添加到 GNOME 启动中gnome-session-properties,并添加新项目,选择您创建的脚本。

注意:虽然这是一个解决方法,但由于这个问题已经存在好几年了,所以它可能还是值得拥有的。

相关错误:

资源:

相关内容