💡 한 줄 요약
- 이 글은 Jetson Orin NX의 Ubuntu 24.04 환경에서 GDM3 설정 파일을 수정해 비활성화되어 있는 Wayland 데스크톱 세션을 활성화하고 검증하는 방법을 다룬다.
🚨 1. 문제 상황
Ubuntu 24.04 환경의 Jetson Orin NX 데스크톱 세션은 기본적으로 X11(X.Org) 서버를 사용하도록 설정되어 있거나, NVIDIA 그래픽 드라이버 호환성 등의 이유로 Wayland 세션이 비활성화되어 있는 경우가 많다. 현대적인 그래픽 윈도잉 시스템인 Wayland를 사용하려면 디스플레이 매니저(GDM3) 설정을 직접 변경해주어야 한다. 어떻게 설정하는지 차근차근 알아보자.
🛠️ 2. 개발 환경
| 분류 | 기술 스택 / 도구 | 버전 | 비고 |
| HW | Jetson Orin NX | - | NVIDIA 개발 보드 |
| OS | Ubuntu | 24.04 LTS | 운영체제 |
| Display Manager | GDM3 | 45 이상 | GNOME Display Manager |
| Target Session | Wayland | - | 활성화 대상 세션 |
✅ 3. 해결 방법
GDM3 설정 파일을 편집해 Wayland 활성화 여부를 정의하는 옵션을 수정하면 된다.
3.1 GDM3 설정 파일 편집하기
먼저 터미널을 열고 텍스트 편집기(nano나 vi)를 사용해 /etc/gdm3/custom.conf 파일을 관리자 권한으로 열어준다.
sudo nano /etc/gdm3/custom.conf
3.2 WaylandEnable 주석 해제 및 수정하기
파일 내용 중에서 [daemon] 섹션 아래에 있는 WaylandEnable=false 항목을 찾아보자. 이 항목 앞에 #을 붙여 주석 처리(#WaylandEnable=false)해주면 된다. GDM3는 기본적으로 Wayland를 지원하기 때문에, 이 비활성화 설정을 주석으로 막아주는 것만으로도 Wayland 세션이 활성화된다.
[daemon]
# WaylandEnable=false # Wayland 제한을 풀기 위해 주석 처리해준다.
수정이 끝났다면 파일을 저장하고 닫아주자 (nano 편집기 기준으로 Ctrl+O 저장 후 Enter, Ctrl+X 종료).
3.3 시스템 재부팅하기
변경된 설정을 완전히 반영하기 위해 시스템을 재부팅해준다.
sudo reboot
📊 4. 결과 검증
재부팅이 끝나고 로그인 화면에서 데스크톱 세션에 진입했다면, 이제 세션이 Wayland로 정상 작동하는지 검증해볼 차례다.
4.1 터미널 세션 유형 확인 명령어 실행하기
터미널을 열고 아래 명령어를 실행해 환경 변수 $XDG_SESSION_TYPE 값을 확인해보자.
echo $XDG_SESSION_TYPE
4.2 결과 비교하기
- Before (설정 전):
x11 - After (설정 후):
wayland
출력 결과가 wayland로 나온다면 정상적으로 세션 전환이 완료된 것이다.
💡 5. 적용 범위
- 이 가이드는 Ubuntu 24.04 LTS 환경의 Jetson Orin NX 뿐만 아니라, 동일한 OS 버전을 사용하는 다른 Jetson Orin 계열 보드와 일반 Ubuntu 데스크톱 환경에서도 똑같이 적용할 수 있다.
🏁 6. 마무리
6.1 결론
Jetson Orin NX의 Ubuntu 24.04 환경에서 GDM3 설정 파일(/etc/gdm3/custom.conf)의 WaylandEnable=false 옵션을 주석 처리하는 간단한 작업만으로 Wayland 데스크톱 세션을 활성화할 수 있다. 평소 X11 환경에서 렌더링 효율이나 화면 찢어짐(Tearing) 현상으로 아쉬움이 있었다면, 이번 기회에 Wayland로 넘어가 현대적이고 부드러운 그래픽 환경을 경험해보자.
6.2 참고 자료 (References)
'잡(job)기술' 카테고리의 다른 글
| X11 기초 이해하기: Display, Screen, 그리고 $DISPLAY의 정체 (0) | 2026.09.21 |
|---|---|
| [Troubleshooting] 우분투 원격 데스크톱(RDP) 활성화 및 인증 오류(0x0) 해결 가이드 (0) | 2026.07.02 |
| C++ 프로젝트가 나뉘어 있다면, CMake로 한 번에 묶어 빌드하자 - 그리고 Sanitizer는 꼭 붙이자 (1) | 2026.02.26 |
| RTSP 응답을 읽는다는 것 - 왜 recv() 한 번으로 끝내면 안 되는가 (3) | 2026.02.25 |
| RTSP 클라이언트 첫걸음: TCP 연결하고 OPTIONS 한 번 던져보기 (0) | 2026.02.21 |