Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

X11 applications no longer work with GNOME 3.38 #562

Closed
garrett opened this issue Sep 21, 2020 · 20 comments
Closed

X11 applications no longer work with GNOME 3.38 #562

garrett opened this issue Sep 21, 2020 · 20 comments
Labels
1. Bug Something isn't working
Milestone

Comments

@garrett
Copy link

garrett commented Sep 21, 2020

Describe the bug

In Fedora 33, graphical applications no longer work from within toolbox containers when in Wayland. This breaks workflows for everyone using Silverblue and is relying on toolbox where graphical applications are needed. (Mainly: development work which may require graphical tools like gitk, VS Code, and so on.)

Steps how to reproduce the behaviour

  1. Use Wayland, not X
  2. Start a toolbox container
  3. Run a graphical app, such as gitk
  4. See an error where it cannot connect to X

Expected behaviour
Graphical apps should show up.

Actual behaviour

When running gitk from within toolbox, the following happens:

$ gitk
application-specific initialization failed: couldn't connect to display ":0"
Error in startup script: couldn't connect to display ":0"
    while executing
"load /usr/lib64/libtk8.6.so Tk"
    ("package ifneeded Tk 8.6.10" script)
    invoked from within
"package require Tk"
    (file "/usr/bin/gitk" line 10)

Output of toolbox --version (v0.0.90+)

toolbox version 0.0.95

Toolbox package info (rpm -q toolbox)

toolbox-0.0.95-1.fc33.x86_64

Output of podman version

Version:      2.1.0-dev
API Version:  1
Go Version:   go1.15
Built:        Tue Aug 25 14:48:48 2020
OS/Arch:      linux/amd64

Podman package info (rpm -q podman)

podman-2.1.0-0.179.dev.git43f2771.fc33.x86_64

Info about your OS
Fedora Silverblue 33 beta

Additional context

This worked fine in the 2020-09-14 build of Silverblue 33 beta. It broke somewhere between then and the latest build of 2020-09-20. I believe it is podman related, especially due to it being a dev build.

Did a development version of podman slip into F33/SB, breaking toolbox, again?

..Or is it intended to use podman 2.1.x in Fedora 33 (and therefore toolbox would have to workaround or add support for the new version)?

Discussed in https://discussion.fedoraproject.org/t/issues-with-some-graphical-apps-in-f33-containers-toolbox/23456.

@garrett garrett added the 1. Bug Something isn't working label Sep 21, 2020
@A6GibKm
Copy link

A6GibKm commented Sep 21, 2020

Some apps do work, e.g. emacs (I am running a gtk fork of emacs tho). But in general graphical apps do not work.

@garrett
Copy link
Author

garrett commented Sep 21, 2020

Ah, I can open GTK apps here too. Perhaps they're going directly to Wayland and apps depending on X (perhaps even with XWayland) aren't working?

@garrett
Copy link
Author

garrett commented Sep 21, 2020

I've logged out and logged back in using GNOME in X mode (non-Wayland) and all apps from within toolbox launch.

Obviously, this doesn't fix the problem. 😉

It also itn't really a workaround for now, as Firefox (from flathub) does not launch in X for some odd reason. (Most likely another bug, unless there's simply some issue with Wayland and X somewhere.) Edit: I disabled the X11 fallpack property with Flatseal months ago, when I was making sure Firefox was running in Wayland mode to answer someone's post on the Silverblue forum. So it was self-inflicted. Oops.

@garrett
Copy link
Author

garrett commented Sep 21, 2020

I've rebooted Silverblue to:

                   Version: 33.20200913.n.0 (2020-09-13T07:59:41Z)
                BaseCommit: 7de80b1a27968e257a31180f4ae046f5e7acc3c6fd978b90122a5551320b5db9

...and I'm in Wayland and can run graphical apps again from toolbox.

$ rpm -q podman
podman-2.1.0-0.179.dev.git43f2771.fc33.x86_64

$ podman version
Version:      2.1.0-dev
API Version:  1
Go Version:   go1.15
Built:        Tue Aug 25 14:48:48 2020
OS/Arch:      linux/amd64

