virsh 콘솔과 tty 크기


11

ssh를 통해 연결하는 가상화 서버가 있습니다. 이제 창의 크기를 변경하면 자동으로 서버에 전파됩니다. 을 사용하여 가장 쉽게 볼 수 stty -a있으며 열과 행 값을 확인합니다.

그런 다음 virsh consoleKVM 기반 가상 머신의 직렬 인터페이스에 연결 하는 데 사용합니다. 이제 창의 크기를 변경해도 가상 서버로 전파되지 않습니다. 이것은 stty -a창 크기를 변경할 때 가상 컴퓨터에서 업데이트되지 않는를 확인하여 가장 쉽게 볼 수 있습니다 . 즉, 터미널에서 줄 바꿈이 제대로 작동하지 않으며 클라이언트의 창 크기가 서버의 기본 크기와 일치하지 않으면 서식 지정을 위해 창 크기 (emacs, man 등)에 의존하는 응용 프로그램이 엉망이됩니다.

해결 방법은 stty를 사용하여 클라이언트 창과 일치하도록 창 크기를 수동으로 설정하는 것이지만 가상 컴퓨터에서 창 크기를 자동으로 전파하고 설정하기 위해이 정보를 얻는 방법이 있는지 궁금합니다.

답변:


7

대부분 쉘에서이 문제를 해결할 수 있습니다.

명령 :

eval `/usr/bin/resize`

COLUMNS 및 LINES 셸 변수를 적절하게 설정 한 다음 내 보냅니다. 따라서 bash에서 .bash_profile (또는 사용하는 방법에 따라 .profile)에 다음을 추가 할 수 있습니다

PROMPT_COMMAND="eval `/usr/bin/resize`"

또는 zsh에서 :

function precmd {
    eval `/usr/bin/resize`
}

따라서 각 프롬프트가 표시되기 직전에 크기 조정이 수행됩니다. 결과는 창 변경이 결과적으로 즉시 처리되는 ssh 또는 telnet의 효과와 같지 않지만 아마도 이것이 당신이 얻을 수있는 최선이라고 생각합니다.


약간 해 키지 만 여전히 좋은 해결책입니다. 감사합니다!
pehrs

xterm의 resize명령 없이이
rsaw


0

Serverfault는 마크 답변을 추가하기 만하면 주석을 달 수 없습니다.

대상 도메인이 OpenBSD 6.6 인 경우 크기 조정은 다른 곳에 있으며 xbase66 이상이 필요합니다.

또한 기본 ksh를 사용하는 경우 다음 을 실행하기에 충분합니다.

eval `/usr/X11R6/bin/resize`

이것이 Red Hat의 KVM 관리 안내서에없는 것은 부끄러운 일입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.