Não posso tentar isso completamente, pois todas as minhas máquinas têm o root desativado.
Para descobrir em qual tela um usuário está, você pode usar o who
comando A última coluna de saída é geralmente o DISPLAY no qual o usuário está conectado. Algo assim pode ser usado para capturar apenas a tela (provavelmente existe uma maneira muito mais eficiente de fazer isso, fique à vontade para oferecer edições):
who | grep -m1 ^username.*\( | awk '{print $5}' | sed 's/[(|)]//g'
Em seguida, para lançar um comando gráfico X nessa exibição:
DISPLAY=:0 firefox &
onde: 0 seria substituído por qualquer exibição que você encontrasse no primeiro comando e o firefox seria substituído pelo comando que você deseja executar. Você pode colocar isso em um script de shell e apenas usar uma variável.
A próxima parte é a parte que não testei, mas não vejo por que não deveria ser possível:
su username -c "DISPLAY=:0 firefox"
para iniciar o comando X como esse usuário.
naga_plugged.pl
script termine (ou bifurque-se em segundo plano), poisudev
estará aguardando sua saída.