gnome-terminal fails to start under sway on core-updates-frozen

OpenSubmitted by Jack Hill.
Details
One participant
  • Jack Hill
Owner
unassigned
Severity
normal
J
J
Jack Hill wrote on 22 Nov 2021 06:10
(address . bug-guix@gnu.org)
alpine.DEB.2.21.2111220005430.13935@marsh.hcoop.net
Hi Guix,

With core-updates-frozen commit b033079e47357dcf77ebeeb52b0a5306cd6aa982
gnome-terminal fails to start under sway either as launched from gdm or
directly from a vt with `dbus-run-session sway`.

```
$ gnome-terminal
# Error constructing proxy for org.gnome.Terminal:/org/gnome/Terminal/Factory0: Error calling StartServiceByName for org.gnome.Terminal: Process org.gnome.Terminal exited with status 10
```

It works correctly in a gnome session.

Best,
Jack
J
J
Jack Hill wrote on 22 Nov 2021 20:59
(address . 52031@debbugs.gnu.org)(name . Josselin Poiret)(address . dev@jpoiret.xyz)
alpine.DEB.2.21.2111221402530.13935@marsh.hcoop.net
On Mon, 22 Nov 2021, Jack Hill wrote:

Toggle quote (16 lines)
> Hi Guix,
>
> With core-updates-frozen commit b033079e47357dcf77ebeeb52b0a5306cd6aa982
> gnome-terminal fails to start under sway either as launched from gdm or
> directly from a vt with `dbus-run-session sway`.
>
> ```
> $ gnome-terminal
> # Error constructing proxy for
> org.gnome.Terminal:/org/gnome/Terminal/Factory0: Error calling
> StartServiceByName for org.gnome.Terminal: Process org.gnome.Terminal exited
> with status 10
> ```
>
> It works correctly in a gnome session.

Josselin Poiret determined [0] that the root cause of this behavior is
that gnome-terminal is being launched via dbus, but the bus doesn't know
about the wayland display, so can't start graphical applications.
Everything works as expected if dbus is told about the display, which can
be done by adding the following like to the sway configuration:

```
exec dbus-update-activation-environment WAYLAND_DISPLAY
```

In my judgment, this issue shouldn't hold up the core-updates-frozen
merge, but it would be nice to improve the out-of-the-box sway experience
in the future. A possible way I see is a sway service type that puts the
necessary configuration in /etc/sway/conf.d or otherwise installs a
session .desktop file that performs the necessary setup.


Thoughts?
Jack
?