서버 직렬 콘솔로 사용할 수 있는 물리적 원격 직렬 포트를 생성하고 싶습니다(복고풍 컴퓨터 관련 취미용). 저는 네트워크에서 RFC2217 서버 역할을 하는 직렬 포트가 있는 MikroTik 라우터를 사용하고 있습니다. 데비안 서버는 ttynvt를 사용합니다https://gitlab.com/lars-thrane-as/ttynvt라우터의 원격 물리적 직렬 포트를 나타내는 가상 직렬 포트 ttyNVT0을 만듭니다. 서버에서 간단한 직렬 포트 역할을 하는 터미널 에뮬레이터 Minicom과 함께 이 포트를 사용할 수 있습니다. 라우터의 직렬 포트에 루프백 플러그를 삽입하면 입력한 데이터가 반환됩니다. 파이썬에서도 작동합니다.
그러나 systemd를 사용하면 이 포트가 agetty와 작동하도록 할 수 없습니다. 나는 이 매뉴얼을 따르고 있습니다:
https://www.rogerirwin.co.nz/linux-open-source/enabling-a-serial-port-console/
물론 ttyS0을 ttyNVT0으로 대체했습니다. 그러나 다음 명령을 실행한 후:
systemctl start [email protected]
잠시 기다렸다가 실패합니다. Journalctl -e는 다음을 표시합니다.
Nov 07 14:20:05 debian systemd[1]: dev-ttyNVT0.device: Job dev-ttyNVT0.device/start timed out.
Nov 07 14:20:05 debian systemd[1]: Timed out waiting for device /dev/ttyNVT0.
Nov 07 14:20:05 debian systemd[1]: Dependency failed for Serial Getty on ttyNVT0.
Nov 07 14:20:05 debian systemd[1]: [email protected]: Job [email protected]/start failed with result 'dependency'.
Nov 07 14:20:05 debian systemd[1]: dev-ttyNVT0.device: Job dev-ttyNVT0.device/start failed with result 'timeout'.
로컬 직렬 포트 ttyS0으로 동일한 작업을 시도했는데 문제 없이 잘 작동했습니다.
여기서 명백한 내용을 놓치고 있다면 죄송합니다. 하지만 저는 systemd에 대한 경험이 많지 않고 이 문제를 해결하기 위해 어디로 가야할지 잘 모르겠습니다.
동일한 시스템 서비스를 제공하기 위해 직렬 포트 ttyS0을 사용해 보았고 작동했습니다. 다시 시작해 보았습니다. "장치 시간 초과 대기"가 무엇을 의미하는지 모르기 때문에 무엇을 시도해야 할지 잘 모르겠습니다. 내 말은 - 거기에 있고 minicom에서는 작동하는데 왜 systemd에서는 작동하지 않습니까?
또한 다음 명령을 사용하여 ttyNVT0 인터페이스에서 agetty를 간단히 실행해 보았습니다.
/sbin/agetty --local-line 9600 ttyNVT0 vt100
작동하며 원격 직렬 포트에서 서버에 로그인할 수 있습니다.