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
xhostcorrespondente para tornargksu -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).