O que o comando tty do Linux faz? Ele exibe o nome do terminal que você está usando.
Origem do Linux tty
Qual é a origem do termo “tty”? Bem, isso é um pouco mais difícil de explicar…
Teleimpressoras de outrora
Durante as décadas de 1830 e 1840, foram desenvolvidas máquinas chamadas teleimpressoras. Esses dispositivos podem transmitir mensagens digitadas “pelo fio” para outros lugares. O remetente usava um dispositivo semelhante a um teclado para digitar a mensagem e ela era impressa em papel na extremidade receptora. Eles foram um passo evolutivo na telegrafia, que anteriormente dependia de Morse.
As mensagens eram criptografadas e enviadas, depois decodificadas e impressas. Eles foram codificados usando uma variedade de técnicas. O mais famoso, bem como um dos mais prolíficos, foi patenteado em 1874 por Émile Baudot, a quem a “taxa de transmissão” é nomeada. Seu método de codificação de caracteres precedeu o ASCII em 89 anos.
A codificação de Baudot acabou se tornando o padrão de fato para a codificação de teleimpressoras e foi adotada pela maioria dos fabricantes. O design de hardware original de Baudot consistia em apenas cinco teclas, semelhante ao piano. Para cada letra, o operador precisava memorizar uma sequência de teclas específica. O sistema de codificação Baudot foi posteriormente vinculado a um layout de teclado tradicional.
Para comemorar esse progresso, as máquinas foram apelidadas de teletipos. A palavra teletipos foi abreviada para TTYs, que acabou se tornando seu nome comum. Então, qual é o problema com a telegrafia e os computadores?
ASCII e Telex
Os fabricantes de teletipos o adotaram em 1963 e se tornaram o padrão da indústria para transmissão de texto. Apesar da invenção e do uso generalizado do telefone, os teletipos ainda eram predominantes.
Telex era uma rede mundial de teletipo que permitia que comunicações escritas fossem enviadas para todo o mundo. Foi o principal meio de envio de informações escritas ao longo da era pós-Segunda Guerra Mundial até o boom das máquinas de fax na década de 1980.
Os computadores também estavam melhorando. Eles foram capazes de interagir com os usuários finais em tempo real e dar suporte a muitas pessoas. A antiga abordagem de trabalho em lote se mostrou insuficiente. As pessoas não queriam esperar 24 horas ou mais pelos resultados. Fazer pilhas de cartões perfurados e esperar durante a noite pelos resultados não era mais aceitável.
O advento dos computadores e o desenvolvimento de uma nova tecnologia criaram a necessidade de um software que permitisse aos usuários enviar e receber dados. Queríamos eficiência.
O teletipo reaproveitado
O teletipo era um candidato ideal para um dispositivo de entrada/saída porque era uma máquina que permitia que as mensagens fossem digitadas, codificadas, transmitidas, recebidas, decodificadas e impressas.
O teletipo não se importava se o dispositivo na outra extremidade do link não fosse outro teletipo. O teletipo estava bom, desde que pudesse falar a mesma linguagem de codificação. Ele usava um teclado mais ou menos padrão com um layout ligeiramente alterado.
Teletipos emulados por hardware
Os teletipos tornaram-se a maneira de fato de interagir com grandes computadores mini e mainframe daquela época, substituindo as máquinas de telégrafo.
Estes acabaram sendo suplantados por dispositivos que os simulavam usando eletrônica, com tubos de raios catódicos (CRTs) em vez de rolos de papel. Eles não tremeram enquanto entregavam as respostas do computador. Eles habilitaram recursos anteriormente impossíveis, como mover o cursor pela tela, limpar a tela e texto em negritoentre outras coisas.
O DEC VT05 foi um dos primeiros teletipos virtuais, e seu descendente é o renomado DEC VT100. O DEC VT100 já vendeu milhões de unidades.
Teletipos emulados por software
A janela do terminal e aplicativos como x-term e Konsole são teletipos virtuais no ambiente de desktop Linux e outros sistemas operacionais do tipo Unix, como o macOS. No entanto, eles são inteiramente simulados. Eles são chamados de teletipos falsos. A sigla foi encurtada para PTS.
E é aí que entra o comando tty do Linux.
Falando em MacOS, você gostaria de instalar o Linux no seu iPad?
O que o tty pode fazer no Linux?
Existe um “multiplexador pseudo-teletipo” no Linux que lida com todas as conexões PTS da janela do terminal. O mestre é o multiplexador e os PTS são seus escravos. O kernel se comunica com o multiplexador através de seu arquivo de dispositivo em /dev/ptmx
O comando tty imprimirá o nome do arquivo de dispositivo que seu pseudo-teletipo escravo está usando para fazer interface com o mestre. E esse, efetivamente, é o número da janela do seu terminal.
Vamos ver o que o tty do Linux relata:
tty
A resposta mostra que estamos conectados ao arquivo do dispositivo em /dev/pts/0.
A janela do terminal, que é uma imitação de software de um teletipo, está vinculada ao multiplexador de pseudoteletipo como um PTS. E é zero.
A opção silenciosa
A opção -s (silencioso) faz com que tty não gere saída.
tty -s
Ele produz um valor de saída se:
0: se a entrada padrão for proveniente de um dispositivo TTY, emulado ou físico.
1: se a entrada padrão não for proveniente de um dispositivo TTY.
2: Erro de sintaxe, parâmetros de linha de comando incorretos foram usados.
3: Ocorreu um erro de gravação.
Isso será mais útil em scripts Bash. No entanto, mesmo na linha de comando, podemos mostrar como executar um comando se você estiver em uma janela de terminal (uma sessão TTY ou PTS).
tty -s && echo "In a tty"
Como estamos executando em uma sessão TTY, nosso código de saída é 0 e o segundo comando é executado.
Relacionado: Você precisa conferir esses 189 comandos de terminal Linux
Quem comanda
O comando “who” listará todos os usuários logados. User2 e User3 são conectados remotamente ao computador Linux. Eles estão conectados ao PTS um e dois. User1 é mostrado como conectado a “:0”. O arquivo do dispositivo da tela e do teclado está conectado ao multiplexador do computador. Embora a tela e o teclado sejam dispositivos de hardware, eles ainda estão vinculados ao multiplexador por meio de um arquivo de dispositivo. tty indica que é /dev/pts/2.
who
Acessando um TTY
Mantendo pressionadas as teclas Ctrl+Alt e pressionando uma das teclas de função, você pode acessar uma sessão TTY de tela inteira. Ctrl+Alt+F3 abrirá o prompt de login de tty3. Se você efetuar login e emitir o comando tty, verá que está conectado a /dev/tty3.
Este não é um teletipo falso (emulado em software); é um teletipo virtual (emulado em hardware). Ele está emulando um teletipo virtual, como o DEC VT100, com a tela e o teclado conectados ao seu computador. Se desejar, você pode estabelecer quatro sessões Linux TTY usando as teclas de função com a combinação Ctrl+Alt. Se você selecionar esta opção, por exemplo, e estiver logado em tty3, pressione Ctrl+Alt+F6 para ir para tty6.
Para voltar ao ambiente gráfico da área de trabalho, pressione Ctrl+Alt+F2. Se você estiver usando um ambiente de área de trabalho gráfico, pressionar Ctrl+Alt+F1 o levará de volta à tela de login da sua sessão de área de trabalho gráfica. Os consoles Linux TTY de tela cheia podem ser acessados de uma só vez usando as teclas Ctrl+Alt+F1 a Ctrl+Alt+F6, e o retorno ao ambiente gráfico da área de trabalho é possível por meio de Ctrl+Alt+F7. Se você estiver usando uma distribuição Linux mais antiga, pode ser assim que funciona para você.
Isso foi testado nas versões atuais do Manjaro, Ubuntu e Fedora e todos se comportaram assim:
Ctrl+Alt+F1: Retorna à tela de login do ambiente gráfico da área de trabalho.
Ctrl+Alt+F2: Retorna ao ambiente gráfico da área de trabalho.
Ctrl+Alt+F3: Abre o TTY 3.
Ctrl+Alt+F4: Abre o TTY 4.
Ctrl+Alt+F5: Abre o TTY 5.
Ctrl+Alt+F6: Abre o TTY 6.
Ter acesso a esses consoles de tela cheia permite que os usuários utilizem instalações do Linux somente por linha de comando, e muitos servidores Linux são configurados dessa maneira para ter vários consoles acessíveis.
Você já trabalhou em um sistema Linux com uma interface gráfica de usuário e algo congelou sua sessão? Agora você pode ir para uma das sessões do console TTY para tentar corrigir o problema.
Usar top
e ps
para procurar o aplicativo com falha e, em seguida, encerre-o com kill ou simplesmente encerre o mais suavemente possível.
As 3 letrinhas que têm uma longa história
O comando tty do Linux recebe o nome de um dispositivo obsoleto do final dos anos 1800, que foi usado pela primeira vez no Unix em 1971, e ainda faz parte do Linux e de outros sistemas operacionais semelhantes ao Unix. Este pequeno sujeito tem uma grande história por trás dele.