Ubuntu를 사용하다 보면 갑자기 익숙하던 앱이 동작하지 않거나, 화면 녹화가 안 되거나, GUI가 깨지는 현상을 겪게 되는 경우가 있습니다.
이럴 때 가장 먼저 확인해야 하는 건 지금 사용하는 Ubuntu가 Wayland 환경인지, X11 환경인지입니다.
특히 Ubuntu 22.04 이상에서는 Wayland가 기본 디스플레이 서버로 설정되면서, 기존에 잘 되던 기능이 동작하지 않거나 예상치 못한 문제가 발생할 수 있습니다.
✅ Ubuntu에서 Wayland가 기본이 된 시점은?
Ubuntu는 오랫동안 X11(Xorg)을 기본 디스플레이 서버로 사용해 왔습니다. 하지만 보안성과 성능 측면에서 Wayland가 점점 더 부각되면서,
Ubuntu 21.04부터 Wayland가 기본 디스플레이 서버로 채택되었습니다.
Ubuntu 버전 기본 디스플레이 서버
20.04 LTS | X11 (Xorg) |
21.04 | Wayland (기본 전환) |
22.04 LTS | Wayland (유지) |
24.04 LTS | Wayland (성능 개선) |
하지만 여전히 NVIDIA 드라이버나 호환성 문제로 인해, 자동으로 X11 환경으로 바뀌는 경우도 있고, 사용자가 직접 선택해 설정할 수도 있습니다.
🧪 현재 사용 중인 디스플레이 서버 확인 방법
터미널에서 다음 명령어를 입력해보세요
echo $XDG_SESSION_TYPE
- 출력이 wayland → 현재 Wayland 세션에서 동작 중
- 출력이 x11 → 현재 X11(Xorg) 세션에서 동작 중
간단하지만 매우 유용한 확인 방법입니다.
🔁 Wayland ↔ X11 환경 전환 방법
GNOME 로그인 화면에서 전환
- 로그아웃합니다.
- 로그인 화면(GDM)에서 사용자 계정을 클릭합니다.
- 우측 하단에 있는 톱니바퀴 아이콘(⚙) 을 클릭합니다.
- 원하는 세션 선택:
- Ubuntu → Wayland 세션
- Ubuntu on Xorg → X11 세션
- 로그인합니다.
이 설정은 이후에도 계속 유지됩니다.
⚠️ Wayland 환경에서 자주 발생하는 문제들
Wayland는 보안적으로 뛰어나고 프레임 렌더링 방식도 최신이지만, 아직 완전한 호환을 보장하지는 않습니다.
다음과 같은 문제를 경험한 적이 있다면 Wayland 환경일 가능성이 높습니다:
- OBS Studio에서 화면 캡처가 아예 되지 않음
- Electron 기반 앱(예: 슬랙, VS Code)에서 마우스 입력 오류
- Qt 앱에서 드래그 앤 드롭 작동 안 됨
- xrdp, VNC 등 원격 접속이 되지 않음
- weston, ivi-shell 같은 테스트 도구가 Wayland 위에서 실행 안 됨
예를 들어, weston을 GUI 환경에서 실행하려 할 때 다음과 같은 오류가 날 수 있습니다.
failed to connect to Wayland display
이런 경우 대부분 TTY 환경에서 실행하거나 X11로 전환하면 정상적으로 작동합니다.
⚠️ 반대로 X11 환경의 단점은?
X11은 호환성이 뛰어나 대부분의 앱이 잘 동작하지만, 다음과 같은 단점이 있습니다:
- 보안에 취약: 모든 앱이 화면 내용을 읽을 수 있음
- 멀티 디스플레이/고해상도에서 tearing 발생 가능
- Fractional scaling 지원이 부족함
- Wayland 대비 렌더링 성능 열세
특히 고해상도 디스플레이에서 125%~150% 확대 사용 시 글씨가 뿌옇게 나오는 경우가 많습니다. 이런 부분은 Wayland에서 훨씬 개선되어 있습니다.
💡 어떤 환경을 써야 할까? 실전 비교
상황 추천 환경
OBS, VNC, 원격 데스크탑 사용 | ✅ X11 |
Wayland 전용 툴(Weston 등) 실행 | ✅ X11 (TTY에서) |
일반 데스크탑 사용, 보안 중요 | ✅ Wayland |
고해상도 화면/멀티 디스플레이 환경 | ✅ Wayland |
Electron, Qt 앱에서 문제가 있을 경우 | ✅ X11로 전환해보자 |
📌 결론
Ubuntu는 21.04부터 Wayland를 기본 디스플레이 서버로 사용하고 있으며, 최신 LTS인 22.04 및 24.04에서도 Wayland가 기본입니다.
하지만 아직 완벽히 호환되지 않는 앱들이 많기 때문에, 문제가 발생하면 지금 어떤 환경에서 동작 중인지 확인하고, 전환해 보는 것만으로도 대부분의 문제가 해결될 수 있습니다.
다음 문제가 생겼다면 바로 세션부터 확인하세요:
- 화면 녹화 안됨
- 리모트 접속 안됨
- 마우스 이벤트 이상
- Qt 앱 오류
- Weston 실행 불가
'개발노트' 카테고리의 다른 글
Qt QWidget vs QML: 언제 무엇을 선택해야 할까? (0) | 2025.06.23 |
---|---|
Barrier로 키보드, 마우스 공유하기 (Ubuntu + Windows 개발환경 통합) (2) | 2025.06.20 |
Ubuntu에서 OBS 화면 캡처 안 될 때 해결 방법 (2) | 2025.06.19 |
VS Code에서 Next.js 프로젝트 효율적으로 사용하는 꿀팁 (1) | 2025.06.16 |
Windows에서 Next.js 개발 환경 세팅하는 방법 (2025 최신) (0) | 2025.06.13 |