Кнопки завершения работы и перезагрузки недоступны в XFCE на Alpine Linux.

Вопрос или проблема

Я установил Alpine Linux с XFCE на старый «картофельный» ноутбук без дисплейного менеджера. Я смог устранить большинство проблем, исследуя различные вики и форумы. Однако я не могу заставить работать кнопки питания (те, что используются для выключения и перезагрузки). Они серые!

Многие люди сталкивались с этой же проблемой в прошлом, но ни один из их принятых ответов не сработал для меня:

  • В вики Alpine упоминается, что необходимо установить elogind и polkit-elogind, а затем перезагрузить компьютер, но это не решает проблему.

  • Несколько постов на форуме Arch, написанных 10-15 лет назад, упоминают, что пользователь должен находиться в группе power, но, похоже, она не существует в Alpine. (Мой пользователь находится в группах audio, disk, floppy, netdev, plugdev, users, video и wheel.)

  • Другие посты говорят о том, чтобы написать exec ck-launch-session dbus-launch startxfce4 или exec dbus-launch --exit-with-session startxfce4 вместо exec startxfce4 в конце .xinitrc (один пример здесь), но ни одно из предложений не изменяет ситуацию (я также пробовал различные комбинации и варианты). Ранее у меня была только строка exec ck-launch-session dbus-launch --sh-syntax --exit-with-session startxfce4 в моем .xinitrc.

  • Я также пытался добавить конфигурационные файлы для polkit как описано здесь. Путь /etc/polkit-1/localauthority/50-local.d похоже был заменен на /etc/polkit-1/rules.d в Alpine, но это всё равно не решает проблему. Я также пробовал заменить строки Identity=unix-group:power на Identity=unix-group:plugdev, так как группа power не существует в Alpine, но разницы нет.

Как это исправить?

Ответ или решение

Проблема с серыми кнопками выключения и перезагрузки в XFCE на Alpine Linux

Введение

Проблема с серыми кнопками выключения и перезагрузки в окружении рабочего стола XFCE на Alpine Linux может вызвать затруднения, особенно если вы не используете дисплейный менеджер. Данная ситуация известна многим пользователям, и, хотя существует несколько распространённых решений, они могут не подойти в вашем конкретном случае. В этой статье рассмотрим шаги, которые необходимо предпринять для устранения данной проблемы.

Установка необходимых пакетов

Но сначала обратим внимание на важные компоненты, которые должны быть установлены:

  1. Elogind – это демон управления сессиями, который позволяет управлять процессами и сеансами.
  2. Polkit – это фреймворк для управления привилегиями.

Убедитесь, что оба пакета установлены. Вы можете установить их с помощью следующих команд:

sudo apk add elogind polkit-elogind

После установки перезагрузите систему:

sudo reboot

Конфигурация системы

1. Добавление пользователя в группу для управления питанием:

В Alpine Linux нет группы power, однако вы можете создать её и добавить своего пользователя. Выполните следующие команды:

sudo addgroup power
sudo adduser ваш_пользователь power

Не забудьте перезагрузить систему либо выйти из текущей сессии и войти снова.

2. Правильная настройка .xinitrc:

Ваша конфигурация .xinitrc имеет ключевое значение. Попробуйте использовать следующую строку, чтобы корректно запустить XFCE с поддержкой управления сессиями и D-Bus:

exec dbus-launch --exit-with-session startxfce4

Правила для Polkit

Если предыдущие шаги не помогли, вам необходимо убедиться, что правила Polkit настроены правильно. Создайте новый файл в /etc/polkit-1/rules.d/:

sudo nano /etc/polkit-1/rules.d/50-better-power.rules

Добавьте следующее правило:

polkit.addRule(function(action, subject) {
    if (action.id == "org.freedesktop.login1.power-off" ||
        action.id == "org.freedesktop.login1.reboot" ||
        action.id == "org.freedesktop.login1.halt") {
        if (subject.isInGroup("power")) {
            return polkit.Result.YES;
        }
    }
});

Сохраните и закройте файл. После этого выполните:

sudo reboot

Проверка статуса D-Bus

Убедитесь, что D-Bus работает без сбоев. Проверьте, что аутентификация работает корректно:

systemctl status dbus

Если он не работает, попробуйте запустить его вручную.

Заключение

Следуйте вышеописанным шагам, чтобы решить проблему с серыми кнопками выключения и перезагрузки в XFCE на Alpine Linux. Надеюсь, эти рекомендации помогут вам успешно настроить вашу систему. Если проблема сохраняется, возможно, стоит изучить дополнительные настройки конфигураций и местные правила, чтобы понять, какие конкретные проблемы могут возникать в вашем окружении.

Оцените материал
Добавить комментарий

Капча загружается...