Não sei se entendi o que você está tentando fazer.
Se você deseja iniciar um ambiente gráfico conectado automaticamente, não inicie uma sessão de texto, faça o login diretamente no modo gráfico, com um X gerenciador de exibição . Por exemplo, você pode usar o LightDM , para o qual o wiki do Arch tem todas as informações que você precisa:
-
Verifique se há uma linha como esta em
/etc/inittab
:x:2345:respawn:/usr/sbin/lightdm >& /dev/null
-
Ativar autologin em
/etc/lightdm/lightdm.conf
:[SeatDefaults] autologin-user=styne666 autologin-user-timeout=0 pam-service=lightdm-autologin
Se você quiser iniciar uma GUI somente se já não houver uma, aqui está uma maneira de detectar se você está efetuando login em um console de texto e ainda não há um servidor X em execução. Não é perfeito (sempre haverá casos de canto em que isso não faz o que você deseja, porque "não há nenhum servidor X em execução, mas faria sentido iniciar um" não é um requisito preciso), mas deve ser bom o suficiente. Coloque isso no seu .bash_profile
.
case $(tty) in
/dev/tty[0-9]) # running on a text console
if [ -z "$(ps -o pid= -C Xorg)" ]; then # if there no X running?
x=yes
trap 'x=; echo >&2 Will not start x.' INT
echo >&2 'Starting X (press Ctrl+C *now* not to)...'
sleep 2
if [ -n "$x" ]; then # the user didn't press Ctrl+C
exec startxfce4
fi
fi;;
esac