Não é possível executar o gedit como um usuário diferente

5

Eu faço o login como usuário 'foo' e se eu conseguir executar o gedit e editar arquivos na minha máquina Ubuntu 12.04 com uma configuração DISPLAY como: 0

Se eu "su-bar" e, em seguida, tentar editar arquivos, recebo um erro sem protocolo especificado e ele não abre os arquivos necessários. Qual é o problema aqui?

    
por user352290 12.07.2012 / 07:01

3 respostas

4

gedit é um programa gráfico, assim como você não o executaria como root com sudo direto , você não deve executá-lo como outro usuário com sudo direto ou su direto.

Em vez disso, se você (ou seja, foo ) tiver o poder de executar programas como outro usuário com sudo , provavelmente esta é a maneira mais fácil para foo executar gedit as bar :

xhost +local:bar
gksu -u bar gedit

Se você não tem o poder de executar programas como outro usuário com sudo , mas você pode su to bar , então esta é a maneira mais fácil:

gksu -w -u bar gedit

O sinal -w (equivalente a --su-mode ) torna gksu (que é um frontend para sudo e su ) usar su em vez de sudo .

  • Você não precisa executar nenhum comando xhost correspondente para tornar gksu -w ... work.

Se você quiser uma instância de terminal gráfica ( gnome-terminal ) a partir da qual você pode executar qualquer coisa como bar , incluindo aplicativos gráficos, considere a possibilidade de executar uma nova instância de gnome-terminal como bar (o que você pode fazer da mesma forma que executando gedit , detalhado acima).

    
por Eliah Kagan 12.07.2012 / 14:18
1

você pode fazer isso por

ssh -l Outro usuário -X localhost gedit

há uma nova janela em sua área de trabalho, mas com ambiente de "Outro usuário"!

Eu testei isso com o Ubuntu 10.04 LTS na minha caixa!

    
por Günter 07.08.2014 / 22:22
-2

A sintaxe que você fornece não parece correta. Se você quiser mudar para o usuário 'bar', então eu acredito que você deve usar "su bar". Mas se isso não estiver certo, acho que você receberia um erro no momento em que tentar trocar de usuário. Talvez seja um erro de digitação em sua pergunta ou su leva de qualquer maneira.

Eu acho mais provável que o problema é que o gedit é um editor baseado em gui e está tentando iniciar na sessão x do usuário, que não existiria se você alterasse os usuários alterados através do terminal. O que acontece se você usar "vi file_to_edit"? Vi é um editor baseado em terminal e não deve ser afetado por dificuldades de interface gráfica.

edite: Eu preciso pegar alguns óculos de computador, eu pensei que o comando que você colocou foi "su -bar". Mas "su - bar" é uma sintaxe válida.

    
por user76496 12.07.2012 / 07:23

Tags