Hi there, I’m pretty new to Fedora, and like it so far. But after updating my system today, several apps are not showing correctly anymore. Basically all that shows is the background color, all the texts and images and buttons are missing.
I would try to revert the update with dnf history undo or something, but the gnome-terminal is also just a gray window.
Does anyone have an idea what I could do?
In these screenshots you can see how gnome-terminal and Files does look.
Since your terminal isn’t working in the graphical environment, you’ll need to use a different method to run commands. I don’t use GNOME anymore so take this with a grain of salt.
Since you can’t open a functioning terminal emulator, you’ll need to switch to a TTY, which is a non-graphical command line interface. Press CTRL+ALT+F3 (or F4, F5, F6).
You will see a text-based login prompt. Enter your username and password to log in.
You can now run the rollback commands from here.
To return to your graphical desktop environment later, you can press CTRL+ALT+F2. If that doesn’t work, cycle through the function keys (F1,F3, etc) until you find your GNOME session.
Now that you’re in a TTY, you’ll need to get a list of your dnf transactions. Type ‘dnf history list | less’ and scroll through until you find the transaction number of the problematic update, it will likely be near the top. Press “q” to exit less, which is the command we used to make it easier to navigate the long list in the non-graphical environment.
Now, you have 2 options:
Option A: Undo a specific transaction.
If you can pinpoint the specific transaction that broke your applications, use this. ‘sudo dnf history undo <ID#>’ (replace <ID#> with your specific transaction number)
Option B: Rollback to a previous state.
This one is more comprehensive, it will undo the target transaction and all transactions that were performed after it. This will restore your system to the exact state it was in at that point in time.
For this command, you’ll need the ID number of the last known good state, i.e., the transaction that occurred right before the one that caused the problem.
‘sudo dnf history rollback <ID#_before_the_bad_update>’
After the process is complete, you can try rebooting your system (recommended) by typing ‘sudo reboot now’ or switch back to your GNOME session (CTRL+ALT+F2 or whatever) to see if the issue is resolved.
I sincerely hope my advice doesn’t brick your system, though it very well might. (kidding! kidding! …mostly.) Best of luck to you!
Alright, getting into the virtual terminal or TTY did work.
Both sudo dnf history undo and sudo dnf history rollback don’t seem to work though, it shows a lot of errors:
A bunch of lines saying
Can’t perform install action, no match for: insert program name
and below that:
Problem: problem with installed package
installed package gnome-shell-40.2-1.fc42.x86_64 requires pipwewire-gstreamer(x86-64), but none of the providers can be installed
package gnome-shell-40.2-1.fc42.x86_64 from update requires pipwewire-gstreamer(x86-64), but none of the providers can be installed
package gnome-shell-40.2-1.fc42.x86_64 from fedora requires pipwewire-gstreamer(x86-64), but none of the providers can be installed
conflicting requests
This morning I updated through DNF. Yesterday evening there was one of those updates that needs a restart though, I think those are done by gnome-software. Not sure which of the two updates broke the system.
My guess is you cannot use DNF to roll back updates that have been performed by Gnome Software.
I cannot help with the broken applications since I don’t have any idea of what the issue can be but I would suggest two things for the future:
disable Gnome Software so it does not load at boot and does not want to apply updates. You can keep it in the “app grid” in case you need to open it manually.
always use DNF and pay attention to what the proposed update are. In doubt, DO NOT apply the update, wait and make sure it is safe. Always check DNF output before dismissing the terminal window.
P.S. DNF does not update flatpaks. For those you must use the flatpak tool from the terminal.
you should be able to see the transaction with dnf4 history list / info
Often the required software to roll back is not available anymore in updates repository. You need to install updates-archive repository
I recommend to disable this repo and enable it only when required.
For now, I have downgraded mesa with sudo dnf downgrade 'mesa*' --refresh, which has removed the problem. As discussed above, you need to enter a TTY, run this command, and then sudo reboot.
P.S. Despite the appearance of the first link above, I am not a bot