mate-desktop / mate-settings-daemon

MATE settings daemon
https://mate-desktop.org
GNU General Public License v2.0
44 stars 46 forks source link

Couldn't connect to Accessibility bus on Wayland #412

Open DMJC opened 4 months ago

DMJC commented 4 months ago

Expected behaviour

mate-settings-daemon loading/running.

Actual behaviour

Program crashes with error message: (mate-settings-daemon:1915186): dbind-WARNING **: 06:46:47.847: Couldn't connect to accessibility bus: Failed to connect to socket /run/user/1000/at-spi/bus_0: No such file or directory Segmentation fault

Bus/Socket name has changed to /run/user/1000/at-spi/buswayland-1 due to running on Wayland.

When the bus name is overridden to be /run/user/1000/at-spi/bus_0 then mate-settings-daemon segfaults on X11/Xrandr.

Steps to reproduce the behaviour

Run Wayland/Wayfire and run /usr/libexec/mate-settings-daemon

MATE general version

1.28

Package version

1.28.0

Linux Distribution

Debian Linux 13 Trixie

lukefromdc commented 4 months ago

It is the plugins (basically all of them) that segfault as they depend on and interact with x11. Mate-settings-daemon is our xsettings manager, keyword "X." Much of what it does in an x11 session is done by the compositor in a wayland session e.g setting the font, the gtk theme, the icon theme, and similar functions. For these to be controlled by a wayland version/ wayland plugins for m-s-d would require us to have our own compositor that used m-s-d as a frontend. Writing one is well beyond my capacity at this time.

With any wayland compositor, the compositor itself handles the jobs done in x11 by the xserver, the window manager, the settings manager, and the session manager. It is all of those in an of itself. Unfortunately most if not all of the current wlroots-based compositors look to GNOME for their settings and do not have an option to change this to MATE or another potential desktop environment like XFCE's wayland port.

Therefore, to set the font, the icon theme, and the GTK theme as well as several other settings in a wayland session, we need to open dconf-editor and change them under org.gnome not org.mate. That's why mate-wayland-session uses a gsettings override to set MATE defaults for these in a MATE session (for use in the wayland session) only.

DMJC commented 4 months ago

Thanks for clarifying that, how should we be setting the colour scheme/settings for the MATE-Panel/GTK gui elements under Wayland?

lukefromdc commented 4 months ago

Set the desired GTK theme under org/gnome/desktop/interface/gtk-theme in dconf-editor, since the compositor uses the GTK theme set in GNOME. Same for icon theme, fonts etc

lukefromdc commented 4 months ago

Accessability seems to be a WIP in Wayland even for GNOME from what I've heard

DMJC commented 4 months ago

Something is broken with dconf/gsettings under wayland, at least on my system. I found those keys and I can set them under X11, but if I try to edit them under Wayland it ignores any input. Oddly it works under root just not the end user account.

On Sat, 24 Feb 2024 at 10:25, Luke from DC @.***> wrote:

Accessability seems to be a WIP in Wayland even for GNOME from what I've heard

— Reply to this email directly, view it on GitHub https://github.com/mate-desktop/mate-settings-daemon/issues/412#issuecomment-1962147883, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAFS2Y5EXXMBE3HMVRKOFU3YVET6RAVCNFSM6AAAAABDXJKFV6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRSGE2DOOBYGM . You are receiving this because you authored the thread.Message ID: @.***>

lukefromdc commented 4 months ago

That sounds like a permissions problem. Root is supposed to have its own files for this, but if the user files were ever edited as root ownership could have changed. Usually this would mean they could not be changed either in x11 or in wayland. No idea what your setup is doing beyond that, but I do not get that issue at all

DMJC commented 4 months ago

It was a corrupt entry in /etc/profile it needed to be XDG_CONFIG="$home/.config" not XDG_CONFIG="~/.config". I was getting ghost entries created under ~/\~/.config. Permissions were fine. Now that that's crushed I've got a mostly functional MATE desktop on Wayland.

On Sat, 24 Feb 2024 at 11:37, Luke from DC @.***> wrote:

That sounds like a permissions problem. Root is supposed to have its own files for this, but if the user files were ever edited as root ownership could have changed. Usually this would mean they could not be changed either in x11 or in wayland. No idea what your setup is doing beyond that, but I do not get that issue at all

— Reply to this email directly, view it on GitHub https://github.com/mate-desktop/mate-settings-daemon/issues/412#issuecomment-1962191258, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAFS2Y4MIAA7A3C76CADW63YVE4L3AVCNFSM6AAAAABDXJKFV6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRSGE4TCMRVHA . You are receiving this because you authored the thread.Message ID: @.***>

lukefromdc commented 4 months ago

Should this be closed or not? I get lots of issues in both x11 and wayland with programs launched from terminal not being able to connect to the accessability bus, yet accerciser works. m-s-d is not used in wayland for reasons stated above, and you found the problem with saving your settings.