미적인 측면에서 콘솔의 텍스트가 느린 속도로 표시되기를 원합니다. /dev/tty1의 사용자 정의 전송 속도로 화면을 사용하는 것과 같은 작업을 시도했지만 작동하지 않습니다. 키보드 입력은 화면에 나타나지만 출력은 없으며 모든 것이 한 줄에 멈춥니다. 실제 직렬 포트가 없어서 이 작업을 수행할 수 있는지는 모르겠지만 확실하지 않은 경우 문자가 로드되는 구식 터미널 화면처럼 SSH/pts에 사용자 정의 전송 속도를 설정하고 싶습니다.
답변1
Unix와 Linux의 TTY는 모든 것이 "기본 클래스"로 푸시되기 때문에 "나쁜 OOP"입니다. 각각 "TTY"인 여러 장치가 있지만 모두 직렬 I/O와 관련된 속성(전송 속도, 프레임 비트, 하드웨어 핸드셰이크 등)을 가지고 있습니다.
이는 프로그래밍 모델을 크게 단순화시키기 때문에 실제로 좋습니다. 모든 유형의 TTY 장치에서 POSIX C 라이브러리 함수를 호출하여 tcgetattr
해당 속성 중 한 가지 유형( )의 구조 struct termios
, 즉 "하나의 크기로 모든 것에 적합"을 얻을 수 있습니다.
그러나 이는 모든 속성이 실제로는 아니라는 것을 의미합니다.일하다모든 TTY 장치에서 작동합니다.
Linux 콘솔이나 가상 창 터미널(예: Xterm 또는 Gnome 터미널)은 실제로 어떤 목적으로든 전송 속도 및 기타 하드웨어 설정을 사용하지 않습니다.전송 속도를 설정하고 검색할 수 있지만 아무 작업도 수행하지 않습니다.
실제로 9600 보드에서 실행되는 터미널을 원한다면 직렬 포트를 통과하거나 보드 속도가 콘솔에 미치는 영향을 시뮬레이션하는 커널 패치를 작성해야 합니다.
두 번째 컴퓨터나 실제 터미널 없이 직렬 포트를 통과하려면 USB 포트와 RS-232 포트 사이에 "USB 직렬 동글"을 주기만 하면 됩니다. 또는 RS-232 포트가 없는 경우 USB 포트에서 USB 직렬 어댑터, 널 모뎀 케이블/커넥터, 다른 USB 직렬 어댑터를 연결한 다음 다른 USB 포트에 연결합니다.
어느 쪽이든 외부적으로 함께 루프된 한 쌍의 직렬 장치가 생성됩니다. 하나는 직렬 콘솔로 전환하고 다른 하나는 Minicom과 같은 직렬 통신 프로그램을 실행할 수 있습니다.
(구성된 TTY 전송 속도와 일치하도록 콘솔 출력의 속도를 제한하는 커널 해킹이 더 흥미로울 수 있지만 이는 단지 내 생각일 뿐입니다.)