如何配置 gnome 在锁定屏幕上仅使用一种特定的键盘布局?

问题描述 投票:0回答:3

对于锁定屏幕,Gnome 使用锁定屏幕之前最后使用的键盘布局。是否有可能以这样的方式配置 gnome,使其始终将键盘布局切换为锁定屏幕的某个特定值?

示例,现在如何工作:您配置了两种布局,

en
abc
。您已经使用键盘布局
abc
输入了一些文本,然后通过按 Meta + L 或将计算机置于睡眠模式来锁定屏幕。到达锁定屏幕后,您会发现键盘布局是
abc
。您将其切换到
en
并输入密码,解锁屏幕,然后看到您的活动 gnome 桌面键盘布局是
abc

期望:您配置了两种布局,

en
abc
。您已经使用键盘布局
abc
输入了一些文本,然后通过按 Meta + L 或将计算机置于睡眠模式来锁定屏幕。到达锁定屏幕时,您会发现您的键盘布局是
en
,因为您设法以某种方式配置 gnome(或使用一些锁定屏幕激活脚本/挂钩?)以始终切换到
en
进行锁定屏幕。解锁后的桌面键盘布局可以保留(
abc
),但这在给定问题的范围内并不重要。

gnome lockscreen keyboard-layout
3个回答
2
投票

找到了!

Gnome 设置 → 区域和语言 → 输入源部分。单击“登录屏幕”按钮可以修改与登录屏幕相关的输入源。按钮本身位于窗口装饰栏上,“公开隐藏”,很难在视觉上找到。


2
投票

您可以安装 g3kb-switch 来从命令行控制 GNOME 中的当前键盘布局。要在锁定屏幕上自动将键盘布局更改为英文,您可以使用脚本(将其放入 GNOME 自动启动中):

#!/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
      echo "Screen locking actions"
      gdbus call --session --dest org.gnome.Shell --object-path /org/g3kbswitch/G3kbSwitch --method org.g3kbswitch.G3kbSwitch.Set 0
    fi
  done

出于安全原因,GNOME 禁用锁定屏幕激活上的所有扩展。因此,您需要从

disable()
中的
~/.local/share/gnome-shell/extensions/[email protected]/extension.js
方法中删除所有内容,如here所述,然后重新启动。


0
投票

我编写了一个 gnome 扩展,它可以在屏幕保护程序激活时重置键盘布局。您可以通过 https://github.com/galets/gnome-keyboard-reset

访问它
© www.soinside.com 2019 - 2024. All rights reserved.