Hi everybody,
I just tried to run Back In Time with its Qt frontend on my Manjaro Unstable notebook with Gnome Wayland DE.
While at first everything looks decent and this dialog occurs, asking me if i want to import an existing profile (which i don’t have), as soon as i press “Nein” the application crashes with the following error:
removed unnecessary image
backintime-qt ✔
Back In Time
Version: 1.5.4
Back In Time comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions; type `backintime --license' for details.
The cached device pixel ratio value was stale on window update. Please file a QTBUG which explains how to reproduce.
Traceback (most recent call last):
File "/usr/share/backintime/qt/app.py", line 2472, in <module>
mainWindow = MainWindow(cfg, appInstance, qapp)
File "/usr/share/backintime/qt/app.py", line 342, in __init__
SettingsDialog(self).exec()
~~~~~~~~~~~~~~^^^^^^
File "/usr/share/backintime/qt/manageprofiles/__init__.py", line 253, in __init__
self._tab_retention = RemoveRetentionTab(self)
~~~~~~~~~~~~~~~~~~^^^^^^
File "/usr/share/backintime/qt/manageprofiles/tab_remove_retention.py", line 65, in __init__
self._label_rule_execute_order()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/share/backintime/qt/manageprofiles/tab_remove_retention.py", line 177, in _label_rule_execute_order
icon = self.style().standardPixmap(
QStyle.StandardPixmap.SP_MessageBoxInformation)
TypeError: standardPixmap(self, standardPixmap: QStyle.StandardPixmap, opt: Optional[QStyleOption], widget: Optional[QWidget] = None): not enough arguments
I am not quite sure what’s going on here, but I can tell that it works on my KDE Wayland Desktop PC that is also using Manjaro Wayland.
Interestingly, it opens successfully if I start it as root.
Do you think this is an upstream issue or is something wrong with my configuration?
I am using the QAdwaitaDecorations and the Breeze theme if that makes any difference.
How did you do that?
… to specifically run the QT frontend …?
I ask because I just installed from AUR “backintime”
On a Gnome DE fully updated system.
In a VM - so it is not running Wayland - it is running x11/xorg
and I don’t get that response.
I do get:
backintime
Back In Time
Version: 1.5.4
Back In Time comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions; type `backintime --license' for details.
WARNING: Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
WARNING: D-Bus message: The name is not activatable
WARNING: Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
but this is on Manjaro stable - not unstable like yours
I installed backintime from the extra repo, not from the AUR.
Then I just entered backintime-qt in the terminal and the crash happend.
When I only execute backintime, no error message is shown, but also no window opens:
backintime ✔
Back In Time
Version: 1.5.4
Back In Time comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions; type `backintime --license' for details.
Should backintime without the -qt suffix open a different type of frontend? Maybe a GTK based one?
I wonder if this is a problem specific to gnome.
It works fine in Cinnamon and works steadily every hour.
Wayland?
edit :
launch backintime-qt in terminal.
❱ backintime-qt
Back In Time
Version: 1.5.4
Back In Time comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions; type `backintime --license' for details.
In Cinnamon this works well to integrate into a GTK based system. I also use this setup in my iSO.
You need to have qt5ct installed, and qt6ct for newer KDE apps.
Then in your user directory, edit the .profile file and add: export QT_QPA_PLATFORMTHEME="qt5ct"
Then make sure Breeze theme and Breeze-Icons are install.
Then run QT5 Configuration tool and adjust your themes and settings to match your system.
Using the command backintime-qt_polkit works as well for me.
That what I meant when I said:
But is it really recommended or even required to open Back in Time as root under Gnome/ Wayland?
I don’t want to enter my password every time a new backup is started.
At least on my KDE system, the non-root variant works as well.
Just out of curiosity, I installed backintime from the AUR as well, but I am seeing the same issue.
The non-root variant crashes, while the root one doesn’t.
… under what DE and protocol is rather irrelevant,
but the tool needs to read and be able to write root owned files - some of them are only even readable by root /etc/shadow, for instance
What is the non-root variant?
How often are you creating backups?
… root is needed to even read some files - to back them up
Until recently I was only backing up my home folder, but yeah I noticed as well, that I’m unable to create backups from the /etc folder without root permissions.
At least when I install backintime from the extra repo, two entries in the application launcher are created. “Back in Time” and “Back in Time (root)”.
The non-root variant is the first one and can also be started by executing backintime-qt.
I see your point in creating backups with the root user, but still I think that the starting Back in Time as a non-root user should be possible without it crashing.
I’m interested. I’d be happy if someone who knows more about it could tell me for sure.
Now that you mention it, I’ve never really thought about it that deeply.
In the Cinnamon environment, these two menu icons are set. My hourly backintime usage is for /home.
In the past, I used to configure the /etc subdirectory with backintime started by root to backup everything in detail. I don’t use it anymore.
AND. you don’t need to enter password every time a new backup is started with root backintime.
I just tested this on a fresh Manjaro Stable Gnome VM and got the same crash:
backintime-qt ✔
Back In Time
Version: 1.5.4
Back In Time comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions; type `backintime --license' for details.
Traceback (most recent call last):
File "/usr/share/backintime/qt/app.py", line 2472, in <module>
mainWindow = MainWindow(cfg, appInstance, qapp)
File "/usr/share/backintime/qt/app.py", line 342, in __init__
SettingsDialog(self).exec()
~~~~~~~~~~~~~~^^^^^^
File "/usr/share/backintime/qt/manageprofiles/__init__.py", line 253, in __init__
self._tab_retention = RemoveRetentionTab(self)
~~~~~~~~~~~~~~~~~~^^^^^^
File "/usr/share/backintime/qt/manageprofiles/tab_remove_retention.py", line 65, in __init__
self._label_rule_execute_order()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/share/backintime/qt/manageprofiles/tab_remove_retention.py", line 177, in _label_rule_execute_order
icon = self.style().standardPixmap(
QStyle.StandardPixmap.SP_MessageBoxInformation)
TypeError: standardPixmap(self, standardPixmap: QStyle.StandardPixmap, opt: Optional[QStyleOption], widget: Optional[QWidget] = None): not enough arguments