Super-user (su) e seus derivados
Usando uma distro de Linux é imperativo que estejamos logados como um utilizador normal, e apenas usamos os poderes do super-mega poderoso root quando e só se, seja necessário. Normalmente no Debian é usado o comando "su" para adquirir-mos esse poder do root. Já no Ubuntu e outros derivados é usual usar o comando "sudo" para se conseguir esse objectivo, e é de realçar que este comando é mais poderoso na medida em que pode ser configurado com esse objectivo.
Voltando ao "su", quem já o usou deve ter reparado que quando há a intenção de abrir um programa gráfico, ele não abre e aparece o seguinte erro:
Xlib: connection to ":0.0" refused by server
Nestas situações a solução é utilizar o comando "gksu" ou "kdesu", dependendo do ambiente que se está a utilizar, seja o Gnome ou o KDE. Mas terás de repetir esse comando sempre que queiras usar outra aplicação gráfica como root. Também podes contornar essa limitação fazendo um "gksu gnome-terminal" e dentro do gnome-terminal abrir vários programas gráficos como root.
Outra solução é usar o comando "sux", é o mesmo que o "su" mas sem as tais limitações gráficas, permitindo abrir várias aplicações gráficas do root no ambiente X do utilizador normal.
Concluindo, no Linux há sempre várias soluções para se atingir o mesmo objectivo.
Voltando ao "su", quem já o usou deve ter reparado que quando há a intenção de abrir um programa gráfico, ele não abre e aparece o seguinte erro:
Xlib: connection to ":0.0" refused by server
Nestas situações a solução é utilizar o comando "gksu" ou "kdesu", dependendo do ambiente que se está a utilizar, seja o Gnome ou o KDE. Mas terás de repetir esse comando sempre que queiras usar outra aplicação gráfica como root. Também podes contornar essa limitação fazendo um "gksu gnome-terminal" e dentro do gnome-terminal abrir vários programas gráficos como root.
Outra solução é usar o comando "sux", é o mesmo que o "su" mas sem as tais limitações gráficas, permitindo abrir várias aplicações gráficas do root no ambiente X do utilizador normal.
Concluindo, no Linux há sempre várias soluções para se atingir o mesmo objectivo.
4 comentários:
19 março, 2007 13:15
Minor correction: su - substitute user (ou switch user). A maior parte das pessoas faz a mesma confusão, mas nada como um man su para perceber o nome do comando.
19 março, 2007 14:29
Ou eventualmente fazer:
$ xhost +localhost
Para permitir ligações ao servidor X mas apenas da própria máquina e depois na shell como root:
export DISPLAY=:0
:)
O problema desta solução actualmente residirá no facto que as distros vêm com o X configurado para não aceitar ligações TCP (DisallowTCP=true em /etc/X11/gdm/gdm.conf).
19 março, 2007 19:24
António Dias, por acaso até fiz um "man su" por saber o raio do nome correto do comando e foi isto que vi:
NAME
su - change user ID or become super-user
Não se vê nenhum "switch user" nem "substitute user" mas sim "change user", embora esteja corretíssimo o termo que usaste....
19 março, 2007 21:45
"The Unix su (substitute user) command is used to assume the login shell of another user without logging out."
http://en.wikipedia.org/wiki/Su_(Unix)
O "su" é normalmente utilizado para fazer login como root, mas também pode ser usado para fazer login com outro utilizador: "su utilizador"
Enviar um comentário