gardotd426/regolith-de

Some more dependencies needed for gnome-control-center to not crash

Closed this issue · 10 comments

I didn't have the full Gnome installed on my computer when I installed regolith-full with yay -S regolith-full. One thing that does not work out of the box is the Gnome control center (shift-meta-c). It seems at least a couple of more dependencies are needed for it to work.

First of all, it starts for the first time. But when I change to some tab (I think "Multitasking"), it crashes. Runinng it from terminal shows what the problem is:

Trace/breakpoint trap (core dumped)

Installing the mutter package fixes this, but it still doesn't start:

Trace/breakpoint trap (core dumped)

Installing app-switcher fixed this and allows gnome-control-center again to start.

Might well be that the right thing would be some depedency on a larger gnome metapackage that pulls these parts as dependencies instead of these individual packages?

I'm confused. app-switcher? What is that? There's no package in the Arch repositories or the AUR called app-switcher. Mutter should definitely not be needed, as Regolith doesn't use mutter. Could you explain what you mean by app-switcher?

@sliedes please provide more information, so I can either correct this issue and close it, or close it as not a bug.

Sorry, I seem to have been very confused myself when writing this. For some reason, everything except the "Trace/breakpoint trap" line also got eaten from my pasted error messages. Huh. I swear I pasted the full error messages. I'd suspect I was drunk, but I wasn't.

I know that Regolith does not need mutter. Nevertheless, regolith-i3 depends on gnome-control-center, and without mutter installed gnome-control-center crashes when I choose the "Multitasking" item, and after that fails to start (apparently because it remembers the last tab activated). Nevertheless, I'd say that the right solution in a case like this would be for gnome-control-center to depend on mutter.

It took me a while to figure out what I meant by app-switcher. So, here's hopefully a better description of what happens:

  1. Do not have mutter installed.
  2. Press meta-C in Regolith to start gnome-control-center.
  3. From the left side panel, choose Multitasking.

Now, gnome-control-center crashes. If run from a terminal, this is the output:

$ gnome-control-center 

(gnome-control-center:2611140): cc-wwan-panel-WARNING **: 21:34:36.567: Error connecting to ModemManager: Error calling StartServiceByName for org.freedesktop.ModemManager1: Unit dbus-org.freedesktop.ModemManager1.service not found.

(gnome-control-center:2611140): GLib-GIO-ERROR **: 21:34:36.581: Settings schema 'org.gnome.mutter' is not installed
Trace/breakpoint trap (core dumped)

Trying to start gnome-control-center again makes it crash immediately, since it remembers that the last selected item was Multitasking.

Installing the mutter package changes the error message, but it still crashes (and this is apparently where I got the app-switcher from):

$ gnome-control-center 

(gnome-control-center:2615967): cc-wwan-panel-WARNING **: 21:37:09.730: Error connecting to ModemManager: Error calling StartServiceByName for org.freedesktop.ModemManager1: Unit dbus-org.freedesktop.ModemManager1.service not found.

(gnome-control-center:2615967): GLib-GIO-ERROR **: 21:37:09.746: Settings schema 'org.gnome.shell.app-switcher' is not installed
Trace/breakpoint trap (core dumped)

Installing the gnome-shell package allows gnome-control-center to work again.

So, in some sense it'd probably make most sense to either depend on those packages or not have meta-c start gnome-control-center. Yet still I think the sanest solution would be if the gnome-control-center package (either did not crash in this case or) depended on mutter and gnome-shell.

Sorry again :D

Okay, so I've done some research, and here's the thing. Regolith is an Ubuntu-based distribution, and Ubuntu is still on GNOME 3.38, it hasn't moved to the 40 series yet, but will be moving to 41 or 42 with 22.04. The multitasking tab isn't present on 3.38, so that's why Regolith itself hasn't noticed the issue.

But the thing is, you have no reason to click on Multitasking. The Multitasking tab is exclusively a set of options for the GNOME DE, specifically gnome-shell. Regolith does not use gnome-shell, so nothing in Multitasking is of any use to you. So I'm not sure why you would need to click on it.

