Categorias
Linux

Linux sux

Na maioria das vezes, as pessoas usam su na linha de comando para se concederem privilégios de administrador de maneira que possam editar um arquivo de configuração importante. Mas também é possível encontrarmos usando su quando se está trabalhando no console e é preciso usar uma aplicação gráfica. Quando você tenta executar uma aplicação gráfica enquanto está autenticado com um usuário diferente, você recebe o seguinte erro:

Xlib: connection to ":0.0" refused by server.

O problema é que as chaves usadas para autenticação em sessões X não são válidas quando se usa um usuário diferente. Esta medida de segurança parece zelosa demais, mas é uma herança do sistema de um tempo em que as sessões X foram desenhadas para ser executadas através da rede. Há duas respostas para este problema.

A primeira é ter certeza de que a nova conta pode ser autenticada no servidor X. Isso utiliza o comando xhost para autenticação de novos usuários na janela da sessão X local. Apenas digite xhost +local:local com o usuário normal antes de trocar para o novo usuário e você verá 'non-network local connections being added to access control list' como saída. Agora é possível que você rode qualquer aplicação gráfica na mesma tela em que trocou de usuário. Se você quer ter este recurso a cada vez que você executa sua sessão X, simplesmente adicione o comando xhost ao seu arquivo .bashrc: ele será executado automaticamente a cada vez que você abre um terminal Bash.

A segunda solução é ainda mais fácil. É a substituição do comando su que transfere suas credenciais X para uma nova sessão automaticamente. O comando é sux, que você precisará instalar manualmente pelo gerenciador de pacotes da sua distribuição. Uma vez instalado, digite sux novousuario para trocar para o usuário com o qual você quer usar a visão X. Você perceberá que pode executar aplicações gráficas pela nova sessão sem nenhuma configuração adicional.

Mais em Truques de linha de comando.

3 respostas em “Linux sux”

Bruno, depende da sua distribuição. No CentOS/Red Hat seria “yum install sux”, em distribuições baseadas no Debian seria “apt-get install sux” e por aí vai.

Deixe uma resposta

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.