현재 다음과 같이 RISC-V qemu 세션을 시작하고 있습니다.
/usr/bin/qemu-system-riscv64 -machine virt -m 4G -smp cpus=2 -nographic \
-bios /usr/lib/riscv64-linux-gnu/opensbi/generic/fw_jump.bin \
-kernel /usr/lib/u-boot/qemu-riscv64_smode/u-boot.bin \
-netdev user,id=net0 \
-device virtio-net-device,netdev=net0 \
-drive file=qemu_disk.bin,format=raw,if=virtio \
-device virtio-rng-pci \
-vga virtio \
-no-reboot
특히 -vga virtio
다음과 같이 시작 시 전체 터미널 너비를 사용하도록 만드세요.
그러나 qemu VM 내에서 nano 또는 gdb와 같은 애플리케이션을 열면 다음과 같이 주변 터미널 창의 전체 너비 사용이 중지됩니다.
nano 및 gdb와 같은 응용 프로그램이 시작 시 이를 인식할 수 있도록 QEMU에 더 많은 공간이 있는 것처럼 작동하도록 지시하려면 어떻게 해야 합니까?
(참고: 나중에 "크기 조정" 도구를 설치하고 수동으로 실행할 수 있다는 사실을 발견했지만 qemu에서 이를 자동으로 처리할 수 있는 방법이 있는지 궁금했습니다.)
답변1
“왜”라고 답하세요:
nano
그리고gdb
동일한 정보를 사용stty
일반적으로 이것으로 충분하므로 표시하십시오.
첫 번째 스크린샷은 터미널 기능을 사용하려고 시도하지 않는 프로그램의 출력만 보여주는 반면, 두 번째 스크린샷은 기본 구성 정보가 부족한 시도를 보여주므로 기본값(25x80처럼 보임)을 얻습니다.
주의깊게 살펴보면,qemu
아니요내 자신의콘솔에서는 좋은 정보를 얻을 수 없습니다. 예를 들어 실제로 의사 터미널을 통해 연결될 수 있습니다. 이는 다른 프로그램에서도 쉽게 볼 수 있습니다. 내가 사용하는 예는 다음과 같습니다.화면. 이것스티프로그램은 정확한 크기를 제공하지만 다른 크기인 것처럼 가정할 수 있습니다. 이것은 (반대)크기 조정기능: 터미널의 이스케이프 시퀀스를 사용하여 올바른 크기를 계산하고 사용된 설정을 업데이트합니다.스티.
qemu에 내장된 해결 방법이 없으면 다음을 사용하세요.크기 조정(또는 이와 유사한 것)이 해결책입니다.