LINUX.ORG.RU

Как выключить/перезагрузить Alt Linux из иксов?

 , , ,


0

1

Из ядерной консоли systemctl reboot/poweroff отрабатывает без проблем, из иксов прав не хватает

$ systemctl reboot
==== AUTHENTICATING FOR org.freedesktop.login1.reboot ====
Authentication is required to reboot the system.
Authenticating as: System Administrator (root)
Password:

иксы запущены из ядерной консоли так

$ startx /usr/bin/jwm
★★★★★

Последнее исправление: Dimez (всего исправлений: 1)
  1. Вообще права должны быть, если ты залогинен локально. Возможно, полисикиту сносит крышу из-за твоего способа запуска, там же выделяется новая консоль, ЕМНИП.

  2. Попробуй /sbin/reboot или /sbin/poweroff.

Aceler ★★★★★
()
Ответ на: комментарий от Aceler

из-за твоего способа запуска, там же выделяется новая консоль

да так и есть - запускаю из tty1 и оно в tty2 стартует, можно заглянуть в tty1 и посмотреть логи… а какие способы еще есть? .xinitrc поможет? или это масленое масло?

Попробуй

$ /sbin/reboot
Call to Reboot failed: Interactive authentication required.

сейчас .xinitrc попробую

amd_amd ★★★★★
() автор топика

не .xinitrc не помогает, оно кстати по startx само без всяких .xinitrc стартует… но как потом это выключить? чего там вообще с правами в этом alt? после того как установил даже suне работало, ну я ему из под root дал пня под зад # chmod 4755 /bin/su и потом еще sudo из под su дать пришлось аналогичным способом # chmod 4755 /usr/bin/sudo, но в ядерной то консоли все нормально выключает\перезагружает, раньше пользовался альтом но такой проблемы не помню - потому что без systemd было, а в этот раз решил попробовать с ним.

amd_amd ★★★★★
() автор топика
Ответ на: комментарий от amd_amd

после того как установил даже su не работало

А что ты установил?

чего там вообще с правами в этом alt?

Права регулируются через control. Это такая штука, чтобы переключатели в ней сохранялись при обновлении или изменении системы. Но из коробки-то su должен был работать.

Aceler ★★★★★
()
Ответ на: комментарий от Aceler

через control

что с ним не так?

at              public          (public restricted atdaemon)
chrony          client          (server client)
crontab         public          (public restricted)
hddtemp         wheelonly       (public wheelonly restricted)
mount           public          (public wheelonly unprivileged restricted)
nfsmount        restricted      (public wheelonly restricted)
pam_access      disabled        (enabled disabled)
pam_canonicalize_user disabled        (enabled disabled)
pam_mktemp      enabled         (enabled disabled)
passwd          tcb             (tcb traditional restricted)
passwdqc-enforce users           (everyone users)
passwdqc-match  default         (default no_check)
passwdqc-min    default         (default allow_pincode)
ping            public          (public netadmin restricted public_caps netadmin_caps)
rpcbind         local           (server local)
sftp            enabled         (enabled disabled)
sshd-allow-groups disabled        (enabled disabled)
sshd-password-auth default         (enabled disabled default)
su              unknown         (public wheel wheelonly restricted)
sudo            unknown         (public wheelonly restricted)
sudoers         strict          (strict relaxed)
sudopw          default         (default root target runas)
sudoreplay      wheelonly       (public wheelonly restricted)
sudowheel       enabled         (disabled enabled)
system-auth     local           (krb5 krb5_ccreds ldap local multi pkcs11 winbind)
system-policy   local           (local remote)
tcb_chkpwd      tcb             (traditional tcb restricted)
wget            hardened        (hardened unconfined)
write           public          (public restricted)
xorg-server     public          (public xgrp restricted)
amd_amd ★★★★★
() автор топика
Ответ на: комментарий от amd_amd

Потому, что запускай графическую сессию нормально, через какой-либо DM, где у тебя будут запущены прочие сервисы, которые дадут возможность корректно выключать систему в графической оболочке.

Точно не скажу, но что-то вроде systemd-logind, polkit и dbus.

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

нормально, через

так нормально или через? я везде запускаю нормально, не думал что в альт это нужно делать через… возможно ли такое как то обойти?

amd_amd ★★★★★
() автор топика
Ответ на: комментарий от amd_amd

Изучи как происходит процесс проверки привилегий в графической оболочке для выключения используемыми тобой способами.

Проверь, что запущено все, что нужно.

Чего нет - запусти.

kostik87 ★★★★★
()
Ответ на: комментарий от amd_amd

По умолчанию ненастроенная система не позволяет себя выключать непривилегированному пользователю. Дистрибутивы делают настройки для того, чтобы это реализовать — через polkit или через что-то другое, где как. Ты поставил jeos, то есть настраивать тебе самому.

