Crie o ID do usuário 'root' para forçar 'gedit' a criar o arquivo de configuração do usuário

3

Ao usar sudo powers e chamar gedit , o menu de nível superior com File Edit View Search Tools Documents Help está ausente.

Se eu criar o ID de usuário root e entrar uma vez e chamar gedit , ele criará os arquivos de configuração de usuário necessários que podem corrigir isso?

Isso também fará com que as mensagens de erro irritantes desapareçam sempre que eu usar sudo , gksu ou pkexec como um usuário comum com privilégios elevados para gedit ?

Haverá outros benefícios com o Nautilus e outros aplicativos derivados do Gnome no Ubuntu?

OBSERVAÇÃO: por sudo permite que você acesse pkexec gedit 3,5k acessos, gksu gedit 40k acessos ou sudo gedit 500k acessos. Eu estou em minoria usando o primeiro método, mas acredito que ele se tornará o padrão no Ubuntu 17.04.

Atualização de 12 de junho de 2017 Aqui está uma lista de erros que você recebe ao usar pkexec gedit :

(gedit:13003): Gtk-WARNING **: Calling Inhibit failed: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service files

** (gedit:13003): WARNING **: Set document metadata failed: Setting attribute metadata::gedit-spell-enabled not supported

** (gedit:13003): WARNING **: Set document metadata failed: Setting attribute metadata::gedit-encoding not supported

** (gedit:13003): WARNING **: Set document metadata failed: Setting attribute metadata::gedit-position not supported

Neste relatório de erros , existe o compromisso de corrigir essas mensagens de distração a partir de 5 de junho de 2017. Nenhuma indicação é dada para quando a correção será upstream nem se a funcionalidade será implementada ou se as mensagens de erro simplesmente desaparecerão.

Observe que o relatório de bug foi enviado há mais de um ano e, ao longo desse período, ele afeta apenas 18 pessoas.

    
por WinEunuuchs2Unix 02.04.2017 / 17:34

2 respostas

11

Mais uma vez, com sentimento. NÃO UTILIZE APLICAÇÕES GRÁFICAS COMO ROOT!

Agora, existem algumas exceções à regra acima. Por exemplo, qualquer parte do painel de controle do Ubuntu que requisita o root é geralmente segura, mas apenas porque mantém os privilégios pelo tempo que for necessário, a partir do qual ele os retornará imediatamente ao modo normal. Da mesma forma, eles também são especialmente projetados para usar root de forma eficaz e de uma maneira que não quebre as coisas. Em suma, tudo o que o gedit e a maioria das outras aplicações não fazem.

Se você realmente precisar que o gedit tenha sua própria configuração na pasta /root , abra-o da seguinte forma:

sudo -i gedit

No entanto, isso ainda não funcionará por vários motivos. Sua barra de menu se foi é mais ou menos um efeito colateral de como funciona o sistema de menu do Ayatana . Em suma, o sistema está tentando criar objetos de menu para / de propriedade do usuário root , o que faz com que as coisas sejam decididamente quebradas.

Você pode contornar a falta de um menu usando sudo ' -E flag, mas isso ainda fará com que o DBus / DConf / whatever fique irritado com você. Neste modo, o menu será incorporado na janela gedit diretamente, porque ainda não podemos obter um link para o DBus / Ayatana.

Isso ecoa o sentimento dos desenvolvedores do Ubuntu e não é um bug . Eles são da opinião de que a GUI é efetivamente "modo fácil", e root access é efetivamente não "modo fácil". Se você quiser root , vá para o terminal e use-o lá. De fato, essa é uma forma válida de resistência - se você não pode usar nano para editar arquivos, você não deve ficar bisbilhotando como o usuário root .

Se você absolutamente deve usar root sob a GUI (que eu altamente aconselho que você não faça, mesmo como seu próprio usuário) , crie um arquivo chamado /etc/lightdm/lightdm.conf e coloque isso no arquivo:

[SeatDefaults]
greeter-show-manual-login=true

Reinicie o serviço lightdm usando sudo systemctl restart lightdm.service e você poderá fazer o login como root . Se você não usar lightdm , localize e siga as instruções correspondentes ao gerenciador de exibição.

Você também precisará reativar a conta root, o que pode ser feito simplesmente executando o seguinte comando:

sudo passwd root

Certifique-se de escolher uma senha muito strong, pois isso permitirá permitir logins root no seu sistema . Note que isto é também contra todas as recomendações lá fora porque sudo existe e é muito mais seguro / menos propenso a permitir que você, acidentalmente, quebre algo.

Nesse ponto, quando você realmente fizer isso, gedit funcionará como raiz (como esperado) na sessão de usuário root . No entanto, no segundo que você voltar para a sua sessão principal, ele ainda se recusará a trabalhar (pelos motivos listados acima).

A conta root não deve ser usada para ignorar o erro de Permission denied muito odiado por bem ou por mal. Pense nessa mensagem da seguinte forma:

  

Ei, o que você está fazendo pode ter efeitos colaterais graves em seu sistema. Pense com muito cuidado e verifique novamente o seu comando para se certificar de que está fazendo exatamente o que pretende fazer. Se você tem certeza de que é isso que deseja fazer, escolha o nível de privilégio mais baixo possível para fazer o que quiser.

Mesmo assim, veja se há uma solução que não envolva escalar para uma conta privilegiada. É muito mais fácil excluir e recriar um usuário desfeito do que recriar um sistema corrompido.

    
por Kaz Wolfe 02.04.2017 / 20:30
0

Ao usar gksu gedit , você perde os menus de nível superior ( File , Edit , View , Search , etc) e preferências como a tabulação.

Para obter isso, você precisa preservar o ambiente usando gksu -k gedit . No entanto, além de uma ou duas mensagens de erro irritantes do GTK, geralmente associadas a gedit , você obtém muito mais. Para evitar este prefixo, o comando com nohup redireciona as mensagens de erro irritantes para nohup.txt .

Tente isso então:

$ nohup gksu -k gedit /etc/default/grub
nohup: ignoring input and appending output to 'nohup.out'

Você poderá acessar o menu de nível superior gedit . Se suas paradas de tabulação foram definidas como 4 com seu ID de usuário normal, elas serão 4 em vez do padrão 8, como antes. O terminal não receberá spam com mensagens de erro.

Da mesma forma, você pode usar pkexec em vez de gksu , mas não conseguirá que sua guia personalizada pare o padrão de 8. Você pode alterá-los rapidamente toda vez que abrir o editor. Para pxexec use:

nohup pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY GTK_MODULES=$GTK_MODULES DBUS_SESSION_BUS_ADDRESS=$DBUS_SESSION_BUS_ADDRESS gedit /etc/default/grub
    
por WinEunuuchs2Unix 30.07.2017 / 21:58