XkbOptions 在 NixOS 中无法在系统范围内工作

XkbOptions 在 NixOS 中无法在系统范围内工作

我刚刚从 迁移Arch LinuxNixOS。我配置了系统来安装GNOME。此外,我发现了一个可以XkbOptions在其中设置的设置services.xserver

// /etc/nixos/configuration.nix
...
services = {
  xserver = {
    desktopManager.gnome.enable = true;
    displayManager.gdm.enable = true;
    enable = true;
    excludePackages = with pkgs; [ xterm ];
    layout = "us";
    xkbVariant = "";
    xkbOptions = "numpad:microsoft"; # ...err, not fully working
  };
};
...

我假设设置应该产生与以下设置XkbOptions相同的结果:Num Lock on: ...Compatibility optionsGNOME Tweaks

在此输入图像描述

...但它并不能在整个系统范围内正常工作。例如,Text Editor其他一些应用程序无法正常工作。此外,我可以验证在GNOME Tweaks(有和没有设置)中进行设置XkbOptions将使我测试过的所有应用程序都能正常工作,所以我不确定我在NixOS配置文件中是否做错了什么,或者是否存在一些错误xkbOptions

如果可能的话,我想以NixOS声明方式配置它。有什么线索表明我做错了什么吗?

答案1

我认为不知何故,我进入了一种未正确设置的状态,因为我在尝试配置系统时GNOME Tweaks……同时进行所有操作。我读过,NixOS如果已经配置了设置(或相关设置),则将无法应用配置中所述的更改。

所以我继续检查当前值gsettings get org.gnome.desktop.input-sources xkb-options。然后我打开GNOME Tweaks并取消设置该选项。此外,我还org.gnome.desktop.input-sources xkb-options通过命令行进行了重置: gsettings reset org.gnome.desktop.input-sources xkb-options— 所有这一切同时仍然NixOS配置了xkbOptions = "numpad:microsoft".

我重新启动了系统......一切似乎都工作正常。此外,我GNOME Tweaks现在还看到,重新启动后,选择了该选项。所以看来这确实是全系统认可的。

相关内容