-
Notifications
You must be signed in to change notification settings - Fork 220
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
[OpenSuSE rolling] Missing icons in SSH private key buttons (BiT root) #1364
Comments
I should add that this occurs when running as root... Tom. |
I've been thinking though (always dangerous at best!). If I run backintime-qt_polkit, I am running the backup as root. In this case, I should be using the ssh keys for the root user and not any other user. I cannot change the private key settings. That is, the keys have to be from the root directory. In this case, not showing the symbols for "searching for a key", or "adding a key" would properly be blanked out. In addition, if I click on where the button where the directory icon would be, the program presents a a directory window that can be scrolled through. However, a selected file is not moved to the private key window, and no hidden files or directories are shown. I think this is what is going on. Whoever wrote the code was correct in preventing us from making a mistake. Perhaps some mention of this should be made in the documentation. Thanks... Tom. |
Which desktop environment do you use? KDE, Gnome3...? Could you please post the output of this diagnostics code here (copy into a terminal):
I suspect missing icons like reported in some other issues (missing tray icon) and need to know the theme settings that lack some icons... |
As requested... Tom.
```
***@***.***:~> echo $XDG_SESSION_TYPE
x11
***@***.***:~> pkexec env DISPLAY=$DISPLAY XDG_RUNTIME_DIR=$XDG_RUNTIME_DIR
XAUTHORITY=$XAUTHORITY python3 -c "fr
om PyQt5.QtGui import QIcon; from PyQt5.QtWidgets import
QSystemTrayIcon,QApplication; app = QApplication(['']);
print('isSystemTrayAvailable: ' +
str(QSystemTrayIcon.isSystemTrayAvailable())); print('Theme name: ' +
QIcon.t
hemeName()); print('has theme icon <document-save>: ' +
str(QIcon.hasThemeIcon('document-save'))); print('themeS
earchPaths: ' + str(QIcon.themeSearchPaths())); print('fallbackSearchPaths:
' + str(QIcon.fallbackSearchPaths())
)"
QStandardPaths: runtime directory '/run/user/1000' is not owned by UID 0,
but a directory permissions 0700 owned
by UID 1000 GID 1000
isSystemTrayAvailable: True
Theme name: hicolor
has theme icon <document-save>: False
themeSearchPaths: ['/usr/share/icons', ':/icons']
fallbackSearchPaths: ['/usr/share/pixmaps']
```
|
I have looked-up the icon file names in the source code. Could you please check if the icon files exist in your theme's icon folder by showing the output of these commands:
I expect no exact hits (eg. no |
You are right. Neither of the files exist.
…On Thu, Nov 17, 2022 at 6:09 PM aryoda ***@***.***> wrote:
I have looked-up the icon file names in the source code. Could you please
check if the icon files exist in your theme's icon folder by showing the
output of these commands:
cd /usr/share/icons/hicolor
find | grep folder
find | grep list-add
I expect no exact hits (eg. no folder.png or list-add.png)
—
Reply to this email directly, view it on GitHub
<#1364 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AF2YD6TQGAEZHDCGHRXG7XDWI23MNANCNFSM6AAAAAASDYWM4M>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
OK, THX, the reason for the missing icons is: It is related to #1306 and could be fixed together. In know now what to do to fix the missing icons but the fix will not be as easy as I initially thought (requires a Qt5 object which would create a circular import dependency - it looks like I have to do a bigger refactoring to fix this). I will try to find a first work-around by setting the fallback icon theme to a most-likely installed one. Regarding your other findings when you click on the first button to select a private key file:
Do you mean, the selected file is not put into the "private key" text field after clicking on "Open"? backintime/qt/settingsdialog.py Lines 1901 to 1910 in 675c8b4
Could you please check this another time and provide more detailed instructions to reproduce this.
That is correct and by default. To show hidden files you normally do a right click an check the "show hidden files" box: |
OK. I stand corrected. I didn't know about the hidden switch in the
meta-menu. When I turned it on, all was shown. And I could select a file
and when it was clicked, it populated the private key box. However, I could
not edit the text in the private key box. I guess that is the proper
operation.
I tried clicking the + button but nothing happened. Don't know if that is
right.
Thanks for your help... Tom.
|
Yes, editing the private key file URI is not allowed, it is shown read-only and you only change it by selecting another one
The "+" button is meant to generate a new PPK and is only possible if you have not yet selected any private key file so this is correct to (even though I don't like disabled button without any indication why it is disabled). |
Could you please show me your installed icon themes (because there are two workarounds: 1. Install a supported icon theme like oxygen 2. Add one of your themes that contains our required icons to the list of supported and probed themes):
Edit: My workaround would be to change the list of probed themes here in your Lines 19 to 22 in 675c8b4
by adding your installed themes (that contain the missing files - find/grep it) to the list, eg.
Edit: Could you please show me the active style (part of the "theme") and which styles are really supported on your computer:
The thing is: Themes must be installed via a (distro) package to have all files available. Qt5 does check this and ignores non-available styles (part of a"theme"). You can enforce a different supported style with this command (and check if all icons are visible in BiT then):
|
Sorry, I messed up with the GitHub frontend and deleted some parts of your post. This was a mistake. My apologize. |
As requested.
dir /usr/share/icons
total 0
drwxr-xr-x 1 root root 222 Nov 15 11:31 Adwaita
drwxr-xr-x 1 root root 298 Nov 17 11:29 breeze
drwxr-xr-x 1 root root 36 Nov 15 11:19 breeze_cursors
drwxr-xr-x 1 root root 260 Nov 17 11:29 breeze-dark
drwxr-xr-x 1 root root 36 Nov 15 11:19 Breeze_Snow
drwxr-xr-x 1 root root 276 Nov 17 15:16 hicolor
drwxr-xr-x 1 root root 70 Nov 15 11:34 oxygen
Although the directory exists the Oxygen icon set does not show up in the
KDE Settings program. I installed oxygen5-icon-theme using Yast, and the
icon set showed up (System Settings --> Appearance --> Icons). Perhaps the
KDE gang did not establish a link between Oxygen and its icons. Just a
guess.
Anyway, the icons now exist in the buttons.
I hope this will be of some help... Tom.
[image: backman-icons-present.png]
…On Fri, Nov 18, 2022 at 3:25 AM buhtz ***@***.***> wrote:
As requested... Tom.
Sorry, I messed up with the GitHub frontend and deleted some parts of your
post. This was a mistake. My apologize.
—
Reply to this email directly, view it on GitHub
<#1364 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AF2YD6QI42IYPV2BDM5RP2TWI44RJANCNFSM6AAAAAASDYWM4M>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
THX for publishing your solution! I did some tests and think the pure existence of the icon folders does not imply the style/theme is fully installed:
So the only reliable diagnostics is to ask Qt5 which styles are available (see the code in the edit of my comment here: #1364 (comment)). Would it be possible to show me the output of these commands with and without the installed |
What commands? Running BIT or file listing? |
|
As requested:
pkexec env DISPLAY=$DISPLAY XDG_RUNTIME_DIR=$XDG_RUNTIME_DIR
XAUTHORITY=$XAUTHORITY python3 -c "fr
om PyQt5.QtGui import QIcon; from PyQt5.QtWidgets import
QSystemTrayIcon,QApplication,QStyleFactory; app = QAppl
ication(['']); print(f'QT style: {app.style().objectName()}'); print(f'QT
supported styles: {QStyleFactory.keys(
)}')"
QStandardPaths: runtime directory '/run/user/1000' is not owned by UID 0,
but a directory permissions 0700 owned
by UID 1000 GID 1000
QT style: fusion
QT supported styles: ['Breeze', 'gtk2', 'Windows', 'Fusion']
…On Fri, Nov 18, 2022 at 5:04 PM aryoda ***@***.***> wrote:
What commands? Running BIT or file listing?
# Show active and supported styles in Qt5
pkexec env DISPLAY=$DISPLAY XDG_RUNTIME_DIR=$XDG_RUNTIME_DIR XAUTHORITY=$XAUTHORITY python3 -c "from PyQt5.QtGui import QIcon; from PyQt5.QtWidgets import QSystemTrayIcon,QApplication,QStyleFactory; app = QApplication(['']); print(f'QT style: {app.style().objectName()}'); print(f'QT supported styles: {QStyleFactory.keys()}')"
—
Reply to this email directly, view it on GitHub
<#1364 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AF2YD6W7Q5W5JGZU44KTYPLWI74NHANCNFSM6AAAAAASDYWM4M>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Is this with or without For me it is interesting to see if the supported styles did change after installing |
Here's what I have set up taking the settings from the KDE System Settings
app.
Appearance --> Global Theme
Available themes are Breeze, Breeze Dark, Breeze Twilight,
OpenSUSE (selected)
Global Theme --> Icons
Available Icon Sets are Adwaita, Breeze, Breeze Dark, Oxygen.
Currently the Oxygen Icons are installed.
The Oxygen Icon set is uninstalled using Yast. The Oxygen icon set
disappeared from the System Settings display.
Rerun your script:
pkexec env DISPLAY=$DISPLAY XDG_RUNTIME_DIR=$XDG_RUNTIME_DIR
XAUTHORITY=$XAUTHORITY python3 -c "fr
om PyQt5.QtGui import QIcon; from PyQt5.QtWidgets import
QSystemTrayIcon,QApplication,QStyleFactory; app = QAppl
ication(['']); print(f'QT style: {app.style().objectName()}'); print(f'QT
supported styles: {QStyleFactory.keys(
)}')"
QStandardPaths: runtime directory '/run/user/1000' is not owned by UID 0,
but a directory permissions 0700 owned
by UID 1000 GID 1000
QT style: fusion
QT supported styles: ['Breeze', 'gtk2', 'Windows', 'Fusion']
Reinstall oxygen5... Icons and rerun script.
pkexec env DISPLAY=$DISPLAY XDG_RUNTIME_DIR=$XDG_RUNTIME_DIR
XAUTHORITY=$XAUTHORITY python3 -c "fr
om PyQt5.QtGui import QIcon; from PyQt5.QtWidgets import
QSystemTrayIcon,QApplication,QStyleFactory; app = QAppl
ication(['']); print(f'QT style: {app.style().objectName()}'); print(f'QT
supported styles: {QStyleFactory.keys(
)}')"
QStandardPaths: runtime directory '/run/user/1000' is not owned by UID 0,
but a directory permissions 0700 owned
by UID 1000 GID 1000
QT style: fusion
QT supported styles: ['Breeze', 'gtk2', 'Oxygen', 'Windows', 'Fusion']
Now don't get too excited. I found out that the Oxygen theme and the Oxygen
icons are 2 separate packages. I deleted the icons, and in reinstalling, I
mistakenly installed the theme. I had to install the icons separately.
That's why in the first run of your script, the Oxygen theme does not show
up in the supported styles.
So, if you want to use the full Oxygen, you have to install both the theme
and icon set. In this case, installing the icons alone solved the problems
of the missing icons on the buttons.
Tom.
…On Fri, Nov 18, 2022 at 5:34 PM aryoda ***@***.***> wrote:
QT style: fusion
QT supported styles: ['Breeze', 'gtk2', 'Windows', 'Fusion']
Is this with or without oxygen5-icon-theme because I don't see oxygen in
the list of supported styles?
For me it is interesting to see if the supported styles did change after
installing oxygen5-icon-theme (this requires de-installation of this
package to run my script + re-installing it and run my script again).
—
Reply to this email directly, view it on GitHub
<#1364 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AF2YD6VC6YBDFWSUXGBFJ2DWI775RANCNFSM6AAAAAASDYWM4M>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Perfect summary on how to fix this issue 🏆 THX a lot for your really great testing support! I will now prepare a fix for the upcoming BiT release to
Edit: I have just opened a PR #1367 as "partial fix" adding the "DONE" parts of above list. |
No problem. I'm glad I could help.
If you need any testing like this, give me a shout. I'm retired so time is
no object, and it will take me away from wasting my time watching Netfiix.
Tom.
…On Fri, Nov 18, 2022 at 6:46 PM aryoda ***@***.***> wrote:
So, if you want to use the full Oxygen, you have to install both the theme
and icon set [2 separate packages].
In this case, installing the icons alone solved the problems of the
missing icons on the buttons.
Perfect summary on how to fix this issue 🏆
THX a lot for your really great testing support!
I will now prepare a fix for the upcoming BiT release to
- improve the debug output
- disable the internal logic which probes different themes since it
may end up in activating a non-installed theme (oxygen)
https://github.com/bit-team/backintime/blob/675c8b4b58208e0a282d2f25371df81c556afd49/qt/icon.py#L19-L22
- extend the *README.md* to describe the dependencies of theme and
icon packages
- (most-probably) also fix #1306
<#1306> after having
reproduced it (looks like the same underlying problem)
—
Reply to this email directly, view it on GitHub
<#1364 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AF2YD6VC44EW2XBMDSOBDB3WJAILTANCNFSM6AAAAAASDYWM4M>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
I am closing this now as fixed and will be contained in the next release. Please open a new issue in case of any problems. |
Fresh install of 1.3.2 on Opensuse Tumbleweed.
The symbols in the push buttons beside the private key input box are missing. This applies to backintime-qt_polkit. The symbols are there when running backintime_qt.
The text was updated successfully, but these errors were encountered: