Definindo a taxa de transmissão personalizada no console

2

Apenas pela estética, gostaria que meu texto no meu console fosse exibido em uma velocidade menor. Eu tentei usar coisas como a tela com taxas de transmissão personalizadas de / dev / tty1, mas não funcionaria, a entrada do meu teclado apareceria na tela, mas nenhuma saída e tudo estaria preso em uma linha. Eu não tenho nenhuma porta serial real, então eu não sei se eu poderia fazer isso, mas se não estava claro, eu gostaria de definir uma taxa de transmissão personalizada no meu ssh / pts para algo como um terminal old school com personagens carregando na tela.

    
por anon 20.04.2015 / 02:45

1 resposta

1

TTY's no Unix e no Linux são uma espécie de "OOP pobre" no sentido de que tudo foi colocado na "classe base". Existem vários tipos de dispositivos que são cada um "tipo-de-TTY", mas todos eles possuem propriedades relacionadas a E / S serial: taxa de transmissão, bits de enquadramento, handshaking de hardware e assim por diante.

Isso é bom porque simplifica muito o modelo de programação. Em qualquer tipo de dispositivo TTY você pode chamar a função de biblioteca POSIX C tcgetattr para obter uma estrutura de um tipo ( struct termios ) de suas propriedades: "one size fits all".

No entanto, o que isso significa é que nem todas as propriedades realmente funcionam com todos os dispositivos TTY.

Nem o console do Linux, nem um terminal virtual como o Xterm ou o Gnome Terminal realmente usam a taxa de transmissão e outras configurações de hardware para qualquer finalidade. A taxa de transmissão pode ser definida e recuperada, mas não faz nada.

Se você quer um terminal que realmente roda a 9600 bauds, você deve passar por uma porta serial, ou então escrever um patch de kernel para simular o efeito da taxa de transmissão em consoles.

Para passar por uma porta serial sem um segundo computador ou terminal real, você pode simplesmente fazer um "dongle serial USB" entre uma porta USB e uma porta RS-232. Ou, se você não tiver uma porta RS-232, vá da porta USB para o adaptador serial USB, para o cabo / conector de modem nulo, para outro adaptador serial USB e para outra porta USB.

De qualquer forma, você acaba com um par de dispositivos seriais que são colocados juntos externamente. Você transforma um em um console serial e, em seguida, executa um programa de comunicação serial no outro, como o Minicom.

(O kernel para limitar a taxa de saída do console para coincidir com a taxa de transmissão TTY configurada seria mais interessante, mas isso é só comigo.)

    
por 24.07.2017 / 21:49