curto: não execute o aplicativo como root
longo:
A mensagem diz o que está errado. A maneira comum de obter essa mensagem é fazer login (como usuário normal e sem privilégios) e usar su
ou sudo
para alternar para o > root
usuário.
A mensagem (e verificação) foi adicionada em 1997 (ela apareceu primeiro como um patch para o XFree86 no final de junho como um acompanhamento para discussão em maio, e duas semanas depois no X11R6.3).
Antes disso, root
poderia se conectar à sua sessão X e executar qualquer programa que você escolhesse (como root
). Infelizmente, muitos dos programas que provavelmente seriam usados não eram seguros. (Esse ainda é o estado de quase todos os aplicativos de desktop).
A biblioteca X que faz a verificação faz isso depois de ver que é o usuário de root
e, em seguida, remove as variáveis de ambiente (como DISPLAY
) que podem tentá-lo para cair nesse pântano de aplicações não seguras.
Alguns sistemas permitem que o usuário de root
faça login em uma sessão de desktop; para aqueles aplicativos imediatamente acessíveis foram selecionados para manter as coisas relativamente seguras. Alguns não fazem isso.
Agora ... no Red Hat 7, xterm
não está instalado set-uid ou set-gid. O set-uid to root foi usado há 20 anos para abrir os pseudo-terminais do estilo BSD, e o set-gid foi usado para atualizar o utmp. Ambos os que foram embora há um tempo atrás. Você pode ver isso fazendo
ls -l /usr/bin/xterm
Se houver uma permissão de usuário do set-uid ou root, o lugar para começar a procurar é no shell a partir do qual você está executando o xterm.