I'm hesitant to add gnome-shell as a dependency, as it would also add mutter as a dependency, and that kind of defeats a lot of the purpose, users shouldn't have to install GNOME DE in order to use Regolith. I've contacted Ken (Regolith's creator) on our Slack channel where we discuss the effort to make Regolith DE more distro-agnostic, to see what he thinks, but right now there's not a lot I can think of, other than:

  • Try and find a way to either fork or modify gnome-control-center to not display the Multitasking tab when gnome-shell isn't running, since it has zero purpose otherwise.
  • File a request or bug report upstream with GNOME to see if they would be willing to modify gnome-control-center to check for gnome-shell before displaying the Multitasking tab.
  • Just bite the bullet and add gnome-shell and mutter as dependencies (this is the least desirable option)
  • Do none of those things, and add a first time set up or warning that the Multitasking tab is for GNOME use only, and is not for use with Regolith, because it's specific to gnome-shell.

I'm not prepared to add those dependencies to the repo package as of right now. I'm tempted to close this as "Not our bug," but I'm going to hold off on that for now, because I would like to decide on a solution with Ken before closing this. However, be aware that the Multitasking tab is not for you if you're using Regolith, and you have no reason to click on it. So, I would recommend logging into regolith, installing gnome-shell, hitting Super+C to bring up the control center, selecting another tab, quitting the control center window, then removing gnome-shell and mutter. Then just don't click on the Multitasking tab, because the Multitasking tab again, has absolutely zero effect on Regolith, it doesn't do anything for Regolith, it's just completely useless and irrelevant to Regolith users even IF gnome-shell is installed. Basically, there's nothing there for you.

Hopefully I've explained this well enough, and I appreciate you giving me the heads up, as I wouldn't have found it otherwise because again, I would never have any reason to click the Multitasking tab. But as I told Ken, users are going to click on it, that's just what regular users do, if they see a tab they're going to click on it to see what it offers, so a solution does need to be found.

Ok, thanks for the research. :) This is good enough for me. Maybe the devious thing about this is that it won't be obvious at all for users why their meta-c doesn't do anything (there's no visual indication of the crash, and all the output goes in stderr). But perhaps people who use tiling window managers will be proficient enough to do a web search for something like "Why doesn't meta-c do anything in Regolith".

Well again, Super+C does work, it only doesn't work if you've erroneously clicked on the Multitasking tab in the control center previously. Now, I agree with you that some people will click on it thinking that it might be relevant for Regolith when it's not, and so the problem needs to be fixed, but I'm just saying in the meantime, you have a way to get gnome control center back.

Had the same issue where I was no longer able to launch the control center after clicking on the Multitasking tab. Rather than installing the gnome-shell, I was able to reset the last remembered panel using gsettings

gsettings reset org.gnome.Settings last-panel

I saw another issue which was probably related to this issue, but the schema they used was different from mine (org.gnome.ControlCenter in their case, this is also the same schema on another pop! os machine of mine) and I'm unsure why it's different

Same issue here, had to install mutter and gnome-shell to be able to run the gnome-control-center. Some people like me install this package on a clean installation of Arch/Arco with no other DE installed, so it would be ideal to have all the dependencies included.

Well the 2.0 update gets rid of gnome control center and I believe all gnome shell components and adds new custom tools created by Ken like regolith-control-center. I'm working on the 2.0 update at the moment but it's effectively a complete rewrite of the DE and its components from the ground up, so it's taking me a while since I'm the only maintainer for Regolith on Arch (and it's apparently now the official port, at least Ken added me to the official Regolith Organization team, so I have to get it right).

That said, I will obviously add the dependencies. Thing is, gnome-control-center used to pull in gnome-shell which pulled in mutter, but I guess that was changed. I'll fix it ASAP for the current 1.6 version that's in the AUR.

Updated dependencies in both AUR and here. Closing.

Note: As far as users are concerned, this repository is for exactly what @Arrowsome and @sliedes are doing: reporting issues. It is NOT for installing regolith-de. Only ever install Regolith from the AUR. Also, only ever install from the master branch. I have a 2.0 branch here to track my changes for the update, but trying to use it before it's ready will fuck your day up.