명령은 80자 뒤에 같은 줄을 바꿉니다.

명령은 80자 뒤에 같은 줄을 바꿉니다.

내 Yocto Linux 시스템의 직렬 콘솔에 minicom을 연결하는 데 귀찮은 문제가 있습니다.

내가 입력한 명령은 같은 줄의 80번째 문자 뒤에 표시됩니다. 이로 인해 작업이 매우 불편해집니다. 줄 시작 부분에 입력한 모든 내용은 줄의 마지막 문자로 덮어쓰여집니다.

동일한 시스템에 대한 SSH 연결이 제대로 작동합니다. 80번째 문자 이후 ssh는 다음 줄로 이동합니다.

stty 설정은 다음과 같습니다.

stty -a
speed 115200 baud; rows 24; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon ixoff
-iuclc -ixany -imaxbel iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon -iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke

minicom의 -w 옵션은 효과가 없습니다. 여전히 같은 행동

minicom -w

이 컴퓨터에서는 이 resize명령을 사용할 수 없습니다. 어느 패키지에 속합니까? 아마 제가 설치할 수 있을 것 같아요.

이 동작을 어떻게 수정할 수 있나요?

답변1

이것은 나에게 효과적입니다. 창 크기를 확인하고 콘솔 GUI에 맞는 크기로 설정하려면 대상 셸을 설정해야 합니다. 직렬 포트를 통해 Putty 또는 minicom에 연결한 후:

shopt -s checkwinsize
resize

답변2

직렬 회선을 통해 연결하면 시스템이 터미널과 창 크기를 협상할 수 없습니다(NAWS -창 크기 협상RFC 1073). 이 경우 시스템 기본 크기를 얻을 수도 있고 0만 얻을 수도 있습니다. 둘 다 쉘의 라인 편집기를 혼란스럽게 합니다. 왜냐하면 래핑 기능을 사용하려면 터미널의 실제 너비를 알아야 하기 때문입니다.

bash는 혼란스러워지고 터미널의 단어 줄 바꿈 기능으로 인해 줄 바꿈이 되었다고 생각하고 줄 편집/표시의 일부로 현재(잘못된) 줄의 시작 부분으로 이동합니다.

해결 방법으로 대부분의 터미널(minicom 포함 -소스보기), 이스케이프 시퀀스를 사용하여 보고된 커서 위치에 응답할 수 있는 직렬 인터페이스를 사용합니다.resize창 크기를 찾고 부작용으로 터미널 창의 크기에 대한 시스템 아이디어를 설정합니다.

관련 정보