my problem: because my Wi-Fi Network establishes internet connection after start of zypper (or whatever starts / makes system updates), i have a little bit annoying popup saying “Update error, can’t connect to repository …” and then, in 1 sec., a popup that tells me that Wi-Fi connected successfully. So i need to manually invoke Software Updates in Tray and start it again.
So, is there a way to tell Software Updates to wait before Wi-Fi connects to internet? BTW, this only happens on Wi-Fi, per wire everything is ok since internet comes fast and before Updates looks for it.
Thanks in advance.
ps.
I’m using openSUSE Leap 15.0 with the latest updates, double core Intel Machine.
I do not know of a way of delaying the startup of the update applet. However, you can probably solve this problem another way.
I will assume that you are using KDE – because somehow this problem mostly arises with KDE.
Edit your WiFi connection in the NetworkManager applet. Go to the security tab (where you would enter the network key).
There’s a choice there (if I recall, it requires clicking the icon to that looks like a diskette).
You get to choose between:
Save the network key encrypted (this saves in “kwallet”);
Save unencrypted to a file (it’s a file that nobody else can read without the root password
Prompt for the key each time.
You are probably using the first of those choices (it’s the default for KDE). Switch to the second choice.
Then go to the general tab (I think that’s the name, and it is probably the left tab). Set the connection to be shared with all users. Save the changes (this will require root password).
After you have made those changes, you should find out that the WiFi connects before you login. And the update applet should now work for you.
An alternative option – which I use – is to disable the update applet in tray settings. And then update with a root command line (konsole as superuser), where you can run:
zypper up
to update the system.
I prefer that, because I prefer to update just before rebooting rather than just after booting.
I have noticed that there is no way to tell zypper to start after … But for me to starting it manually (zypper up) equals clicking in the applet.
May be one could write a little script to re-start zypper up after network connect? - but without the need to enter root password, which means more clicking?
Or this is a task for software developers could be?
Try the suggested changes to your WiFi connection.
The reason this problem comes up in KDE, but not in Gnome, XFCE or LXQt, is that those other desktops already default to saving the password in a file (known to NetworkManager) and sharing the connection with others. It’s the KDE default of have a private connection with key saved in “kwallet” that causes the problem you are seeing.
I have noticed that there is no way to tell zypper to start after …
As Henk has already mentioned – “zypper” is the command line tool, and “packagekit” is the background daemon that supports the update applet. Both use “libzypp” which does most of the work.
If you make the suggested changes to your WiFi connection, then it will all work without further root password requests (after the setup is completed). It will work just the way that you want it.
FWIW, I confirm all the above. And, as a second remark: In the past I have been looking for a KDE default, which might change to behaviour to like done on GNOME e.a., but never found a way without attacking the sources ( which I don’t since I want to stick to stock install as much as possible ).
I haven’t made it clear, that I do want to engage internet connectivity only by one user, it’s a default configuration. So I can’t grant these rights to all users.
Also, by default, I don’t use a wallet, prefer to memorize passwords. I have already had 2nd option in storing Wi-Fi password unencrypted.
So, under a hood, what is the problem with implementing a delay, to look for internet connection, by Package Manager?
May be a little button “Restart checking for updates” in the popup saying “can’t find download.opensuse.org”?
For me, sharing with other users means sharing with myself. The only other users are accounts that I setup for a special purpose or to test something.
Also, by default, I don’t use a wallet, prefer to memorize passwords. I have already had 2nd option in storing Wi-Fi password unencrypted.
In that case, after you get the error, you could try logout and login again. I think your connection stays up for a while (a few minutes) unless somebody else logs in. So on your next login, you would already be connected by the time that the update applet gets to work.
So, under a hood, what is the problem with implementing a delay, to look for internet connection, by Package Manager?
That gets into the internals of KDE. Maybe best to ask at “kde.org”.
May be a little button “Restart checking for updates” in the popup saying “can’t find download.opensuse.org”?
I think there’s already a button “Check for updates”. Have you tried that?
I haven’t tried it recently. But you can probably get that working as follows:
(1) disable the update applet.
(2) run “nm-applet” as an auto-start application. You might have to install the Gnome-NetworkManager software for that to be available.
But you have to do that before you setup your WiFi network, because it’s the initial setup, rather than the continued use, which matters here.
For me it is simple. I do not want to have an applet in the end-user environment (even when I am by incident that end-user at a certain moment in time), to meddle with system things like updating system software. That is something to be done by the system manager.
As system manager I have a policy on how frequent and in what way to check if there are updates, to decide which one of them I want and to install them.
Thus, I have not installed PackageManager and the applet.
Thanks, I’ll try to ask at kde.org.
Yes, I have tried a button “Check for updates”. But if you were more attentive, I’ve meant the popup, that comes before the network one - ie not regular Software Updates one (with that button), but the one that says “can’t find download.opensuse.org” - i proposed to put that button, say, “Recheck for updates” here.
Unchecked System Tray > Configure System Tray > Software Updates and enabled background operation:
erlangen:~ # systemctl status packagekit-background.timer
● packagekit-background.timer - Systemd timer to update the system daily with PackageKit
Loaded: loaded (/usr/lib/systemd/system/packagekit-background.timer; enabled; vendor preset: disabled)
Active: active (waiting) since Thu 2019-03-28 05:13:46 CET; 1 day 1h ago
Trigger: Sat 2019-03-30 00:00:00 CET; 16h left
Mar 28 05:13:46 erlangen systemd[1]: Started Systemd timer to update the system daily with PackageKit.
erlangen:~ #
No annoyances encountered:
erlangen:~ # journalctl -b -u 'packagekit*' -o short-monotonic
-- Logs begin at Mon 2019-03-18 17:54:36 CET, end at Fri 2019-03-29 07:09:59 CET. --
5.130629] erlangen systemd[1]: Started Systemd timer to update the system daily with PackageKit.
[40494.758202] erlangen systemd[1]: Started Script to update the system with PackageKit.
[40495.822392] erlangen systemd[1]: Starting PackageKit Daemon...
[40495.826206] erlangen PackageKit[18206]: daemon start
[40495.892496] erlangen systemd[1]: Started PackageKit Daemon.
[40513.278871] erlangen PackageKit[18206]: get-updates transaction /1_cdababeb from uid 0 finished with success after 17378ms
[40513.281221] erlangen systemd[1]: packagekit-background.service: Succeeded.
[40531.002889] erlangen PackageKit[18206]: daemon quit
[40531.027507] erlangen systemd[1]: packagekit.service: Main process exited, code=killed, status=15/TERM
[40531.031410] erlangen systemd[1]: packagekit.service: Succeeded.
erlangen:~ #