Created attachment 10207 [details] scr Workstation K x86_64 kde5-spectacle-21.08.3-alt1.x86_64 1) Залогиниться в графическую сессию wayland. 2) Нажать prtscr Результат: Spectacle не может сделать снимок экрана. Воспроизводится на реальных и виртуальных машинах.
Пожалуйста, на p10 проблемы с приложениями KDE вешайте на zerg@altlinux.org.
wayland даёт только суперпользователю подглядывать весь экран
Тоже словил данный баг в simply linux (установил plasma5). В среде Wayland не делает скриншот ни одна программа (spectacle, mate, xfce). https://bugs.kde.org/show_bug.cgi?id=446628 - это решение не помогло.
Workstation K, обновленный до Sisyphus wayland-1.21.0-alt1.1 kde5-spectacle-22.08.3-alt1 Ошибка воспроизводится по описанию.
Ошибка всё-таки в spectacle.
*** Bug 45058 has been marked as a duplicate of this bug. ***
см. также https://bugs.kde.org/show_bug.cgi?id=446628
workaround: Exec=/usr/lib/kf5/bin/spectacle в /usr/share/kf5/kglobalaccel/org.kde.spectacle.desktop А проблему надо искать где-то и чинить. История такая, что в kwin/src/utils/serviceutils.h получает: static inline QStringList fetchRestrictedDBusInterfacesFromPid(const uint pid) { const auto executablePath = QFileInfo(QStringLiteral("/proc/%1/exe").arg(pid)).symLinkTarget(); return fetchProcessServiceField(executablePath, s_dbusRestrictedInterfaceName); } Имя запускаемого файла и именно оно проверяется на доступ к снятию скриншота: bool ScreenShotDBusInterface2::checkPermissions() const { if (!calledFromDBus()) { return false; } const QDBusReply<uint> reply = connection().interface()->servicePid(message().service()); if (reply.isValid()) { const uint pid = reply.value(); const auto interfaces = KWin::fetchRestrictedDBusInterfacesFromPid(pid); if (!interfaces.contains(s_dbusInterface)) { sendErrorReply(s_errorNotAuthorized, s_errorNotAuthorizedMessage); return false; } } else { return false; } return true; } Но мне кажется что это правильно, мало ли кто где сделал запускаемый файл с такими правами.
kde5-spectacle 22.12.1-alt2