AFAIK não há distinção entre usuários GUI e usuários não-GUI: em vez disso, há convencionalmente uma distinção entre usuários do sistema e usuários que não são do sistema .
Os usuários do sistema têm um UID numérico baixo: especificamente, o arquivo /etc/login.defs define
#
# Min/max values for automatic uid selection in useradd
#
UID_MIN 1000
UID_MAX 60000
# System accounts
#SYS_UID_MIN 100
#SYS_UID_MAX 999
Os gerenciadores de exibição da GUI, como lightdm , geralmente são configurados para ignorar as contas do sistema: em lightdm , isso é feito usando uma opção de configuração minimum-uid :
[UserList]
minimum-uid=500
hidden-users=nobody nobody4 noaccess
hidden-shells=/bin/false /usr/sbin/nologin
Por que minimum-uid 500 não é 1000? AFAIK que é para compatibilidade com outros sistemas, em particular o OSX que usa UID_MIN de 500
Para efetuar login, o usuário também precisará de um shell de login válido (conforme especificado no arquivo /etc/shells ) e para efetuar login com uma sessão GUI, eles também precisam de um diretório inicial gravável.