Se você der uma olhada na pasta /etc/init
, o comando responsável por exibir TTY
é getty. Para cada TTY existe um arquivo * .conf em /etc/init
, então se você quiser um prompt colorizado em todos os TTY, você terá que editar cada um desses desses arquivos.
Agora, o arquivo responsável pelo conteúdo exibido na tela antes de efetuar login é /etc/issue
, no entanto, getty
permite especificar um arquivo de problemas personalizado com -f
flag. Você pode fazer isso ou editar o arquivo /etc/issue
original. Esteja ciente de que este arquivo será sobrescrito com a próxima atualização para a versão mais recente do Ubuntu.
Quanto a colorir esse texto, é muito fácil: use a sequência de escape \[
e o código para o caractere não impresso .
Em particular, para tornar o prompt verde, faça o seguinte:
sudo bash -c 'echo -e "3[1;32m My Laptop \n \l " > /etc/issue '
Por que não sudo echo
? Como o redirecionamento é feito pelo shell, e a menos que você esteja logado como root, seu shell não tem permissão para gravar no arquivo de propriedade da raiz (como explicado em aqui ).
Por que não adicionar 3[1;32m
manualmente? Porque então é tratado como texto.
Aqui está o hexdump antes e depois de editar o arquivo
CURRENT DIR:[/home/xieerqi]
$ echo -e "3[1;33m TEST MESSAGE" > issue2
CURRENT DIR:[/home/xieerqi]
$ hexdump -c issue2
0000000 033 [ 1 ; 3 3 m T E S T M E S
0000010 S A G E \n
0000015
CURRENT DIR:[/home/xieerqi]
$ nano issue2
CURRENT DIR:[/home/xieerqi]
$ hexdump -c issue2
0000000 ^ [ [ 1 ; 3 3 m T E S T M E
0000010 S S A G E \n
0000016
Em palavras simples, queremos caracteres especiais, não apenas texto
/etc/issue
é de propriedade da raiz, portanto, você precisará editá-lo com gksu gedit /etc/issue
ou sudo nano /etc/issue
. Você pode usar qualquer editor de texto, mas o ponto é - você precisa do sudo.
Uma vez feito, reinicie o TTY1 de outro terminal executando sudo service tty1 restart
ou se você estiver usando 15.04 sudo systemctl restart tty1