Gnome software & rpm-ostree: when will humans be able to install rpm apps?

Hi! I’ve been using SB for years and I love it! System rollback already saved my day a couple of times. So I started a test drive to use It for my company.

the user story

1st day. A new functional person with limited Linux experience gets her new laptop with silverblue installed. Follows welcome screens. All is OK. Enables private software, creates her account, logs into the system. Then she asks: how do I install Google Chrome?

I answered: you enabled private software right? Just open software, find Chrome and install it.

As you can imagine, it didn’t work. No rpm candidates show up in gnome software on SB. At this point she googled for it and managed to download the rpm, but again no ui to install. She googled for instructions and found them… for normal fedora. Again, no yum or dnf.

I had to explain how to use rpm-ostree from the terminal. Sad conclusion: I’ll have to install normal fedora on her laptop. :expressionless:

the ideas

Silverblue is quite stable these days, and it’s an amazing piece of technology. But it’s geek land still. :nerd_face:

Gotta change that!

  1. It needs some ui to let users install apps from yum repos.
  2. Same, but for an rpm downloaded from the internet, like when downloading Chrome or zoom from the official site.
  3. Somehow dnf/yum should be available. The commands could be some wrappers around rpm-ostree, or dnf plug-ins, that advice users to reboot after each operation. The goal is that somebody following instructions for normal fedora can actually get stuff done.
  4. Assuming you can do more than one operation before reboot, make these act on the latest ostree deployment, even if it’s not the one currently mounted. The goal is that, after reboot, all operations are applied.

Regarding points 1 and 2, I don’t think it would be too hard. Just let users install and, after done, instead of the “launch” button, display: “reboot to use”, which opens reboot dialog. Also, ongoing operations could be aborted if a new one lands, to avoid building an intermediate deployment that will never be used.

1 Like