화면 크기가 고정된 오래된 앱을 사용하려고 하는데 실제로 다양한 화면 크기에 적응하지 못합니다. 화면 명령으로 이 작업을 수행할 수 있을 것 같지만 방법을 모르겠습니다. 커널 모드 전환, VGA 글꼴 및 최신 LCD 크기 간의 어리석은 상호 작용으로 인해 시스템 콘솔의 크기가 실제로 조정되지는 않습니다. 80 x 25는 내 하드웨어에서 금지된 크기입니다.
그러나 일부 문서에서는 screen을 -w [lines [cols]]
시도하면 명령이 아니라고 screen -w 80 25 ./runme
불평만 한다고 합니다 . -w
내 생각에 문서는 제대로 작성되지 않았으며 실제로는 termcap 항목을 설명하고 있습니다.
쉘 스크립트를 사용하여 자동 시작이 가능했으면 좋겠지만 시작 화면으로 다른 쉘 스크립트를 대상으로 하는 쉘 스크립트를 실행하는 데 아무런 문제가 없습니다.
답변1
해당 명령을 사용하여 고정된 화면 크기 내에서 이전 앱을 실행하려는 것 같지만 screen
이를 수행하는 방법에 대해 약간의 혼란을 겪고 있습니다. 맞습니다. 해당 -w
옵션은 화면 크기를 설정하는 것이 아니라 터미널의 하드 상태 줄 너비를 설정하는 것입니다.
안타깝게도 screen
기본적으로 애플리케이션에 고정된 화면 크기를 설정하는 기본 제공 방법을 제공하지 않습니다. 터미널 크기는 일반적으로 screen
.
이 문제를 해결하려면 세션 stty
에서 애플리케이션을 실행하기 전에 명령을 사용하여 터미널 크기를 설정해 볼 수 있습니다 screen
. 다음은 이 프로세스를 자동화하기 위해 쉘 스크립트를 작성하는 방법의 예입니다.
#!/bin/bash
# Set the terminal size to 80x25
stty rows 25 cols 80
# Start your application inside a screen session
screen -dmS myapp ./runme
# Attach to the screen session to interact with your application
screen -r myapp
이 스크립트에서:
세션을 시작하기 전에
stty
명령을 사용하여 터미널 크기를 80x25로 설정했습니다screen
.screen
분리 모드에서-dmS
세션을 시작하고 ( ), 이름을 지정하고(myapp
) 실행할 명령을 지정합니다(./runme
).screen
마지막으로 애플리케이션과 상호 작용하는 데 사용할 세션 에 연결합니다screen -r myapp
.
이 스크립트는 레거시 애플리케이션이 지정된 터미널 크기 내에서 실행되는지 확인하는 데 도움이 됩니다. 특정 요구 사항에 맞게 스크립트와 터미널 크기를 조정하는 것을 잊지 마십시오.
일부 응용 프로그램은 비표준 터미널 크기에서 예상대로 실행되지 않을 수 있으며 이 방법은 모든 응용 프로그램에서 완벽하게 작동하지 않을 수 있습니다. 애플리케이션이 특정 터미널 크기 설정에 크게 의존하는 경우 대체 솔루션을 찾거나 터미널 크기가 호환되는 가상 머신이나 컨테이너와 같은 보다 적합한 환경에서 실행하는 것을 고려할 수 있습니다.