Existem algumas maneiras de produzir o ID do usuário (UID) com ps ; um simples é com -f :
ps -fC X
Fornecerá informações para todos os servidores X que estão em execução (pode haver mais de um).
Isso pressupõe que o executável é chamado X - se não houver esse processo, você terá que segmentar outra coisa. Como é quase certo que pelo menos tem o X (por exemplo, Xorg , X11 ), uma alternativa é filtrar através do grep:
ps -o uid,comm -A | grep X
Isso remove os cabeçalhos das colunas, mas o UID é o numérico à esquerda. Se isso for 0 , o processo estará executando a raiz. Se nada aparecer, tente ps -fA | grep X ; este envolve mais desordem.
Finalmente, se não houver nenhum processo com capital X em seu nome, tente x ; você pode pelo menos encontrar comandos usados para controlá-lo, como startx ou xinit . Você também pode tentar dm , já que os gerentes de exibição geralmente têm isso em seu nome ( gdm , etc). No entanto, nenhum deles é realmente o servidor X e, embora xinit inicie o servidor, o executável do servidor geralmente tem setuid bit set , ou seja, mesmo que xinit tenha um UID não privilegiado, X ainda será executado como root .