TTY é realmente uma instância do terminal virtual. Os primeiros computadores eram apenas caixas gigantes, às quais um terminal físico real era conectado e geralmente chamado de TTY (abreviação de teletipo). Terminais virtuais são chamados de virtuais por essa razão exata - seu computador é agora uma única unidade, e você tem vários tipos de teletipos de software virtual (mais especificamente, para o Ubuntu são 6 ttys, mas você pode gerar mais. Veja minha resposta aqui: link ). No TTY você pode executar processos, seja um shell baseado em texto como bash
ou servidor gráfico dentro do qual executa um shell gráfico.
O que acontece precisamente é que você tem instância específica da GUI em execução (ou, em termos mais técnicos, você tem o servidor X11 em execução) em um determinado tty. No caso do Ubuntu, o padrão é TTY # 7. Quando eu estava usando o Fedora 21, o padrão é TTY1. E você pode ter várias instâncias de GUI, veja isto por exemplo: Iniciar outra GUI em diferentes TTY
Portanto, de forma eficaz, a sessão GUI nada mais é do que um processo separado em execução dentro de um TTY.
Informação adicional: