Сохранение темы GTK с gksudo

У меня есть компьютер с два (не одновременный) пользователи, которые находятся оба в sudo группа. Есть ли способ сохранить тему пользователя GTK с gksudo, например, при выполнении менеджера по обновлению? По умолчанию тема Роли используется.

Я использую Lubuntu 14.04 с простым менеджером окон (Черный ящик) и никакой менеджер по оформлению.

2
задан 30 August 2014 в 10:59

2 ответа

Я не уверен почему приложения, запущенные через gksudo не используют тему Вашего пользователя. Это работает на меня в полной системе Lubuntu. (Но это использует Openbox, не Черный ящик.), К счастью:

  • Лучшее решение для программы как Менеджер обновлений состоит в том, чтобы, вероятно, установить polkit (который обычно присутствует), и запустите Менеджер обновлений без gksudo. (См. Путь 1 ниже.)
  • Для приложений, которые действительно должны быть запущены как корень, или если Вы не хотите установленный polkit, обходное решение должно указать тему, с которой Вы хотите GTK_THEME (см. путь 2 и путь 3).

Путь 1: Установите polkit (иначе. PolicyKit).

Лучшее решение для утилит как:

  • Программное обеспечение Updater / Менеджер обновлений (update-manager)
  • Центр программного обеспечения Ubuntu (software-center)
  • Центр программного обеспечения Lubuntu (lubuntu-software-center)
  • Программное обеспечение и Обновления (software-properties-gtk)

... и многие из других утилит системного администрирования в Ubuntu, не должен просто выполнять их как корень вообще.

Обычно Вы не должны выполнять эти утилиты как корень, потому что они интегрируются с polkit и используют его (вместо sudo) выполнить аутентификацию, когда необходимо. Начиная с программы, показывающей Вам, пользовательский интерфейс на самом деле работает как Вы и не как корень, это отображается в соответствии с конфигурацией Вашей учетной записи пользователя.

Обычно ничто специальное не должно быть сделано для достижения этого, даже в системе Lubuntu. Ubuntu разработана так, чтобы эти утилиты могли просто быть выполнены как некорневой пользователь без любой специальной конфигурации.

Но так как Ваша система особенно минимальна, у Вас, вероятно, нет polkit установленным. Можно получить его путем установки policykit-1Install policykit-1 и policykit-1-gnomeInstall policykit-1-gnome пакетов.

sudo apt-get update
sudo apt-get install policykit-1 policykit1-1-gnome

С установленным polkit эти utlities должны автоматически использовать его и не должны будут быть запущены как корень.

Однако это не может подойти:

  • если Вы не хотите устанавливать polkit, или
  • для выполнения GTK + программы как корень, которые не были записаны для использования polkit (такого как Leafpad или Gedit).

Путь 2: Установите желаемый GTK + тема, когда Вы будете работать gksudo.

Предположим, что Вы хотите работать gedit как корень. Обратите внимание, что эта техника работает тот же путь к другому GTK + программы (такие как Менеджер обновлений).

Вместо выполнения gksudo gedit, можно работать:

gksudo env GTK_THEME=HighContrast gedit

Замена HighContrast с названием желаемой темы.

(Я использую env потому что, хотя sudo поддержки sudo VARIABLE=name command синтаксис, gksu/gksudo не делает.)

Путь 3: Сделайте средство запуска, что это устанавливает желаемую тему.

Это совпадает с Путем 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.), Но это не обычно необходимо.

enter image description here
Создание средства запуска для gksudo env GTK_THEME HighContrast gedit. (Левая часть команды не видима.)

1
ответ дан 5 August 2019 в 07:45

У меня на самом деле есть та же проблема, как я использую i3wm. Я предполагаю, так как Вы используете Lubuntu, у Вас должен быть установленный lxappearance. Выполненный, что с gksudo, затем необходимо видеть тему для выбранного gksudo. Измените и примените это, необходимо требовать темы для gksudo.

0
ответ дан 5 August 2019 в 07:45

Другие вопросы по тегам:

Похожие вопросы: