Как установить beesu на CentOS 8?
Поставил CentOS 8, но в нем нет пакета beesu или gksu. Пытался отдельно ставить rpm пакеты beesu из Fedora - безрезультатно. Раньше стоял CentOS 7, там у меня был ярлык на рабочем столе для Root terminal, примерно такой:
[Desktop Entry] Version=1.0 Type=Application Exec=beesu exo-open --launch TerminalEmulator Icon=gksu-root-terminal StartupNotify=true Terminal=false Categories=Utility;X-XFCE;X-Xfce-Toplevel; OnlyShowIn=XFCE; Name=Terminal Emulator Comment=Use the command line
Что следует использовать взамен?
Ответы (2 шт):
В CentOS 8, и также в Debian 10, можно использовать Policykit для этой цели. Вместо beesu, используйте pkexec - в гафическом режиме поведение такое же: он запрашивает пароль перед запуском программы.
Создайте собственный файл /usr/share/polkit-1/actions/custom.policy, примерно так:
<policyconfig>
<vendor>Custom</vendor>
<action id="exo-open">
<description>Run as root</description>
<message>Authentication is required to run as root.</message>
<defaults>
<allow_any>no</allow_any>
<allow_inactive>auth_admin</allow_inactive>
<allow_active>auth_admin</allow_active>
</defaults>
<annotate key="org.freedesktop.policykit.exec.path">/usr/bin/exo-open</annotate>
<annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
</action>
<!-- another actions -->
</policyconfig>
Затем обновите ярлык на рабочем столе для Root terminal, примерно так:
[Desktop Entry] Version=1.0 Type=Application Exec=pkexec exo-open --launch TerminalEmulator Icon=gksu-root-terminal StartupNotify=true Terminal=false Categories=Utility;X-XFCE;X-Xfce-Toplevel; OnlyShowIn=XFCE; Name=Terminal Emulator Comment=Use the command line Path=
Зачем так сложно?
В терминале:
sudo nano /usr/local/bin/gksudo
С помощью любого редактора (mcedit, gedit, xed) вставляем строчку:
pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY $@
и сохраняем её.
sudo chmod 755 gksudo /usr/local/bin/gksudo
хочется gksu - по схеме создаем файл gksu
sudo mcedit /usr/share/applications/rootterminal.desktop
Содержание файла rootterminal.desktop. Например, так:
[Desktop Entry]
Name=Root Terminal
Comment=Run Terminal as Root
Icon=gksu-root-terminal
Exec=gksudo x-terminal-emulator
Type=Application
Categories=System;GTK;Utility;TerminalEmulator;
StartupNotify=true
Сохраняем. Пользуемся. Ярлык будет в меню System Системные