Bug 41804 - Spectacle не может сделать снимок экрана в plasma wayland
Summary: Spectacle не может сделать снимок экрана в plasma wayland
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: kde5-spectacle (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Sergey V Turchin
QA Contact: qa-sisyphus
URL:
Keywords:
: 45058 (view as bug list)
Depends on:
Blocks:
 
Reported: 2022-01-26 15:08 MSK by Vera Blagoveschenskaya
Modified: 2023-01-31 14:15 MSK (History)
5 users (show)

See Also:


Attachments
scr (84.17 KB, image/png)
2022-01-26 15:08 MSK, Vera Blagoveschenskaya
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Vera Blagoveschenskaya 2022-01-26 15:08:03 MSK
Created attachment 10207 [details]
scr

Workstation K x86_64
kde5-spectacle-21.08.3-alt1.x86_64

1) Залогиниться в графическую сессию wayland.
2) Нажать prtscr

Результат: Spectacle не может сделать снимок экрана. Воспроизводится на реальных и виртуальных машинах.
Comment 1 Andrey Cherepanov 2022-01-26 16:32:42 MSK
Пожалуйста, на p10 проблемы с приложениями KDE вешайте на zerg@altlinux.org.
Comment 2 Sergey V Turchin 2022-01-26 16:53:38 MSK
wayland даёт только суперпользователю подглядывать весь экран
Comment 3 Oleg Tolstov 2022-03-22 17:12:54 MSK
Тоже словил данный баг в simply linux (установил plasma5). В среде Wayland не делает скриншот ни одна программа (spectacle, mate, xfce).

https://bugs.kde.org/show_bug.cgi?id=446628 - это решение не помогло.
Comment 4 Vera Blagoveschenskaya 2022-11-11 19:07:12 MSK
Workstation K, обновленный до Sisyphus

wayland-1.21.0-alt1.1
kde5-spectacle-22.08.3-alt1

Ошибка воспроизводится по описанию.
Comment 5 Anton Farygin 2023-01-27 16:50:29 MSK
Ошибка всё-таки в spectacle.
Comment 6 Anton Farygin 2023-01-27 16:52:29 MSK
*** Bug 45058 has been marked as a duplicate of this bug. ***
Comment 7 Anton Farygin 2023-01-27 16:52:44 MSK
см. также https://bugs.kde.org/show_bug.cgi?id=446628
Comment 8 Anton Farygin 2023-01-27 17:20:01 MSK
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;
}

Но мне кажется что это правильно, мало ли кто где сделал запускаемый файл с такими правами.
Comment 9 Sergey V Turchin 2023-01-31 14:15:57 MSK
kde5-spectacle 22.12.1-alt2