First I apologize for doing only Fedora. This isn’t a dis-respect to other distros, neither means that Fedora is better from Arch or Ubuntu or Gentoo or whatever else. I may write a post why I ended up to use only Fedora, but for now unfortunately, I’m not sure that the things I will try to explain will work for Arch and Ubuntu-Gnome users, which I think are the majority.
gSoftware brings significant changes in Fedora 20 (& beyond), and changes the way that system updates internally, it changes the way that end-users update software, and even changes the way that application developers publish their software.
One of the technical goals of gSoftware and his main developer, Richard Hughes, is to create a high-level Framework that will work distro-agnostic. When Canonical launched Software Center (USC), it was (and it still is more than ever) an Ubuntu-specific application. Other communities couldn’t simply port USC to their distro, either for technical or licences reasons -or both.
None really blamed Canonical for that, because it is perfectly understandable. It is hard to write “generic” applications, applications that will run everywhere, as this may reduce quality for your own platform, while at the same time it will acquire more resources.
gSoftware even if it is designed to run in any distro, it prioritizes Fedora and it treats Fedora as a first client citizen, and this is something that I could say for the whole Gnome. This is my personal thought, and it doesn’t deflect GNOME’s position in any case. At some point, I will try to collect some opinions from developers around that..
Anyways, Fedora and gSoftware!
Fedora 20 & GNOME Software
Note that I am not reviewing gSoftware, but I am just point out some kinda hidden things.
gSoftware is the only pre-installed UI for installing software under Fedora 20. gSoftware makes updating simple.. maybe too simple. By “update”, I both mean updating an existing software to a newer version, or installing new packages.
When we have a set of updates coming, Shell send us a notification and ask us if we want to update.
View button opens gSoftware, which I have already on anyway. Notice that gSoftware lets me know that I only have 9 updates, when in reality there are than 30, plus 3 removals. This is due a grouping mechanism, that categorize various packages into parent-levels.
gSoftware list acts like a tree and we can navigate into 2 levels. First level displays all the children of the parent category, and in second level each child shows us more info about itself. Fantastic work on this, it will satisfy both new-comers and more experienced users.
On the bellow figure something strange is happening. Yum shows me that there are updates, while gSoftware doesn’t.
That’s because gSoftware notify for updates only after has downloading them silently on background. gSoftware uses idle bandwidth to download packages, but whats the definition of idle bandwidth? When someone plays FPS, the last thing he wants, is an updating on background.
In any case, the user should be able to control auto-updates and even disable them. gSofwtare at least in this version doesn’t permit that -and actually doesn’t give any option at all.
As a matter of fact, gSoftware doesn’t handle downloading, this is a job of gnome-settings-deamon.
Hack gSofwtare Options through GSettings
In order to get some control over how gSoftware works, we will need to install Dconf-Editor, the front-end of GSettings. In my opinion Dconf-Editor is the first tool that we have to get in any Gnome installation, as it provides lots of useful options for every aspect of Gnome.
Get it either from gSoftware or from terminal.
$ sudo yum install dconf-editor
Navigate to org.gnome.settings-daemon.plugins.updates schema.
GSettings code has been changed for F21/Rawhide, so this it will be deprecated
In this section you will find anything that you need. You can disable auto-download, you can change the updating- time and you can disable auto-updates. Frequency of updates is set to 86400 seconds, that’s 24h. This is a day, I think ;)
This is a very self-explanatory section, so I won’t go though all the options. What I will highlight here, is that if you disable the auto-download-updates key, you will never get an update notification from gSoftware, because it only notifies when has downloaded the updates. Of course you can disable the whole plugin, with the 1st option.
I did an extensive testing of those options, and I needed many times to manually set last-updates-notification key, to my current date time-stamp. To get your system time-stamp you can use the date command.
$ date +%s
One of the reasons that took me a long time to test this and drive me into confusion was because GSettings (actually Dconf) got bugged. Hopefully, GSettings provides a monitor option that lets you know when a key is changing, so I managed to track it.
As a side note if you want to restart gnome-settings-daemon you have two choices.
$ /usr/libexec/gnome-settings-daemon -r
Or Kill it
$ killall gnome-settings-daemon
Kill will actually restart the deamon because is an auto-restart service. As an extra info you can check on Desktop file.
$ gedit /etc/xdg/autostart/gnome-settings-daemon.desktop
... Exec=/usr/libexec/gnome-settings-daemon-localeexec OnlyShowIn=GNOME; NoDisplay=true X-GNOME-Autostart-Phase=Initialization X-GNOME-Autostart-Notify=true X-GNOME-AutoRestart=true #You can set this to false, to disable auto-restart
Installing Packages on gSoftware
Right now, gSoftware includes all available applications from Fedora Repos, but not single packages like libraries. That’s not going to change in the future as this is by-design decision. So the only available option to search and install a library in Fedora 20 is the command line.
I would prefer to have an advanced mode in gSoftware, that it would let me to install single libraries. As an alternative we can use the old way.
You can install them by:
$ sudo yum install gnome-packagekit-installer gnome-packagekit-updater
Those will work fine as everything goes through PackageKit and so works together, but I reckon you to avoid them, since the command line does the job much better.
gSoftware Next Day
gSoftware is progressing very nicely and very fast. You can see some of the new things that have landed, and the truth is that gSoftware 3.10 was meant to be a Tech Preview, while the stable release is scheduled for GNOME 3.12. I am not quite sure why Fedora 20 ships it as the *only way* to install and update software.
There are some more things I want to talk about, like how fast this thing is, but I guess I would do that on another post.
Screenshot Of The Day
Honestly, I didn’t set this up!
Yum gives 31 updates, Dnf gives 15 updates, PackageKit gives me 50 updates, and gSoftware insist that everything is up to date.
Yeap, Linux is all about choice ;)