Preservando o tema GTK com o gksudo

2

Eu tenho um computador com dois usuários (não simultâneos) que estão no grupo sudo . Existe uma maneira de preservar o tema GTK do usuário com gksudo , por exemplo, ao executar o gerenciador de atualização? Por padrão, o tema Raleigh é usado.

Eu uso o Lubuntu 14.04 com um gerenciador de janelas simples (Blackbox) e nenhum gerenciador de exibição.

    
por August Karlstrom 29.08.2014 / 13:50

2 respostas

1

Não sei ao certo por que os aplicativos lançados por meio de gksudo não estão usando o tema do usuário. Isso funciona para mim em um sistema completo do Lubuntu. (Mas isso usa o Openbox, não o Blackbox.) Felizmente:

  • A melhor solução para um programa como o Update Manager é provavelmente instalar o polkit (que normalmente está presente) e executar o Update Manager sem gksudo . (Veja Way 1 abaixo.)
  • Para aplicativos que precisam ser iniciados como root, ou se você não quiser que o polkit seja instalado, uma solução alternativa é especifique o tema desejado com GTK_THEME (consulte Caminho 2 e 3 ).

Caminho 1: Instale o polkit (também chamado de PolicyKit).

A melhor solução para utilitários como:

  • Atualizador de Software / Gerenciador de Atualizações ( update-manager )
  • Centro de Software do Ubuntu ( software-center )
  • Centro de Software Lubuntu ( lubuntu-software-center )
  • Software e amp; Atualizações ( software-properties-gtk )

... e muitos dos outros utilitários de administração do sistema no Ubuntu, é não executá-los como root.

Normalmente, você não precisa executar esses utilitários como root porque eles se integram ao polkit e usá-lo (em vez de sudo ) para executar a autenticação (apenas) quando necessário. Como o programa que mostra a interface do usuário é executado como você e não como root, ele é exibido de acordo com a configuração da sua conta de usuário.

Normalmente nada especial deve ser feito para conseguir isso, mesmo em um sistema Lubuntu. O Ubuntu é projetado para que esses utilitários possam ser executados apenas como um usuário não-root, sem qualquer configuração especial.

Mas já que seu sistema é especialmente mínimo, você provavelmente não tem o polkit instalado. Você pode obtê-lo instalando o policykit-1 e pacote policykit-1-gnome .

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

Com o polkit instalado, esses usuários devem usá-lo automaticamente e não precisarão ser lançados como root.

No entanto, isso pode não ser adequado:

  • se você não quiser instalar o polkit, ou
  • para executar programas GTK + como root que não foram escritos para usar o polkit (como o Leafpad ou o Gedit).

Caminho 2: defina o tema desejado do GTK + quando você executar gksudo .

Suponha que você queira executar gedit como root. Note que esta técnica funciona da mesma maneira para outros programas GTK + (como o Update Manager).

Em vez de executar gksudo gedit , você pode executar:

gksudo env GTK_THEME=HighContrast gedit

Substitua HighContrast pelo nome do tema desejado.

(eu uso env porque embora sudo suporta sudo VARIABLE=name command sintaxe, gksu / gksudo não.)

Caminho 3: crie um iniciador que defina o tema desejado.

Este é o mesmo que o Caminho 2, apenas executando seu programa através de um ativador, em vez de digitar um comando a cada vez.

Para fazer um atalho para executar um programa (como gedit ) com um tema específico do GTK + (como HighContrast ) como root no LXDE, execute:

lxshortcut -o ~/Desktop/'gedit (as root)'

Em vez de gedit (as root) , coloque o que quiser como nome de exibição do iniciador.

Na janela Propriedades do arquivo que aparece quando você executa esse comando, clique na guia Entrada da área de trabalho. Na caixa de texto rotulada comando, coloque:

gksudo env GTK_THEME=HighContrast gedit

Você pode deixar todo o restante em branco e clicar em OK.

Se desejar, você pode usar os caminhos completos dos executáveis que estão sendo executados ( /usr/bin/gksudo e, neste exemplo, /usr/bin/gedit .) Mas isso geralmente não é necessário.


Criando um iniciador para gksudo env GTK_THEME HighContrast gedit . (A parte esquerda do comando não está visível.)

    
por Eliah Kagan 30.08.2014 / 03:20
0

Na verdade, tenho o mesmo problema que uso o i3wm. Eu suponho que desde que você esteja usando o Lubuntu, você deve ter o lxappearance instalado. Execute isso com gksudo, então você deve ver o seu tema para o gksudo selecionado. Mude e aplique isso, você deve ter o tema desejado para o gksudo.

    
por Richard Wong 21.08.2016 / 10:54