Veja em
COMO FAZER - Terminais de Texto
para uma discussão mais detalhada (mas ainda incompleta) sobre terminais. AS instruções nesta seção funcionarão para terminais conectados, assim como para outros computadores ligados em uma porta serial de sua máquina Linux.
Esteja seguro de se ter o tipo de cabo correto. Um cabo que anula modems adquirido em uma típica loja de informática pode ser o suficiente, mas não funcionará com parâmetros de controle de fluxo por hardware. Mas deve ser um cabo de tipo null modem. Muitas lojas de computadores anunciam este cano como de "impressoras seriais". Esteja certo de usar a porta serial correta, a conexão macho DB25 ou DB9, e não a porta paralela (DB25 fêmea ou Centronics).
Para um conector DB25, o mínimo necessário será:
PC DB25 Macho Terminal DB25 TxD Transmissão de Dados 2 --> 3 RxD Recepção de Dados RxD Recepção de Dados 3 <-- 2 TxD Transmissão de Dados SG Sinal Terra 7 --- 7 SG Sinal Terra
Esta configuração de cabo de modem nulo funciona perfeitamente entre dois computadores que usem sinais de negociação de hardware RTS/CTS, mas muitos terminais usam negociação DTR que podem ser configuradas no Linux com "stty". Uma solução é usar stty crtscts e conectar o pino 20 do terminal (DTR) com o pino 5 do PC (CTS).
PC DB25 Macho Terminal DB25 TxD Transmissão de Dados 2 --> 3 RxD Recepção de Dados RxD Recepção de Dados 3 <-- 2 TxD Transmissão de Dados RTS Solicitação de Envio 4 --> 5 CTS Autorizado a Enviar CTS Autorizado a Enviar 5 <-- 4 RTS Solicitação de Envio DSR Dados Prontos 6 | DCD Detecção de Portadora 8 <-- 20 DTR Terminal de Dados Pronto SG Sinal Terra 7 --- 7 SG Sinal Terra 6 DSR Dados Prontos | DTR Terminal de Dados Pronto 20 --> 8 DCD Detecção de Portadora
Caso a porta utilize um conector do tipo DB9, tente a seguinte configuração de cabo:
PC DB9 Terminal DB25 RxD Recepção de Dados 2 <-- 2 TxD Transmissão de Dados TxD Transmissão de Dados 3 --> 3 RxD Recepção de Dados SG Sinal Terra 5 --- 7 SG Sinal Terra
Alternativamente, um cabo de modem nulo DB)'DB25 pode ser usado (não deverá funcionar com negociação por hardware, conforme descrito anteriormente):
PC DB9 Terminal DB25 RxD Recepção de Dados 2 <-- 2 TxD Transmissão de Dados TxD Transmissão de Dados 3 --> 3 RxD Recepção de Dados 6 DSR Conjunto de Dados Prontos | DTR Dados Prontos 4 --> 8 DCD Detecção de Portadora GND Sinal Terra 5 --- 7 GND Sinal Terra DCD Detecção de Portadora 1 | DSR Dados Prontos 6 <-- 20 DTR Dados Prontos RTS Requisição para Enviar 7 --> 5 CTS Autorizado a Enviar CTS Autorizado a Enviar 8 <-- 4 RTS Requisição Para Enviar (RI Indicador de Campainha 9 desnecessário)(Sim, os pinos 3 e 3 realmente têm significados opostos em conectores DB9 em relação a conectores DB25).
Caso não se esteja usando uma cabo de modem nulo completo, deve-se seguir o seguinte procedimento: no conector do lado do computador, conecte RTS e CTS junto e conecte ainda DSR, DCD e DTR juntos. Desta forma, quando o computador necessitar de um sinal de negociação, ele o obterá de si próprio.
Agora que temos o tipo de cabo correto, conecte o terminal ao computador. Caso seja possível diga ao terminal para ignorar os sinais de controle do modem. Tente utilizar 9600 bps, 8 data bits, 1 stop bit, sem bits de paridade para a configuração do terminal (ou habilite a paridade caso se deseje uma conexão mais sofisticada).
getty
(parte do getty_ps
)
Consulte o manual do getty para maiores informações sobre outros programas como agetty. Adicione as entradas em getty
para utilizar o terminal em /etc/gettydefs
caso elas ainda não estejam configuradas:
# 38400 bps Entrada de Terminal Burro
DT38400# B38400 CS8 CLOCAL # B38400 SANE -ISTRIP CLOCAL #@S @L login: #DT38400
# 19200 bps Entrada de Terminal Burro
DT19200# B19200 CS8 CLOCAL # B19200 SANE -ISTRIP CLOCAL #@S @L login: #DT19200
# 9600 bps Entrada de Terminal Burro
DT9600# B9600 CS8 CLOCAL # B9600 SANE -ISTRIP CLOCAL #@S @L login: #DT9600
Caso se deseje, pode-se fazer com que getty
liste informações interessantes na mensagem de acesso ao sistema. Nestes exemplo, temos o nome do sistema e a linha serial. Pode-se adicionar outras informações, como por exemplo:
@B Velocidade de conexão atual (avaliada quando @B é vista).
@D Data atual no formato MM/DD/AA.
@L Linha serial à qual getty está conectado.
@S Nome do sistema.
@T Hora atual, no formato HH:MM:SS (24 horas).
@U O número de usuários conectados ao sistema. Este é um contador do
número de entradas no arquivo /etc/utmp cujo conteúdo do campo
ut_name seja diferente de nulo.
@V O valor de VERSION, conforme o definido no arquivo de padrões.
Para apresentar um caracter '@', pode-se usar '\@' ou '@@'.
Ao se editar o arquivo /etc/gettydefs
, é possível verificar sua sintaxe através do comando:
linux# getty -c /etc/gettydefs
Esteja seguro de que não haja nenhum arquivo de configuração getty
ou uugetty
para a porta serial do terminal conectado a (/etc/default/{uu}getty.ttyS
N ou /etc/conf.{uu}getty.ttyS
N), pois isto irá provavelmente inrferir com a execução de getty
em um terminal. Remova este arquivo caso ele exista.
Edite o arquivo /etc/inittab
para que o programa getty
seja executado na porta serial (substituindo a informação atual: porta, velocidade e tipo de terminal padrão):
S1:456:respawn:/sbin/getty ttyS1 DT9600 vt100
Reinicialize o init
:
linux# init q
Neste ponto deve estar visível um indicador de linha de comandos no terminal. Pode-se pressionar Enter para se obter o comando do terminal.
Muitas pessoas configuram PCs como terminais conectados a máquinas Linux. Por exemplo, antigos PCs 8088 ou 80286 PCs são muito adequados para este propósito. Tudo o que se necessita é um disco de inicialização DOS contendo uma versão compatível com o terminal-PC e um programa de comunicação adequado. O kermit
funciona bem pra este propósito, por exemplo. Pode-se encontrar versões pré-compiladas do kermit
para praticamente todos os tipos de Sistemas Operacionais existentes em
http://www.columbia.edu/kermit/
. Outros programas populares de comunicação são o telix
e o procomm
, e funcionarão muito bem. Esteja seguro de informar a porta serial correta na configuração das comunicações do terminal-PC.