추가 읽기

추가 읽기

내가 원하는 것은 내 PC를 내 터미널(DEC vt320)에 연결하고 Linux 콘솔을 출력할 수 있도록 하는 것입니다. 그리고 터미널에 명령을 입력하고 화면에 응답을 보낼 수 있도록 하는 것입니다. 텔넷으로 연결하고 싶었지만 직렬을 통해 연결하는 방법을 모르겠습니다. 내 직렬 연결은 /dev/ttyS0입니다

답변1

Mint 19.3이 를 사용하는 것처럼 보이 systemd므로 Mint가 systemd상위 배포판(Ubuntu 및 궁극적으로 Debian)의 구성을 수정하지 않는 한 다음 명령을 사용하여 작업을 수행해야 합니다.

터미널 스타일 로그인 액세스를 위해 직렬 포트를 즉시 시작하려면:

sudo systemctl start serial-getty@ttyS0 

재부팅 후에도 구성이 유지되도록 하려면 다음을 수행하십시오.

sudo systemctl enable serial-getty@ttyS0

첫 번째 명령을 실행하면 로그인 프롬프트가 터미널에 나타납니다. 그렇지 않은 경우 터미널에서 Enter를 한두 번 누르십시오. 터미널이 작동하는 데이터 전송 속도를 감지하는 데 도움이 될 수 있습니다.

(직렬 포트 속도는 때때로 다음과 같이 알려져 있습니다.전송 속도, 비록 해당 용어는 모뎀 연결 및 디지털-아날로그 변조가 관련된 유사한 경우에만 적절하게 적용되지만 일반 디지털 데이터 전송에는 적용되지 않습니다.)

직렬 연결 터미널에 대한 이 기본 systemd구성에는 초당 115200, 38400 및 9600비트 속도에 대한 직렬 포트 속도 자동 감지가 포함됩니다. 명령으로 이를 확인할 수 있습니다 systemctl cat serial-getty@ttyS0. 해당 직렬 포트에 대해 자동 생성된 장치 파일을 출력합니다. 무엇보다도 터미널을 관리할 실제 프로세스를 시작하는 다음 줄을 포함해야 합니다.

ExecStart=-/sbin/agetty -o '-p -- \\u' --keep-baud 115200,38400,9600 %I $TERM

자동 직렬 포트 속도 감지가 제대로 작동하지 않거나 기본 목록에 포함되지 않은 속도 값을 지정하려는 경우파일 재정의이 시스템 서비스의 경우:

sudo systemctl edit [email protected]

이 명령은 (필요한 경우) 파일을 생성하고 편집기에서 엽니다.

예를 들어 직렬 포트 속도 감지를 57600bps로 잠그려면 재정의 파일에 다음 세 줄을 작성합니다.

[Service]
ExecStart=
ExecStart=-/sbin/agetty -o '-p -- \\u' 57600 %I $TERM

첫 번째 줄은 [Service]자동 생성된 서비스 파일의 섹션에 있는 항목을 재정의하도록 지정하고, 두 번째 줄은 ExecStart다른 줄을 추가하는 것이 아니라 해당 줄을 재정의하도록 지정하며, 세 번째 줄은 ExecStart원하는 포트 속도를 가진 새 줄 입니다. /또는 agetty터미널을 관리하는 프로세스 에 대한 다른 옵션입니다 .

Unix 세계에서 이러한 프로세스의 전통적인 이름은 이며 gettyLinux는 일반적으로 향상된(대안/utobauding) 직렬 포트용 버전: agetty.

답변2

가장 간단한 대답은 telcoM의 답변에서와 같이 직렬 장치에서 터미널 로그인 서비스를 시작하는 것입니다. 그렇다고 해서 바뀌는 것은 아니다리눅스 콘솔. Linux 콘솔을 직렬 장치로 옮기는 것은 실행하기가 더 간단하지만 부작용이 더 많습니다.

console=ttyS0부트스트랩 로더(귀하의 경우 GRUB)에서 제공하는 대로 커널의 명령줄에 간단히 입력하세요 .

systemd가 제공하는 생성기는 이를 확인하고 자동으로 serial-getty@ttyS0서비스를 활성화합니다. 그러나 게다가 모든 실제콘솔커널과 에 쓰는 프로그램의 출력은 /dev/console이제 DEC VT320으로 이동합니다.

불행하게도 VT320지원하지 않습니다색상. (VT340은 그렇습니다. 그 중 16개만 가능합니다.)

. /dev/console​systemd 패키지에 포함된 프로그램은 모두 그렇게 합니다.프로세스 #1, 그들은 가서 읽습니다.하지 않습니다포함하다 TERM=dumb. 다른 프로그램은 종종 다음 사항에 따라 다른 결정을 내립니다.그들만의프로세스 환경, 일부는 터미널에 따라 결정을 내리지 않습니다.유형왜냐하면 저자는 프로그램의 출력이 실제 흑백 터미널을 갖춘 직렬 장치일 것이라고는 전혀 생각하지 않았기 때문입니다.

그래서 당신은또한커널 명령줄에서 TERM=dumbVT320에 대한 올바른 설명이 아니며 매우 부적절하다고 지정하는지 확인해야 합니다.

추가 읽기

관련 정보