-
-
Notifications
You must be signed in to change notification settings - Fork 50
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
Graphical Package Manager Support #6310
Comments
Crossposting here a preliminary "investigation" I did for the implications of enabling internet access to the fedora graphical software installer. And I'm sure this extends to other distro's installers that are more usable a than simple package manager command wrapper. Potential user-related dangersUpdating to fedora-33 via "Software application"As you can see on the picture bellow, there is an option to upgrade from fedora-32. After testing a bit it seems the "restart and update" button gets stuck which prevents the user from completing the potentially problematic action. But this can lead to user confusion as the software didn't perform what was expected by the user. User starts doing internet-related tasks on TemplateVM
Because in order to make this work, one has to enable internet access, it may be possible the user starts using stuff like a web browser on the template VM, which defaults their entire purpose. Opening the browser by mistakeOn the templateVMs we want to minimise as much as possible running software. And the browser is probably the most complex software that could be ran. When visiting a particular piece of software's installation page, the interface present two buttons [website] and [Donate] which when clicked will open the browser. Making it simple to enable third-party reposThe software center makes it extremely easy to enable third-party repositories. Which may not be desireable for the user from the security standpoint. Potential technical risksIncrease attack surface (complex code)Running a complex GUI application, can increase the attack surface. Increase attack surface (internet access)I don't know exactly how the software center for fedora works under the hood, but I can imagine there is much less scrutiny as to how the protocol works. For typical package mangers, the protocol is probably well defined and it can even work with mirrors, but with the software center, I can imagine it only fetches the images from one source, for example |
Technical reason why it doesn't work is #3815 |
I can confirm For both of these, the user experience in not great, but I believe it's better than a terminal for novice users. Ideally, there would be a program that is package manager agnostic so that some consistency across different distributions. Does anyone know of such a package manager? @ninavizz you may have some thoughts on this. |
If this happens at all, I strongly recommend starting with one of these simple dnf/apt wrappers. In case the rationale is not already obvious, I'll make it explicit:
|
I second @andrewdavidwong on this. |
Just linking here to a user detailing this exact issue/frustration: https://qubes-os.discourse.group/t/new-user-feedback-running-into-walls/2784/3 |
If it is not a significant effort to implement something that is "good enough" that can give us a baseline to begin user research from, while also unblocking less technical users, I would also see this as a total win. |
FYI, @micahflee has just published "Qube Apps: a Flatpak-based app store for each qube", which looks very cool and might be of interest to folks here. |
I got GNOME software to work, it's a bit hacky though but I let you decide if it's something that could be shipped by default. GNOME Software needs to have a default route to be happy -_-
Attaching a network interface to the template but denying everything in the firewall also works, but this is bad compared to this solution. |
I opened an issue upstream https://gitlab.gnome.org/GNOME/gnome-software/-/issues/2336 |
Does it use the updates proxy then? In the past it did not: #3815 (comment) |
Yes, of course. Packages are downloaded on lo0 by reaching http://127.0.0.1:8082 And anyway, the packages are pulled without the template being connected to the internet, so it can't get them by any mean but the proxy The dummy interface is just thin air, it doesn't lead anywhere, doesn't connect to anything. I wonder if I can make a default route using 127.0.0.1, that would be even "better". |
Using |
Incredible find. If this doesn't have unintended consequences, I would advocate for this to be put on 4.2. @marmarta tagging you so this is on your radar. Having gnome software working would be such a quality-of-life improvement, especially with such a simple fix. Currently the docs instruct the users to temporarily connect the template to the internet. |
A cleaner fix was provided in this gnome-software issue https://gitlab.gnome.org/GNOME/gnome-software/-/issues/2330#note_1842682
|
This indeed helps a bit, application gets installed. But at the end I got And also, "updates" tab flashes every second, and in the background I see it queries PackageKit for available updates (this works), but also it complains about "Failed to get cache filename for emacs-filesystem". And Anyway, since this is clearly an improvement, I'll add setting this variable. |
Set GIO_USE_NETWORK_MONITOR=base variable to avoid gnome-software refusing any actual action just because it thinks online repositories are unreachable (they are, via updates proxy). This doesn't solve all the issues, but at least makes it possible to install applications. QubesOS/qubes-issues#6310
The problem you're addressing (if any)
The fedora template "Software" graphical installer does not work out of the box, despite being one of the default template shortcuts. This leads to terrible advice like enabling internet access to the TemplateVM.
The current way of installing software is through the terminal, which constitutes a terrible user experience, especially for someone just coming from a windows background.
Describe the solution you'd like
To solve this problem, a graphical software installer like fedora's "software" or debian's synapse or other alternative ones and allow them to connect to the internet through the updates proxy, for exmaple.
Where is the value to a user, and who might that user be?
Software installation is something users can't do without. And for people without IT or linux background it's a big usability challenge they will have to overcome. Even if later on they end up learning to use the terminal, it is important that they can do basic stuff like installing software, without having to learn to use the terminal.
Describe alternatives you've considered
Fedora's software, debian's synapse. But there are probably many other software "stores". But there is a problem with fedora's "software" program in the sense that is is not just a wrapper to DNF. It gets things like images and software description probably from redhat's servers, I would imagine.
Additional context
Discussion stemmed from the forum: GUI-only software installation: Thoughts? (fedora)
The following picture is what the user sees if they open the default "software" application on the fedora template. As you can see, it fails to fetch software because it can't reach the internet.
On the picture bellow you can see what the user sees after enabling internet connection on the TemplateVM
Contrast this with the daunting experience of opening a terminal for the first time and typing commands.
Relevant documentation you've consulted
Related, non-duplicate issues
The text was updated successfully, but these errors were encountered: