Вопрос или проблема
Я действительно испытываю трудности с настройкой сессии polkit. Я не совсем знаком с тем, как это работает, но я использовал gnome до перехода на dwm, и в gnome это работало идеально, поэтому я хотел бы воспроизвести это. Прежде всего: Насколько я понял, polkit отвечает за предоставление временного повышения привилегий пользователю, требуя у него пароль суперпользователя. Это правильно? Как я могу воспроизвести это поведение без DE, но с WM, таким как dwm?
Я тоже использую dwm, у меня в файле .xinitrc есть polkit для автоматического запуска при входе в систему. Я использую xfce-polkit.
/usr/lib/xfce-polkit/xfce-polkit &
Например, я также использую Thunar в качестве файлового менеджера и настроил действие, которое вызывает сессию root Thunar с помощью pkexec
.
Использование polkit даст вам такое же поведение DE с dwm.
Я не совсем понимаю ваш вопрос. Я также использую dwm
, чтобы использовать программы polkit, такие как pkexec
, насколько я знаю, сначала должен запуститься dbus-daemon
. Согласно документации, polkitd
не нужно запускать вручную. Так что не стоит волноваться об этом.
polkitd предоставляет сервис org.freedesktop.PolicyKit1 D-Bus на системной шине сообщений. Пользователям или администраторам никогда не нужно запускать этот демон, так как он будет автоматически запущен dbus-daemon(1) или systemd(1) всякий раз, когда приложение вызывает данный сервис.
Источник: https://www.freedesktop.org/software/polkit/docs/latest/polkitd.8.html
Просто добавляю еще один случай к ответу @Dobbie03.
В моем случае я перешел с KDE Plasma на DWM, поэтому у меня уже был установлен polkit-kde-authentication-agent
.
Поскольку я использовал патч под названием “cool autostart”, мне нужно было просто добавить одну строку в конфигурацию и пересобрать DWM:
// config.def.h
// ... вырезано ...
static const char *const autostart[] = {
"feh", "--bg-scale", "/home/snail/.local/wallpaper.png", NULL,
// Эта строка!
"/usr/lib/polkit-kde-authentication-agent-1", NULL,
NULL /* завершение */
};
// ... вырезано ...
После этого запрос на ввод пароля появился в Dolphine так же, как это было в KDE.
Ответ или решение
Gnome и DWM: Настройка polkit для управления привилегиями
Если вы только что перешли с рабочего окружения Gnome на менеджер окон DWM, вы, возможно, столкнулись с трудностями в настройке системы управления привилегиями polkit
. Данная система отвечает за временное повышение привилегий в Linux-системах, например, через запрос пароля администратора для выполнения определенных действий.
Что такое polkit?
polkit
(PolicyKit) — это механизм, который позволяет управлять доступом к системным функциям, связанным с правами пользователей. Как правило, это подразумевает запрос пароля при попытке выполнения действий, требующих повышенных прав. В отличие от графических окружений, таких как Gnome или KDE, где эта функциональность интегрирована в систему, в DWM и других легковесных менеджерах окон необходимо выполнить несколько дополнительных шагов для ее настройки.
Настройка DWM для работы с polkit
-
Убедитесь, что
dbus-daemon
запущен: Прежде всего, убедитесь, чтоdbus-daemon
запущен при старте вашей сессии. Это можно сделать, добавив строку запуска в ваш файл.xinitrc
. Например:eval $(dbus-launch --sh-syntax)
-
Запустите агент аутентификации polkit: вам необходимо запустить соответствующий агент аутентификации
polkit
в вашей сессии. Если вы используетеxfce
, добавьте следующую строку в.xinitrc
:/usr/lib/xfce-polkit/xfce-polkit &
Если вы пользовались KDE Plasma, возможно, у вас уже установлен
polkit-kde-authentication-agent
. В этом случае вы можете добавить его в конфигурацию DWM, используя патч "cool autostart". Пример:static const char *const autostart[] = { "feh", "--bg-scale", "/home/user/.local/wallpaper.png", NULL, "/usr/lib/polkit-kde-authentication-agent-1", NULL, NULL /* terminate */ };
-
Используйте
pkexec
или другие инструменты: После настройкиpolkit
, вы сможете пользоваться командами вродеpkexec
для повышения привилегий. Например, если вы используете файловый менеджер Thunar и настроили пользовательское действие для открытия Thunar с правами суперпользователя, оно должно работать без проблем.
Убедитесь в функциональности
После внесения всех изменений стоит перезагрузить систему или перезапустить X11-сессию, чтобы убедиться в том, что всё работает корректно. Попробуйте выполнить действие, требующее прав администратора (например, открыть Thunar с помощью pkexec
), и убедитесь, что появляется диалоговое окно для ввода пароля.
Заключение
Настройка polkit
в DWM может показаться сложной, но следуя вышеуказанным шагам, вы сможете воспроизвести привычное поведение, которое вы имели в Gnome. Это позволит вам безопасно выполнять команды с повышенными правами, не беспокоясь о необходимости вручную запускать polkitd
, так как он запускается автоматически с dbus-daemon
.
Если будут возникать дополнительные вопросы или трудности, не стесняйтесь обращаться к сообществу или документации, чтобы получить необходимую поддержку.