Я сделал программу C, которая в какой-то момент вызывает свой графический интерфейс python.
При запуске C и Python на моем рабочем столе с помощью sudo это работает, потому что sudo выполняет программу C от имени моего пользователя.
Но я создал модуль systemd для запуска кода C при загрузке, поэтому он выполняется пользователем root, а затем я не могу заставить его отображать графический интерфейс Python на моем рабочем столе, потому что я получаю WARNING **: Could not open X display
.
Код C наблюдает за двоичным файлом с помощью inotify и выполняет некоторую работу, когда двоичный файл открыт, и открывает графический интерфейс Python с помощью простого вызова system
.
Код C должен быть выполнен с привилегиями root, но графический интерфейс python может быть запущен как обычный пользователь и, когда ему это нужно, возможно, с помощью polkit для его получения. Просто нужно написать некоторые вещи в файле xml, расположенном в /var/lib.
Есть идеи, как я могу это сделать?