$ toolbox --version
toolbox version 0.0.95

$ rpm -q toolbox
toolbox-0.0.95-1.fc33.x86_64

It looks like toolbox and podman are both at the same versions, so this might actually be an X and Wayland issue?

@garrett
Copy link
Author

garrett commented Sep 21, 2020

In a VM with no overrides, I ran an update from

                   Version: 33.20200914.n.0 (2020-09-14T08:05:11Z)
                    Commit: a2ead73898ba4861d018599c001b141511c14c1efc4203b5433b754873171050

(known good; tested running gitk in a toolbox container and it works)
to

                   Version: 33.20200920.n.0 (2020-09-20T08:02:39Z)
                    Commit: 633fca7e849b77903f4f8e14d39ff421edfede3bafc903af06a9be948a85d603

(known bad, latest; tested running gitk in a toolbox container and it fails)

The changes when upgrading are:

1 metadata, 0 content objects fetched; 592 B transferred in 2 seconds; 0 bytes content written
AvailableUpdate:
        Version: 33.20200920.n.0 (2020-09-20T08:02:39Z)
         Commit: 633fca7e849b77903f4f8e14d39ff421edfede3bafc903af06a9be948a85d603
   GPGSignature: 1 signature
                 Signature made Sun 20 Sep 2020 10:02:51 AM CEST using RSA key ID 6C13026D12C944D0
                 Good signature from "Fedora <fedora-32-primary@fedoraproject.org>"
       Upgraded: adwaita-cursor-theme 3.37.2-2.fc33 -> 3.38.0-1.fc33
                 adwaita-icon-theme 3.37.2-2.fc33 -> 3.38.0-1.fc33
                 at-spi2-atk 2.37.90-1.fc33 -> 2.38.0-1.fc33
                 at-spi2-core 2.37.90-1.fc33 -> 2.38.0-1.fc33
                 cheese-libs 2:3.34.0-4.fc33 -> 2:3.38.0-1.fc33
                 dconf 0.36.0-2.fc33 -> 0.38.0-1.fc33
                 evolution-data-server 3.37.90-1.fc33 -> 3.38.0-1.fc33
                 evolution-data-server-langpacks 3.37.90-1.fc33 -> 3.38.0-1.fc33
                 fedora-gpg-keys 33-0.11 -> 33-0.13
                 fedora-repos 33-0.11 -> 33-0.13
                 fedora-repos-modular 33-0.11 -> 33-0.13
                 fedora-repos-ostree 33-0.11 -> 33-0.13
                 gdm 1:3.37.90-1.fc33 -> 1:3.38.0-1.fc33
                 gjs 1.65.91-3.fc33 -> 1.66.0-1.fc33
                 glib-networking 2.65.90-1.fc33 -> 2.66.0-1.fc33
                 glib2 2.65.2-3.fc33 -> 2.66.0-1.fc33
                 gnome-backgrounds 3.37.2-2.fc33 -> 3.38.0-1.fc33
                 gnome-classic-session 3.37.91-1.fc33 -> 3.38.0-1.fc33
                 gnome-control-center 3.37.90-1.fc33 -> 3.38.0-1.fc33
                 gnome-control-center-filesystem 3.37.90-1.fc33 -> 3.38.0-1.fc33
                 gnome-desktop3 3.37.90.1-1.fc33 -> 3.38.0-1.fc33
                 gnome-disk-utility 3.37.2-3.fc33 -> 3.38.0-1.fc33
                 gnome-session 3.37.0-1.fc33 -> 3.38.0-1.fc33
                 gnome-session-wayland-session 3.37.0-1.fc33 -> 3.38.0-1.fc33
                 gnome-session-xsession 3.37.0-1.fc33 -> 3.38.0-1.fc33
                 gnome-settings-daemon 3.37.92-1.fc33 -> 3.38.0-1.fc33
                 gnome-shell 3.37.91-4.fc33 -> 3.38.0-1.fc33
                 gnome-shell-extension-apps-menu 3.37.91-1.fc33 -> 3.38.0-1.fc33
                 gnome-shell-extension-common 3.37.91-1.fc33 -> 3.38.0-1.fc33
                 gnome-shell-extension-horizontal-workspaces 3.37.91-1.fc33 -> 3.38.0-1.fc33
                 gnome-shell-extension-launch-new-instance 3.37.91-1.fc33 -> 3.38.0-1.fc33
                 gnome-shell-extension-places-menu 3.37.91-1.fc33 -> 3.38.0-1.fc33
                 gnome-shell-extension-window-list 3.37.91-1.fc33 -> 3.38.0-1.fc33
                 gnome-software 3.36.1-4.fc33 -> 3.38.0-2.fc33
                 gnome-software-rpm-ostree 3.36.1-4.fc33 -> 3.38.0-2.fc33
                 gnome-system-monitor 3.37.91-1.fc33 -> 3.38.0-1.fc33
                 gnome-tour 3.37.91-2.fc33 -> 3.38.0-1.fc33
                 gnome-user-docs 3.36.2-2.fc33 -> 3.38.0-1.fc33
                 gobject-introspection 1.64.1-4.fc33 -> 1.66.0-1.fc33
                 gsettings-desktop-schemas 3.37.2-2.fc33 -> 3.38.0-1.fc33
                 gspell 1.8.3-3.fc33 -> 1.8.4-1.fc33
                 gtk-update-icon-cache 3.24.22-2.fc33 -> 3.24.23-1.fc33
                 gtk3 3.24.22-2.fc33 -> 3.24.23-1.fc33
                 gvfs 1.45.90-1.fc33 -> 1.46.0-1.fc33
                 gvfs-afc 1.45.90-1.fc33 -> 1.46.0-1.fc33
                 gvfs-afp 1.45.90-1.fc33 -> 1.46.0-1.fc33
                 gvfs-archive 1.45.90-1.fc33 -> 1.46.0-1.fc33
                 gvfs-client 1.45.90-1.fc33 -> 1.46.0-1.fc33
                 gvfs-fuse 1.45.90-1.fc33 -> 1.46.0-1.fc33
                 gvfs-goa 1.45.90-1.fc33 -> 1.46.0-1.fc33
                 gvfs-gphoto2 1.45.90-1.fc33 -> 1.46.0-1.fc33
                 gvfs-mtp 1.45.90-1.fc33 -> 1.46.0-1.fc33
                 gvfs-smb 1.45.90-1.fc33 -> 1.46.0-1.fc33
                 json-glib 1.5.2-1.fc33 -> 1.6.0-1.fc33
                 libgdata 0.17.12-3.fc33 -> 0.17.13-1.fc33
                 libhandy1 0.90.0-1.fc33 -> 1.0.0-2.fc33
                 librsvg2 2.48.8-2.fc33 -> 2.50.0-1.fc33
                 libsoup 2.71.0-2.fc33 -> 2.72.0-1.fc33
                 libtracker-control 2.3.5-1.fc33 -> 2.3.6-1.fc33
                 libtracker-miner 2.3.5-1.fc33 -> 2.3.6-1.fc33
                 libtracker-sparql 2.3.5-1.fc33 -> 2.3.6-1.fc33
                 mutter 3.37.91-1.fc33 -> 3.38.0-1.fc33
                 nautilus 3.37.91-1.fc33 -> 3.38.0-1.fc33
                 nautilus-extensions 3.37.91-1.fc33 -> 3.38.0-1.fc33
                 orca 3.37.90-1.fc33 -> 3.38.0-1.fc33
                 python3-gobject 3.36.1-2.fc33 -> 3.38.0-1.fc33
                 python3-gobject-base 3.36.1-2.fc33 -> 3.38.0-1.fc33
                 python3-pyatspi 2.37.90-1.fc33 -> 2.38.0-1.fc33
                 python3-speechd 0.10.1-1.fc33 -> 0.10.1-2.fc33
                 rygel 0.39.2-1.fc33 -> 0.40.0-1.fc33
                 selinux-policy 3.14.6-25.fc33 -> 3.14.6-26.fc33
                 selinux-policy-targeted 3.14.6-25.fc33 -> 3.14.6-26.fc33
                 speech-dispatcher 0.10.1-1.fc33 -> 0.10.1-2.fc33
                 speech-dispatcher-espeak-ng 0.10.1-1.fc33 -> 0.10.1-2.fc33
                 systemd 246.4-1.fc33 -> 246.4-2.fc33
                 systemd-libs 246.4-1.fc33 -> 246.4-2.fc33
                 systemd-pam 246.4-1.fc33 -> 246.4-2.fc33
                 systemd-rpm-macros 246.4-1.fc33 -> 246.4-2.fc33
                 systemd-udev 246.4-1.fc33 -> 246.4-2.fc33
                 tracker 2.3.5-1.fc33 -> 2.3.6-1.fc33
                 tracker-miners 2.3.4-2.fc33 -> 2.3.5-1.fc33
                 yelp 2:3.37.90-2.fc33 -> 2:3.38.0-1.fc33
                 yelp-libs 2:3.37.90-2.fc33 -> 2:3.38.0-1.fc33
                 yelp-xsl 3.37.90-2.fc33 -> 3.38.0-1.fc33
     Downgraded: perl-B 1.80-461.module_f33+9996+d5a76496 -> 1.80-461.module_f33+9980+83f6a35a
                 perl-Class-Struct 0.66-461.module_f33+9996+d5a76496 -> 0.66-461.module_f33+9980+83f6a35a
                 perl-Encode 4:3.07-457.module_f33+9996+d5a76496 -> 4:3.07-457.module_f33+9980+83f6a35a
                 perl-Errno 1.30-461.module_f33+9996+d5a76496 -> 1.30-461.module_f33+9980+83f6a35a
                 perl-Fcntl 1.13-461.module_f33+9996+d5a76496 -> 1.13-461.module_f33+9980+83f6a35a
                 perl-File-Basename 2.85-461.module_f33+9996+d5a76496 -> 2.85-461.module_f33+9980+83f6a35a
                 perl-File-Path 2.17-2.module_f33+9996+d5a76496 -> 2.17-2.module_f33+9980+83f6a35a
                 perl-File-stat 1.09-461.module_f33+9996+d5a76496 -> 1.09-461.module_f33+9980+83f6a35a
                 perl-FileHandle 2.03-461.module_f33+9996+d5a76496 -> 2.03-461.module_f33+9980+83f6a35a
                 perl-Getopt-Long 1:2.52-1.module_f33+9996+d5a76496 -> 1:2.52-1.module_f33+9980+83f6a35a
                 perl-Getopt-Std 1.12-461.module_f33+9996+d5a76496 -> 1.12-461.module_f33+9980+83f6a35a
                 perl-IO 1.43-461.module_f33+9996+d5a76496 -> 1.43-461.module_f33+9980+83f6a35a
                 perl-IPC-Open3 1.21-461.module_f33+9996+d5a76496 -> 1.21-461.module_f33+9980+83f6a35a
                 perl-NDBM_File 1.15-461.module_f33+9996+d5a76496 -> 1.15-461.module_f33+9980+83f6a35a
                 perl-POSIX 1.94-461.module_f33+9996+d5a76496 -> 1.94-461.module_f33+9980+83f6a35a
                 perl-Pod-Usage 4:1.70-3.module_f33+9996+d5a76496 -> 4:1.70-3.module_f33+9980+83f6a35a
                 perl-SelectSaver 1.02-461.module_f33+9996+d5a76496 -> 1.02-461.module_f33+9980+83f6a35a
                 perl-Socket 4:2.030-2.module_f33+9996+d5a76496 -> 4:2.030-2.module_f33+9980+83f6a35a
                 perl-Symbol 1.08-461.module_f33+9996+d5a76496 -> 1.08-461.module_f33+9980+83f6a35a
                 perl-Time-Local 2:1.300-4.module_f33+9996+d5a76496 -> 2:1.300-4.module_f33+9980+83f6a35a
                 perl-if 0.60.800-461.module_f33+9996+d5a76496 -> 0.60.800-461.module_f33+9980+83f6a35a
                 perl-interpreter 4:5.32.0-461.module_f33+9996+d5a76496 -> 4:5.32.0-461.module_f33+9980+83f6a35a
                 perl-libs 4:5.32.0-461.module_f33+9996+d5a76496 -> 4:5.32.0-461.module_f33+9980+83f6a35a
                 perl-macros 4:5.32.0-461.module_f33+9996+d5a76496 -> 4:5.32.0-461.module_f33+9980+83f6a35a
                 perl-mro 1.23-461.module_f33+9996+d5a76496 -> 1.23-461.module_f33+9980+83f6a35a
                 perl-overload 1.31-461.module_f33+9996+d5a76496 -> 1.31-461.module_f33+9980+83f6a35a
                 perl-overloading 0.02-461.module_f33+9996+d5a76496 -> 0.02-461.module_f33+9980+83f6a35a
                 perl-subs 1.03-461.module_f33+9996+d5a76496 -> 1.03-461.module_f33+9980+83f6a35a
                 perl-vars 1.05-461.module_f33+9996+d5a76496 -> 1.05-461.module_f33+9980+83f6a35a
        Removed: fedora-repos-rawhide-33-0.11.noarch
                 fedora-repos-rawhide-modular-33-0.11.noarch
          Added: libtracker-sparql3-3.0.0-1.fc33.x86_64
                 tracker3-3.0.0-1.fc33.x86_64
                 tracker3-miners-3.0.0-2.fc33.x86_64

