NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
17.58k stars 13.73k forks source link

KDE Cannot Launch Orca Configuration #165987

Open ghost opened 2 years ago

ghost commented 2 years ago

Describe the bug

KDE cannot launch the Orca screen reader's configuration options from the accessibility menu (even if services.gnome.at-spi2-core.enable = true is set and orca is in the system packages). The error given is Could not set gsettings for Orca: "gsettings set org.gnome.desktop.a11y.applications screen-reader-enabled true" failed.

I've tried adding gsettings to my system packages, but gsettings hits:

(process:43355): dconf-WARNING **: 13:44:58.981: failed to commit changes to dconf: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name ca.desrt.dconf was not provided by any .service files

Presumably separately gsettings also is hitting a dependency issue here.

There should probably be a Services config option that enables orca and all the weird things you need enabled to make it work, perhaps even enabling it at startup. I'd lean

Steps To Reproduce

Steps to reproduce the behavior:

  1. Have KDE without GNOME installed.
  2. Have Orca installed.
  3. Go to accessibility system settings.
  4. Click "Launch Orca screen reader configuration."

Expected behavior

The button works and opens Orca's configuration.

Notify maintainers

@berce @hedning @dasj19 @maxeaubrey

Metadata

Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.

fidgetcetera@kuiper in ~ 
took 22ms ๐Ÿ”‹: ๐Ÿ”Œ 85% 
๐Ÿฏ๐ŸŒบ๐ŸŒ‘๐Ÿ’ค๐Ÿฒ๐Ÿฐ๐Ÿ˜ˆ|๐Ÿ”ฎ nix-shell -p nix-info --run "nix-info -m"
these paths will be fetched (0.06 MiB download, 0.30 MiB unpacked):
  /nix/store/n32py8bgkgi73llcc57kffrnwnaf0vm4-bash-interactive-5.1-p8-dev
copying path '/nix/store/n32py8bgkgi73llcc57kffrnwnaf0vm4-bash-interactive-5.1-p8-dev' from 'https://cache.nixos.org'...
 - system: `"x86_64-linux"`
 - host os: `Linux 5.10.106, NixOS, 21.11 (Porcupine)`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.3.16`
 - channels(fidgetcetera): `""`
 - channels(root): `""`
 - nixpkgs: `/nix/store/yqhznlsx7qj05d3nfahjgiwwxhpvk7a4-nixpkgs`
jtojnar commented 2 years ago

Most GNOME apps require programs.dconf.enable = true; (The ca.desrt.dconf service is used for configuration.)

Though the error message seems to come from KDE:

https://github.com/KDE/plasma-desktop/blob/42480e30a63130e9cc6a7835d697d46342918672/kcms/access/kcmaccess.cpp#L182

So it needs to be wrapped to have access to org.gnome.desktop.a11y.applications GSettings schema from gsettings-desktop-schemas package in XDG_DATA_DIRS and gsettings program from glib on PATH.