Изменение экрана логина в Astra Linux 1.6 SE

2lazy4dat

New member
Сообщения
4
#1
Нужно сделать дополнительные кнопки (выключения и перезагрузки) на экране логина. Поскольку fly dm theme очень похож на kdm greeter theme, из этой статьи http://themanjay.com/archive/kdm/ взял соответствующие Stock Nodes (halt и reboot) и добавил в файл /usr/share/fly-dm/themes/fly-flat/fly.xml следующее:
XML:
    <item type="rect" id="halt_button" button="true">
    <pos anchor="e" x="-0" y="80%" width="box" height="box"/>
    <box orientation="horizontal" spacing="7">
        <item type="label">
            <normal color="#bbbbbb" font="Segoe Semibold 11"/>
            <prelight color="#ffffff" font="Segoe Semibold 11"/>
            <active color="#ff0000" font="Segoe Semibold 11"/>
            <pos anchor="e" x="-0" y="50%"/>
            <stock type="halt"/>
        </item>
        <item type="pixmap">
            <normal file="system_inactive.png"/>
            <prelight file="system.png"/>
            <pos anchor="e" x="-0" y="50%" width="48" height="48"/>
        </item>
    </box>
    </item>

    <item type="rect" id="reboot_button" button="true">
    <pos anchor="e" x="-0" y="90%" width="box" height="box"/>
    <box orientation="horizontal" spacing="7">
        <item type="label">
            <normal color="#bbbbbb" font="Segoe Semibold 11"/>
            <prelight color="#ffffff" font="Segoe Semibold 11"/>
            <active color="#ff0000" font="Segoe Semibold 11"/>
            <pos anchor="e" x="-0" y="50%"/>
            <stock type="reboot"/>
        </item>
        <item type="pixmap">
            <normal file="system_inactive.png"/>
            <prelight file="system.png"/>
            <pos anchor="e" x="-0" y="50%" width="48" height="48"/>
        </item>
    </box>
    </item>
Как результат появились две кнопки: https://ibb.co/K7RZyJR. Но оказалось, что они не работают. Немного поискав, нашел файл /etc/X11/fly-dm/fly-dmrc и там секцию Shutdown:
INI:
[Shutdown]
# The command (subject to word splitting) to run to halt the system.
# Default is "/bin/systemctl poweroff"
#HaltCmd=/bin/systemctl poweroff
HaltCmd=sudo shutdown -h now
# The command (subject to word splitting) to run to reboot the system.
# Default is "/bin/systemctl reboot"
#RebootCmd=/bin/systemctl reboot
RebootCmd=sudo shutdown -r now
Также еще в /etc/sudoers добавил для пользователя fly-dm, чтобы не спрашивался пароль при выполнении команды sudo. В опции HaltCmd и RebootCmd прописывал разные команды, типа halt -p, shutdown -h, но все равно кнопки не работают (дефолтные значения тоже не работают).
Тогда в этом же файле нашел строчку с вызовом виртуальной клавиатуры и поправил на свой вызов:
INI:
#VkbdCmd=/usr/bin/fly-vkbd --strut-bottom -s black_flat
VkbdCmd=sudo shutdown -r now
И при нажатии на кнопку виртуальной клавиатуры система перезагрузилась.
Подскажите, кто делал что-то подобное, чего не хватает системе, чтобы заработали кнопки выключения и перезагрузки.
 

asmirnov

New member
Сообщения
3
#2
Не получится так и в оригинальном kdm. Надо подправить исходники fly-qdm, они в открытом доступе есть т.к. базируются на GPL части kdm. Но на будущее пожалуй надо предусмотреть возможность навешивания любых кнопок с указанием команды.