Os terminais fornecem uma maneira conveniente e barata de acessar um sistema FreeBSD quando não estão no console do computador ou em uma rede conectada. Esta seção descreve como usar terminais com o FreeBSD.
Os sistemas originais UNIX® não tinham consoles. Em vez disso, os usuários efetuaram login e executaram programas por meio de terminais conectados as portas seriais do computador.
A capacidade de estabelecer uma sessão de login em uma porta serial ainda existe em quase todos os sistemas operacionais do tipo UNIX® hoje, incluindo o FreeBSD. Usando um terminal conectado a uma porta serial não usada, um usuário pode efetuar login e executar qualquer programa de texto que possa ser executado normalmente no console ou em uma janela xterm
.
Muitos terminais podem ser conectados a um sistema FreeBSD. Um computador sobressalente mais antigo pode ser usado como um terminal conectado a um computador mais potente executando o FreeBSD. Isso pode transformar o que poderia ser um computador de usuário único em um poderoso sistema de múltiplos usuários.
O FreeBSD suporta três tipos de terminais:
Terminais burro são um hardware especializado que se conecta a computadores através de linhas seriais. Eles são chamados de “dumb” porque eles possuem apenas poder computacional suficiente para exibir, enviar e receber texto. Nenhum programa pode ser executado nesses dispositivos. Em vez disso, os terminais burros se conectam a um computador que executa os programas necessários.
Existem centenas de tipos de terminais burro feitos por muitos fabricantes, e praticamente qualquer tipo funciona com o FreeBSD. Alguns terminais high-end podem até exibir gráficos, mas apenas determinados pacotes de software podem aproveitar esses recursos avançados.
Terminais burro são populares em ambientes de trabalho onde os trabalhadores não precisam de acesso a aplicativos gráficos.
Como um terminal burro tem capacidade suficiente para exibir, enviar e receber texto, qualquer computador de reserva pode ser um terminal burro. Tudo o que é necessário é o cabo adequado e algum software de terminal emulation para ser executado no computador.
Esta configuração pode ser útil. Por exemplo, se um usuário está ocupado trabalhando no console do sistema FreeBSD, outro usuário pode fazer algum trabalho somente de texto ao mesmo tempo de um computador pessoal menos potente ligado como um terminal ao sistema FreeBSD.
Existem pelo menos dois utilitários no sistema base do FreeBSD que podem ser usados para trabalhar através de uma conexão serial: cu(1) e tip(1).
Por exemplo, para conectar-se de um sistema cliente que executa o FreeBSD para a conexão serial de outro sistema:
#
cu -l /dev/cuau
N
Portas são numeradas a partir de zero. Isso significa que COM1
é /dev/cuau0
.
Programas adicionais estão disponíveis através da coleção de ports, como comms/minicom.
Os terminais X são o tipo de terminal mais sofisticado disponível. Em vez de se conectar a uma porta serial, eles geralmente se conectam a uma rede como a Ethernet. Em vez de serem relegados a aplicativos somente de texto, eles podem exibir qualquer aplicativo Xorg.
Este capítulo não cobre a configuração ou uso de terminais X.
Esta seção descreve como configurar um sistema FreeBSD para ativar uma sessão de login em um terminal serial. Assume-se que o sistema reconhece a porta serial a qual o terminal está conectado e que o terminal está conectado com o cabo correto.
No FreeBSD, o init
lê o /etc/ttys
e inicia um processo getty
nos terminais disponíveis. O processo getty
é responsável por ler um nome de login e iniciar o programa login
. As portas no sistema FreeBSD que permitem logins estão listadas em /etc/ttys
. Por exemplo, o primeiro console virtual, ttyv0
, possui uma entrada nesse arquivo, permitindo logins no console. Este arquivo também contém entradas para os outros consoles virtuais, portas seriais e pseudo-ttys. Para um terminal com fio, a entrada /dev
da porta serial é listada sem a parte /dev
. Por exemplo, /dev/ttyv0
está listado como ttyv0
.
Por padrão o /etc/ttys
configura o suporte para as quatro primeiras portas seriais, ttyu0
até ttyu3
:
ttyu0 "/usr/libexec/getty std.9600" dialup off secure ttyu1 "/usr/libexec/getty std.9600" dialup off secure ttyu2 "/usr/libexec/getty std.9600" dialup off secure ttyu3 "/usr/libexec/getty std.9600" dialup off secure
Ao conectar um terminal a uma destas portas, modifique a entrada padrão para definir a velocidade e o tipo de terminal necessários, para ligar o dispositivo on
e, se necessário, para alterar o secure
da porta. Se o terminal estiver conectado a outra porta, adicione uma entrada para a porta.
Exemplo 26.1, “Configurando Entradas de Terminal” configura dois terminais em /etc/ttys
. A primeira entrada configura um Wyse-50 conectado ao COM2
. A segunda entrada configura um computador antigo executando o software do terminal Procomm emulando um terminal VT-100. O computador está conectado à sexta porta serial em uma placa serial com várias portas.
ttyu1"/usr/libexec/getty std.38400"
wy50
on
insecure
ttyu5 "/usr/libexec/getty std.19200" vt100 on insecure
O primeiro campo especifica o nome do dispositivo do terminal serial. | |
O segundo campo informa ao Ao definir o tipo de getty, certifique-se de coincidir com as configurações de comunicação usadas pelo terminal. Para este exemplo, o Wyse-50 não usa paridade e se conecta a 38400 bps. O computador não usa paridade e se conecta a 19200 bps. | |
O terceiro campo é o tipo de terminal. Para portas dial-up, | |
O quarto campo especifica se a porta deve estar ativada. Para ativar logins nessa porta, este campo deve ser definido como | |
O campo final é usado para especificar se a porta é segura. Marcar uma porta como |
Depois de fazer qualquer alteração em /etc/ttys
, envie um sinal SIGHUP (hangup) para o processo init
para forçá-lo a reler seu arquivo de configuração:
#
kill -HUP 1
Como o init
é sempre o primeiro processo executado em um sistema, ele sempre tem um processo ID de 1
.
Se tudo estiver configurado corretamente, todos os cabos estiverem no lugar e os terminais ligados, um processo getty
deverá estar em execução em cada terminal e as solicitações de login deverão estar disponíveis em cada terminal.
Mesmo com a mais meticulosa atenção aos detalhes, algo poderia dar errado ao configurar um terminal. Aqui está uma lista de sintomas comuns e algumas correções sugeridas.
Se nenhum prompt de login aparecer, verifique se o terminal está conectado e ligado. Se for um computador pessoal atuando como um terminal, verifique se ele está executando o software de emulação de terminal na porta serial correta.
Certifique-se de que o cabo esteja conectado firmemente ao terminal e ao computador do FreeBSD. Certifique-se de que é o tipo certo de cabo.
Certifique-se de que o terminal e o FreeBSD concordem com as configurações de taxa e paridade de bps. Para um terminal de exibição de vídeo, verifique se os controles de contraste e brilho estão ativados. Se for um terminal de impressão, verifique se o papel e a tinta estão em bom estado.
Use ps
para certificar-se de que um processo getty
esteja em execução e atendendo ao terminal. Por exemplo, a listagem a seguir mostra que um getty
está sendo executado na segunda porta serial, ttyu1
, e está usando a entrada std.38400
em /etc/gettytab
:
#
ps -axww|grep ttyu
22189 d1 Is+ 0:00.03 /usr/libexec/getty std.38400 ttyu1
Se nenhum processo getty
estiver em execução, certifique-se de que a porta esteja ativada em /etc/ttys
. Lembre-se de executar kill -HUP 1
após modificar /etc/ttys
.
Se o processo getty
estiver em execução, mas o terminal ainda não exibir um prompt de login ou se exibir um prompt, mas não aceitar entrada digitada, o terminal ou cabo poderá não suportar handshaking de hardware. Tente alterar a entrada em /etc/ttys
de std.38400
para 3wire.38400
e, em seguida, execute kill -HUP 1
depois de modificar o /etc/ttys
. A entrada 3wire
é semelhante a std
, mas ignora handshaking de hardware. Pode ser necessário reduzir a taxa de transmissão ou ativar o controle de fluxo de software ao usar 3wire
para evitar buffer overflows.
Se aparecer lixo em vez de um prompt de login, certifique-se de que o terminal e o FreeBSD concordem com as configurações de taxa e paridade de bps. Verifique os processos getty
para certificar-se de que o tipo correto getty
esteja em uso. Se não, edite /etc/ttys
e execute kill -HUP 1
.
Se os caracteres aparecerem duplicados e a senha aparecer quando digitada, alterne o terminal ou o software de emulação de terminal de “half duplex” ou “local echo” para “full duplex.”
All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/
Questions that are not answered by the
documentation may be
sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.