У меня есть компьютер с два (не одновременный) пользователи, которые находятся оба в sudo
группа. Есть ли способ сохранить тему пользователя GTK с gksudo
, например, при выполнении менеджера по обновлению? По умолчанию тема Роли используется.
Я использую Lubuntu 14.04 с простым менеджером окон (Черный ящик) и никакой менеджер по оформлению.
Я не уверен почему приложения, запущенные через gksudo
не используют тему Вашего пользователя. Это работает на меня в полной системе Lubuntu. (Но это использует Openbox, не Черный ящик.), К счастью:
gksudo
. (См. Путь 1 ниже.)GTK_THEME
(см. путь 2 и путь 3).Лучшее решение для утилит как:
update-manager
)software-center
)lubuntu-software-center
)software-properties-gtk
)... и многие из других утилит системного администрирования в Ubuntu, не должен просто выполнять их как корень вообще.
Обычно Вы не должны выполнять эти утилиты как корень, потому что они интегрируются с polkit и используют его (вместо sudo
) выполнить аутентификацию, когда необходимо. Начиная с программы, показывающей Вам, пользовательский интерфейс на самом деле работает как Вы и не как корень, это отображается в соответствии с конфигурацией Вашей учетной записи пользователя.
Обычно ничто специальное не должно быть сделано для достижения этого, даже в системе Lubuntu. Ubuntu разработана так, чтобы эти утилиты могли просто быть выполнены как некорневой пользователь без любой специальной конфигурации.
Но так как Ваша система особенно минимальна, у Вас, вероятно, нет polkit установленным. Можно получить его путем установки policykit-1 и policykit-1-gnome пакетов.
sudo apt-get update
sudo apt-get install policykit-1 policykit1-1-gnome
С установленным polkit эти utlities должны автоматически использовать его и не должны будут быть запущены как корень.
Однако это не может подойти:
gksudo
.Предположим, что Вы хотите работать gedit
как корень. Обратите внимание, что эта техника работает тот же путь к другому GTK + программы (такие как Менеджер обновлений).
Вместо выполнения gksudo gedit
, можно работать:
gksudo env GTK_THEME=HighContrast gedit
Замена HighContrast
с названием желаемой темы.
(Я использую env
потому что, хотя sudo
поддержки sudo VARIABLE=name command
синтаксис, gksu
/gksudo
не делает.)
Это совпадает с Путем 2, просто запустив Вашу программу через средство запуска вместо того, чтобы ввести команду каждый раз.
Сделать ярлык для запущения программы (как gedit
) с конкретным GTK + тема (как HighContrast
) как базируются в LXDE, выполненном:
lxshortcut -o ~/Desktop/'gedit (as root)'
Вместо gedit (as root)
, поместите то, что Вы хотите как отображаемое имя средства запуска.
В Окне свойств Файла, которое подходит при выполнении той команды нажмите вкладку Desktop Entry. В текстовом поле маркировал команду, помещенную:
gksudo env GTK_THEME=HighContrast gedit
Можно оставить все остальное незаполненное и просто нажать "OK".
Если Вы хотите, можно использовать полные пути выполняемых исполняемых файлов (/usr/bin/gksudo
и, в этом примере, /usr/bin/gedit
.), Но это не обычно необходимо.
Создание средства запуска для gksudo env GTK_THEME HighContrast gedit
. (Левая часть команды не видима.)
У меня на самом деле есть та же проблема, как я использую i3wm. Я предполагаю, так как Вы используете Lubuntu, у Вас должен быть установленный lxappearance. Выполненный, что с gksudo, затем необходимо видеть тему для выбранного gksudo. Измените и примените это, необходимо требовать темы для gksudo.