개요
Ubuntu 환경에서 GUI가 멈추거나 텍스트 기반 단독 콘솔 작업이 필요할 때 가상 콘솔(Virtual Terminal) 제어는 필수적입니다. 본 글에서는 chvt 명령어를 활용하여 TTY 화면을 자유롭게 전환하고, 관련 유틸리티로 콘솔을 효과적으로 관리하는 실무 기법을 소개합니다.
현재 터미널 세션 및 활성 가상 콘솔 확인
tty 명령어는 현재 표준 입력에 연결되어 있는 터미널 장치 파일의 이름을 출력합니다.
실행 결과로 표시된 not a tty는 현재 실행 환경이 가상 콘솔(tty)이나 의사 터미널(pts)이 아닌 비대화형 세션임을 나타냅니다.

who 명령어는 현재 시스템에 로그인 중인 사용자의 계정과 접속 터미널 정보를 확인합니다.
실행 결과 아무런 내용도 출력되지 않은 것은 시스템에 로그인된 활성 사용자 세션이 없음을 의미합니다.

활성 가상 콘솔 번호를 확인하는 fgconsole 명령어의 존재 여부를 점검하고 미설치 시 kbd 패키지를 설치하기 위해 해당 명령어를 실행합니다.

fgconsole 명령어는 현재 화면에 표시되고 있는 활성 가상 콘솔의 번호를 출력합니다.
실행 결과로 출력된 1은 현재 1번 가상 콘솔(tty1)이 화면에 활성화되어 있음을 의미합니다.

chvt 명령어를 이용한 가상 콘솔(TTY) 화면 전환
가상 콘솔 전환을 위한 chvt 명령어의 존재 여부를 점검하고 미설치 시 kbd 패키지를 설치하기 위해 해당 명령어를 실행합니다.
실행 결과로 출력된 /usr/bin/chvt는 시스템에 명령어가 이미 정상적으로 설치되어 있음을 나타냅니다.

chvt 명령어는 화면에 표시되는 활성 가상 콘솔(TTY)을 지정한 번호로 즉시 전환합니다.sudo chvt 1 명령어는 관리자 권한을 사용하여 현재 화면을 1번 가상 콘솔(tty1)로 전환합니다.
명령어가 정상적으로 실행되면 별도의 텍스트 메시지 출력 없이 지정된 콘솔 화면으로 전환됩니다.

sudo chvt 2 명령어는 관리자 권한을 사용하여 화면을 2번 가상 콘솔(tty2)로 전환합니다.
우분투 데스크톱 환경에서는 주로 1번 또는 2번 가상 콘솔에 그래픽 세션이나 추가 터미널이 배정되므로 작업 환경 간 전환에 유용하게 사용됩니다.
실행 결과 아무런 문자열도 출력되지 않은 것은 화면 전환 작업이 오류 없이 정상적으로 수행되었음을 의미합니다.

새 가상 콘솔에서 직접 명령어 실행하기 (openvt)
openvt 명령어는 비어 있거나 지정한 가상 콘솔을 새로 열어 특정 명령을 실행합니다.sudo openvt -c 3 -- ls -la /var/log 명령어는 3번 가상 콘솔(tty3)을 지정하여 /var/log 디렉터리의 파일 목록을 출력하는 작업을 백그라운드 콘솔에서 실행합니다.
명령어가 오류 없이 수행되면 별도의 텍스트 메시지 출력 없이 지정된 가상 콘솔에 작업이 정상적으로 할당됩니다.

sudo chvt 3 명령어는 관리자 권한을 사용하여 현재 화면을 3번 가상 콘솔(tty3)로 즉시 전환합니다.
앞서 openvt 명령어를 통해 3번 가상 콘솔에서 실행된 작업의 결과 화면을 확인하기 위해 해당 콘솔로 이동합니다.
실행 결과 아무런 메시지가 출력되지 않은 것은 화면 전환 작업이 오류 없이 정상적으로 완료되었음을 의미합니다.

미사용 가상 콘솔 정리 및 상태 복구 (deallocvt)
deallocvt 명령어는 사용이 끝난 가상 콘솔의 커널 메모리 할당을 해제하여 리소스를 회수합니다.sudo deallocvt 3 명령어는 관리자 권한으로 3번 가상 콘솔(tty3)의 메모리 할당을 해제합니다.
실행 결과 아무런 메시지가 출력되지 않은 것은 가상 콘솔 할당 해제 작업이 오류 없이 정상적으로 수행되었음을 의미합니다.

fgconsole 명령어는 현재 화면에 표시되고 있는 활성 가상 콘솔 번호를 출력합니다.
실행 결과로 출력된 3은 메모리 할당 해제 이후에도 현재 화면이 여전히 3번 가상 콘솔(tty3)에 머물러 있음을 나타냅니다.

지금까지 우분투 환경에서 chvt 명령어로 가상 콘솔을 전환하고 실무에 적용하는 방법을 간단하게 살펴보았습니다.
GUI 먹통 상황이나 서버 트러블슈팅이 필요할 때 유용하게 활용해 보시기 바랍니다.