Systemd 100% работает через polkit. Давай залезем тогда в правила polkit и посмотрим что там. Скорее всего, ничего :-)

Показывай файл org.freedesktop.login1.policy

Aceler ★★★★★
()
Ответ на: комментарий от Aceler

Ну и в целом.

Оспаде…. И эти люди одной рукой хаят системд, а второй накручивают очередной велик!..

Впрочем, ничего нового, альт, ничего нового 😏

aol ★★★★★
()
Ответ на: комментарий от amd_amd

Ну, не сюда же :-)

По крайней мере он есть, и там есть про это:

        <action id="org.freedesktop.login1.power-off">
                <description gettext-domain="systemd">Power off the system</description>
                <message gettext-domain="systemd">Authentication is required to power off the system.</message>
                <defaults>
                        <allow_any>auth_admin_keep</allow_any>
                        <allow_inactive>auth_admin_keep</allow_inactive>
                        <allow_active>yes</allow_active>
                </defaults>
                <annotate key="org.freedesktop.policykit.imply">org.freedesktop.login1.set-wall-message</annotate>
        </action>

Там может быть что-то ещё, поищи про power-off и reboot.

Aceler ★★★★★
()
Ответ на: комментарий от Aceler

да есть такое

<action id="org.freedesktop.login1.power-off">
        <description gettext-domain="systemd">Power off the system</description>
        <message gettext-domain="systemd">Authentication is required to power off the system.</message>
        <defaults>
                <allow_any>auth_admin_keep</allow_any>
                <allow_inactive>auth_admin_keep</allow_inactive>
                <allow_active>yes</allow_active>
        </defaults>
        <annotate key="org.freedesktop.policykit.imply">org.freedesktop.login1.set-wall-message</annotate>
</action>

и такое есть

<action id="org.freedesktop.login1.reboot">
        <description gettext-domain="systemd">Reboot the system</description>
        <message gettext-domain="systemd">Authentication is required to reboot the system.</message>
        <defaults>
                <allow_any>auth_admin_keep</allow_any>
                <allow_inactive>auth_admin_keep</allow_inactive>
                <allow_active>yes</allow_active>
        </defaults>
        <annotate key="org.freedesktop.policykit.imply">org.freedesktop.login1.set-wall-message</annotate>
</action>

но что с эти делать?

amd_amd ★★★★★
() автор топика
Ответ на: комментарий от amd_amd

да есть такое

Это хорошо.

но что с эти делать?

Вариант 1. Написать yes для inactive и any, но это позволит любому пользователю выключать компьютер, даже залогиненному по ssh.

Вариант 2. У тебя написано <allow_active>yes</allow_active>. Это значит, что с активного сеанса разрешено выключать или перезагружать. Но этот вариант не отрабатывает.

А если просто запустить pkttyagent?

Aceler ★★★★★
()
Ответ на: комментарий от Aceler

Это значит, что с активного сеанса разрешено выключать или перезагружать. Но этот вариант не отрабатывает

Тут ткну пальцем в небо, возможно у него активный vt тот, в котором запущен startx, а сами иксы открыли новый терминал, но logind об этом не знает. Нужно принудительно запускать иксы на том же vt.

Khnazile ★★★★★
()
Последнее исправление: Khnazile (всего исправлений: 1)
Ответ на: комментарий от Khnazile

Тут ткну пальцем в небо, возможно у него активный vt тот, в котором запущен startx, а сами иксы открыли новый терминал,

Я об этом с самого начала написал, при запуске через startx иксы занимают новый терминал. Но не обязательно запускать иксы строго на том же vt, есть же агенты! А вот как работают агенты в jwm при запуске через startx? Я что-то не в курсе)

Aceler ★★★★★
()
Ответ на: комментарий от Khnazile

возможно у него активный vt тот, в котором запущен startx, а сами иксы открыли новый терминал, но logind об этом не знает

Для logind нужно обязательно запускать иксы с -keepty. Как-то так startx -- -keeptty.

anonymous
()
Ответ на: комментарий от saahriktu

Поэтому всегда сижу в su.

Обнови уже первослаку. Даже Патрик внедрил logind, но и до того были костыли. Впрочем, на локалхосте можно не париться и настроить беспарольный sudo для этих команд.

anonymous
()
Ответ на: комментарий от amd_amd

так пароль просит - не подойдет

я у себя на poweroff\reboot сделал беспарольный sudo и выключаю sudo poweroff из терминала. Мне так проще, чем мышкой куда-то тянуться для выключения(хотя этот вариант у меня тоже работает).

Loki13 ★★★★★
()
Ответ на: комментарий от amd_amd

не помогло

Что не помогло? Ну настрой sudo для пользователя так, чтобы было NOPASSWD для reboot/poweroff. Оно само не настраивается. Или systemd-run, или как его там.

AS ★★★★★
()