Neither podman nor toolbox show up on that list, so it cannot be toolbox or podman directly. It has to be some package on that list that's causing some issues.

@A6GibKm
Copy link

A6GibKm commented Sep 21, 2020

Well other things than packages might have changed, /etc for example might have .

@garrett
Copy link
Author

garrett commented Sep 21, 2020

@A6GibKm: Good point. Is there a way to diff /etc/ between versions of Silverblue? (I know how to diff between local changes to /etc/, but not SB's.)

@A6GibKm
Copy link

A6GibKm commented Sep 21, 2020

ostree admin config-diffallows you to compare /etc, but as far as I know it only does local changes, it does not compare different versions.

@garrett
Copy link
Author

garrett commented Sep 21, 2020

@A6GibKm: Yep. That's what I was talking about. This is within a VM with an unchanged /etc, so diffing between system and Silverblue's /etc is not useful. (Diffing between /etc might be. Although many of the /etc changes come from packages anyway.)

Meanwhile, I redirected env to a file for the system and toolbox in the working and broken states. There's no difference whatsoever in the toolbox container. And there's minimal difference (related to session) on the system.

Here's a unified diff of the system's env:

--- env-sys-working.txt	2020-09-21 12:56:12.920885043 +0200
+++ env-sys-broken.txt	2020-09-21 12:22:02.406835930 +0200
@@ -1,5 +1,5 @@
 SHELL=/bin/bash
-SESSION_MANAGER=local/unix:@/tmp/.ICE-unix/1464,unix/unix:/tmp/.ICE-unix/1464
+SESSION_MANAGER=local/unix:@/tmp/.ICE-unix/1478,unix/unix:/tmp/.ICE-unix/1478
 COLORTERM=truecolor
 HISTCONTROL=ignoredups
 XDG_MENU_PREFIX=gnome-
@@ -13,7 +13,7 @@
 LOGNAME=garrett
 XDG_SESSION_DESKTOP=gnome
 XDG_SESSION_TYPE=wayland
-XAUTHORITY=/run/user/1000/.mutter-Xwaylandauth.RN94Q0
+XAUTHORITY=/run/user/1000/.mutter-Xwaylandauth.4M3FR0
 GJS_DEBUG_TOPICS=JS ERROR;JS LOG
 GDM_LANG=en_US.UTF-8
 HOME=/var/home/garrett
@@ -23,21 +23,21 @@
 XDG_CURRENT_DESKTOP=GNOME
 VTE_VERSION=6003
 WAYLAND_DISPLAY=wayland-0
-GNOME_TERMINAL_SCREEN=/org/gnome/Terminal/screen/72bbb014_1201_4bb5_8d9f_92b981a8fb9c
-INVOCATION_ID=81fe0a9268ce4c879b1c15b9831f9eb1
-MANAGERPID=1367
+GNOME_TERMINAL_SCREEN=/org/gnome/Terminal/screen/70d7dee0_be52_4b18_b618_93ce33bb45b9
+INVOCATION_ID=2faea5011a614329921ff66d8420329d
+MANAGERPID=1374
 GJS_DEBUG_OUTPUT=stderr
 GNOME_SETUP_DISPLAY=:1
 XDG_SESSION_CLASS=user
 TERM=xterm-256color
 LESSOPEN=||/usr/bin/lesspipe.sh %s
 USER=garrett
-GNOME_TERMINAL_SERVICE=:1.97
+GNOME_TERMINAL_SERVICE=:1.91
 DISPLAY=:0
 SHLVL=1
 QT_IM_MODULE=ibus
 XDG_RUNTIME_DIR=/run/user/1000
-JOURNAL_STREAM=8:37189
+JOURNAL_STREAM=8:39001
 XDG_DATA_DIRS=/var/home/garrett/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share
 PATH=/var/home/garrett/.local/bin:/var/home/garrett/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin
 GDMSESSION=gnome

The only difference I see (aside from the session variances) is GNOME_TERMINAL_SERVICE going from 1.91 to 1.97... but really I doubt it's that.

@garrett
Copy link
Author

garrett commented Sep 21, 2020

Out of the list above, the following packages are the ones I'd guess are most likely:

             gdm 1:3.37.90-1.fc33 -> 1:3.38.0-1.fc33
             gnome-session 3.37.0-1.fc33 -> 3.38.0-1.fc33
             gnome-session-wayland-session 3.37.0-1.fc33 -> 3.38.0-1.fc33
             gnome-session-xsession 3.37.0-1.fc33 -> 3.38.0-1.fc33
             gnome-settings-daemon 3.37.92-1.fc33 -> 3.38.0-1.fc33
             gnome-shell 3.37.91-4.fc33 -> 3.38.0-1.fc33
             mutter 3.37.91-1.fc33 -> 3.38.0-1.fc33
             selinux-policy 3.14.6-25.fc33 -> 3.14.6-26.fc33
             selinux-policy-targeted 3.14.6-25.fc33 -> 3.14.6-26.fc33
             systemd 246.4-1.fc33 -> 246.4-2.fc33
             systemd-libs 246.4-1.fc33 -> 246.4-2.fc33

And of these, I'd guess mutter, gnome-shell, or gnome-session* are probably the most likely of the bunch to look into first, as this issue deals with X & Wayland issues.

(I wonder if @kalev might be able to isolate the issue further?)

@kalev
Copy link

kalev commented Sep 21, 2020

Sounds like XWayland not working. I'll ask the gnome-shell people to see if they know what's up.

@TheOneandOnlyJakfrost
Copy link

TheOneandOnlyJakfrost commented Sep 22, 2020

I am running Version: 33.20200921.n.0 (2020-09-21T08:05:26Z) Silverblue. I have a Toolbox container made when F33 was rawhide. I installed qutebrowser in it (edit: which pulled in a bunch of deps) and had to also install qt5-qtwayland.x86_64 plugin to get it to run, but it runs. I am logged into my Gnome session as default Wayland.
Edit: gvim does not work in toolbox though

@HarryMichal HarryMichal added this to the Release 0.1.0 milestone Sep 22, 2020
@HarryMichal
Copy link
Member

Snippet from #silverblue on Freenode:

<mclasen> rishi`: hey, around ?
<mclasen> with gnome 3.38, x apps stopped working in toolboxes
<mclasen> since we make xwayland not use the abstract socket anymore
<mclasen> so not it uses the X socket in its traditional location, /tmp/
<mclasen> which ... is empty in my toolboxes

Since v0.0.94 Toolbox mounts a tmpfs to /tmp but as mclasen says, it is empty and does not hold the sockets.

I'll try to play a bit with socket but I guess this is more of a question for @debarshiray.

@HarryMichal HarryMichal added this to Needs triage in Priority Board via automation Sep 22, 2020
@HarryMichal HarryMichal moved this from Needs triage to High priority in Priority Board Sep 22, 2020
@boydkelly
Copy link

boydkelly commented Sep 22, 2020 via email

@TheOneandOnlyJakfrost
Copy link

You will note my edit above about gvim not working though. I understand XWayland is likely the issue here.

@HarryMichal
Copy link
Member

HarryMichal commented Sep 22, 2020

I have a very rough solution for this issue in #564. Comments are very welcome. In general, I'd like to avoid cherry-picking of files as much as possible and I'm wondering whether this wish can be fulfilled here or not.

@tigert
Copy link

tigert commented Sep 29, 2020

xeyes does not work either, I get just "cannot open display: :0"

@tigert
Copy link

tigert commented Sep 29, 2020

I have a very rough solution for this issue in #564. Comments are very welcome. In general, I'd like to avoid cherry-picking of files as much as possible and I'm wondering whether this wish can be fulfilled here or not.

I can confirm that running:

$ sudo ln -s /run/host/tmp/.X11-unix /tmp/

does indeed make the apps run.

debarshiray added a commit to debarshiray/toolbox that referenced this issue Oct 1, 2020
Some users tend to put random throwaway files in /tmp, so having that
location shared across the host operating system and toolbox containers
makes it a more pleasant user experience.

One nice side-effect of this is that it also makes the local file
system socket in /tmp/.X11-unix used by X11 clients available to
toolbox containers. So far, X11 clients inside toolbox containers used
the local abstract socket. However, since GNOME 3.38, Mutter no longer
listens on the abstract socket and only uses the file system socket to
start the Xwayland server [1]. Therefore, this makes it possible to
run X11 clients inside toolbox containers running on a GNOME 3.38 host.

[1] Mutter commit e2123768f635ee89
    https://gitlab.gnome.org/GNOME/mutter/-/issues/1289

containers#562
@debarshiray
Copy link
Member

This should be fixed by #570

Priority Board automation moved this from High priority to Closed Oct 1, 2020
@debarshiray debarshiray changed the title F33 Silverblue: graphical apps no longer work in toolbox containers X11 applications no longer work in toolbox containers with GNOME 3.38 Oct 1, 2020
@debarshiray debarshiray changed the title X11 applications no longer work in toolbox containers with GNOME 3.38 X11 applications no longer work with GNOME 3.38 Oct 1, 2020
likan999 pushed a commit to likan999/ppa-toolbox that referenced this issue Oct 30, 2020
Some users tend to put random throwaway files in /tmp, so having that
location shared across the host operating system and toolbox containers
makes it a more pleasant user experience.

One nice side-effect of this is that it also makes the local file
system socket in /tmp/.X11-unix used by X11 clients available to
toolbox containers. So far, X11 clients inside toolbox containers used
the local abstract socket. However, since GNOME 3.38, Mutter no longer
listens on the abstract socket and only uses the file system socket to
start the Xwayland server [1]. Therefore, this makes it possible to
run X11 clients inside toolbox containers running on a GNOME 3.38 host.

[1] Mutter commit e2123768f635ee89
    https://gitlab.gnome.org/GNOME/mutter/-/issues/1289

containers#562
@returntrip
Copy link

I am running Version: 33.20200921.n.0 (2020-09-21T08:05:26Z) Silverblue. I have a Toolbox container made when F33 was rawhide. I installed qutebrowser in it (edit: which pulled in a bunch of deps) and had to also install qt5-qtwayland.x86_64 plugin to get it to run, but it runs. I am logged into my Gnome session as default Wayland.
Edit: gvim does not work in toolbox though

Re qt5-qtwayland missing dep: https://src.fedoraproject.org/rpms/qutebrowser/pull-request/10

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1. Bug Something isn't working
Projects
No open projects
Priority Board
  
Closed
Development

Successfully merging a pull request may close this issue.

9 participants