IT/System Digging

리눅스 tty 화면 회전하기 | 콘솔 환경에서 display_rotate, fbcon으로 세로 디스플레이 설정하기

심량 2024. 4. 24. 13:21

리눅스에서 tty(콘솔 모드) 환경의 화면 방향을 회전하는 방법을 설명합니다. chvt, display_rotate 등의 설정을 통해 라즈베리파이와 같은 환경에서도 텍스트 기반 화면을 세로로 전환할 수 있습니다.

 

🧩 개요 (Introduction)

리눅스에서 GUI 환경이 아닌 **텍스트 기반 터미널(tty)**을 사용하는 경우, 화면 회전이 필요할 때가 있습니다. 특히 라즈베리파이, 임베디드 시스템에서 세로 방향 디스플레이를 사용할 경우, 콘솔 출력이 90도 회전되면 사용이 어려워집니다. 이 글에서는 tty 기반 콘솔 화면을 회전시키는 방법을 소개합니다.


🧰 1. GUI 환경과 터미널(tty) 환경의 차이

  • GUI 환경: xrandr 명령으로 쉽게 회전 가능
  • 터미널 환경 (tty): xrandr 불가 → display_rotate 또는 console fb 관련 설정 필요

⚙️ 2. /boot/config.txt 수정 방법 (라즈베리파이 기준)

sudo nano /boot/config.txt

회전 값을 지정할 수 있습니다.

다음 옵션 중 하나를 추가합니다:

옵션설명
display_rotate=0 기본 방향
display_rotate=1 시계 방향 90도
display_rotate=2 180도 회전
display_rotate=3 반시계 90도
display_rotate=0x10000 수직 반전 (upside down)

변경 후 반드시 재부팅 필요:

sudo reboot

 

🔍 3. 다른 tty(콘솔) 관련 설정

  • fbcon=rotate:<value> 커널 파라미터로 회전 가능
  • GRUB 환경에서는 /etc/default/grub에 추가
  • GRUB_CMDLINE_LINUX="fbcon=rotate:1" 추가
    • 값: 0(0도), 1(90도), 2(180도), 3(270도)
  • 적용 후 재부팅
sudo update-grub
sudo reboot

🧪 4. 확인 및 디버깅

  • chvt 명령으로 가상 터미널 전환 확인:
sudo chvt 1  # tty1으로 전환
  • 현재 화면 회전
  • echo 1 | sudo tee /sys/class/graphics/fbcon/rotate
  • 모든 가상 화면(virtual framebuffer) 회전
echo 1 | sudo tee /sys/class/graphics/fbcon/rotate_all