도입 — GNOME Boxes, 2년 만의 재빌드
GNOME 프로젝트의 가상화 도구 GNOME Boxes가 약 2년에 걸친 대규모 재구축 끝에 베타 버전을 공개했습니다. 이번 변경의 핵심은 단순 리팩토링이 아니라 배포 경계 자체를 재정의한 데 있습니다. GTK3에서 GTK4·Libadwaita로 UI 스택을 옮기고, QEMU/KVM/Libvirt 백엔드 패키지를 통째로 Flatpak 안에 동봉해서 배포판별 가상화 스택 차이를 줄였습니다. 결과적으로 페도라·우분투·아치·Silverblue 어디서 실행하든 동일한 환경이 보장됩니다.
긱뉴스 토픽 GNOME Boxes의 미래는 이 베타가 신규 기여자가 유지보수하기 쉬운 구조를 갖췄다고 강조합니다. GTK3 기반 SPICE 위젯이 Libmks로 교체된 점, Flatpak 샌드박스 안에서 virt-manager급 기능을 그대로 쓸 수 있는 점, 그리고 libvirt 호환성이 유지된다는 점이 컨트리뷰터 입문 문턱을 크게 낮췄습니다.

핵심 변화 ① — GTK4·Libadwaita와 Libmks
기존 GNOME Boxes는 GTK3에 SPICE 위젯을 직접 얹은 구조였습니다. 이 위젯은 SPICE 프로토콜의 클라이언트 렌더링을 C로 처리해서 유지보수 범위가 매우 좁았고, 새 디스플레이 프로토콜을 추가하려면 gtk-vnc나 SPICE 양쪽을 동시에 손대야 했습니다. 재구축 버전은 이 위젯을 Libmks(Machine Kit Simulator의 libvirt-gtk 바인딩)로 교체했습니다. Libmks는 virt-manager가 쓰는 libvirt-gtk의 후속 라이브러리로, GTK4 네이티브 렌더링과 Libadwaita 스타일링을 그대로 따라갑니다.
이로 인해 얻는 효과는 크게 세 가지입니다.
- UI 코드가 libvirt-gtk API로 통일돼서 virt-manager·Cockpit·virt-viewer와 컴포넌트를 공유할 수 있다.
- Libadwaita의 AdwNavigationView를 그대로 써서 작은 창 ↔ 큰 창 모드 전환이 자연스럽다.
- GTK3 시대에 누적된 9개 이상의 사용자 정의 GObject 클래스가 제거됐다.
핵심 변화 ② — Flatpak이 가져온 배포의 일관성
재구축의 가장 큰 결정은 qemu·libvirt·SPICE·libusb를 GNOME Boxes의 Flatpak 안에 통째로 묶은 것입니다. 이전에는 배포판이 qemu 6.x를 들고 있느냐 8.x를 들고 있느냐에 따라 디스크 이미지 포맷 호환성이 달라졌고, 일부 배포판은 SPICE가 비활성화된 채 빌드돼서 원격 접속 기능이 동작하지 않기도 했습니다. Flatpak 안에서 qemu를 자체 빌드해 들고 가면 GNOME Boxes 4.x ↔ qemu 9.x ↔ libvirt 11.x 조합이 잠겨 있어서 재현 가능한 버그 리포트가 가능해집니다.
다만 트레이드오프도 있습니다. Flatpak 샌드박스 안에서 커널 KVM 모듈을 사용하려면 여전히 --filesystem=host 또는 적절한 portal 권한이 필요합니다.
flatpak install --user https://download.gnome.org/gnome-boxes/beta/gnome-boxes-beta.flatpakref
flatpak run --user org.gnome.BoxesDevel
# 원격 KVM 접근이 필요하면
sudo usermod -aG kvm $USER
sudo systemctl enable --now libvirtd
위 설치 명령은 베타 채널의 검증된 빌드를 사용자 단위로 설치합니다. stable 채널의 GNOME Boxes 47과 병행 설치가 가능해서, 베타에서 회귀가 발견되면 즉시 stable로 돌아갈 수 있습니다.
실전 활용 — 일상적인 VM 워크플로
재구축된 GNOME Boxes의 가장 큰 강점은 이미지 다운로드 → 실행 → 스냅샷 세 단계가 한 화면에 들어온다는 점입니다. virt-manager의 도메인 정의 XML을 직접 작성하던 시절에 익숙했던 사용자는 베타에서 처음 5분 동안 약간 혼란을 느낄 수 있지만, 어느 정도 적응하고 나면 virt-manager 대비 진입 장벽이 훨씬 낮습니다.
특히 인상적인 부분은 ISO 자동 감지입니다. 베타는 다운로드 폴더에 새로 생긴 .iso 파일을 자동 스캔해서 "새 VM 만들기" 마법사의 첫 화면에 노출합니다. 예전 버전에서는 파일 → 새로 만들기 → 디스크 이미지 선택의 3단 다이얼로그를 거쳐야 했습니다.

기여자 관점 — 유지보수 비용의 변화
토픽은 베타가 "신규 기여자가 유지보수하기 쉬운 베타"임을 명시합니다. 구체적인 개선은 다음과 같습니다.
- Meson 빌드 시스템으로 통일 — autotools 잔재 제거.
- Flatpak manifest 단일 진입점 — qemu/SPICE 빌드 스크립트 중복 제거.
- CI가 GNOME 빌드 서버의 qemu/KVM 위에서 Flatpak 빌드까지 검증 — 로컬 KVM 없는 컨트리뷰터도 머지 가능.
- libvirt-gtk API 직접 사용으로 새 디바이스 추가 시 C 바인딩 작업 불필요.
이 변화는 GNOME 프로젝트 전반이 추구하는 "Flatpak-first 전략과 정합합니다. GNOME 빌드 팀은 베타 이후 안정판이 출시되면 qemu/libvirt 시스템 패키지에 대한 의존성을 점진적으로 줄이고, 장기적으로는 GNOME Boxes의 시스템 모드를 deprecate할 계획이라고 토픽은 전합니다.
전망 — virt-manager·Cockpit과의 관계
재구축된 GNOME Boxes는 virt-manager를 대체하기보다 보완하는 포지션을 명확히 합니다. virt-manager는 다중 호스트 관리, 복잡한 네트워크 브릿지 설정, oVirt·RHEV 연동 같은 서버 운영 기능에 강하고, GNOME Boxes는 개인 데스크톱에서 1~3개의 VM을 가볍게 돌리는 데 최적화돼 있습니다. Cockpit은 웹 기반 관리 UI로 서버 운영자에게 익숙하고, GNOME Boxes는 GUI 네이티브 데스크톱 사용자에 초점을 둡니다.
결국 이번 재구축은 "데스크톱 가상화의 진입 장벽을 한 단계 더 낮추는 작업"입니다. 베타 기간 동안의 피드백이 어떤 방향으로 모이느냐에 따라 stable 출시 시점의 기능 범위가 결정될 전망입니다.
요약
- GNOME Boxes는 2년 재구축 끝에 베타를 공개 — GTK4·Libadwaita 기반 UI로 전환.
- GTK3 SPICE 위젯을 Libmks로 교체해 virt-manager와 컴포넌트 공유.
- qemu/libvirt/SPICE를 Flatpak 안으로 동봉해 배포판별 차이를 제거.
- Meson + 단일 Flatpak manifest + CI 통합으로 신규 기여자 진입 비용 절감.
- virt-manager·Cockpit과 보완 관계 — 개인 데스크톱 1~3개 VM 워크플로에 최적화.
원문: GNOME Boxes의 미래 | GeekNews
📰 원본 출처 · https://news.hada.io/topic?id=32147 (#N=32147)
이 글은 GeekNews(긱뉴스)에 게제된 글을 기반으로 작성되었습니다. 원본의 라이선스와 저작권은 원작자에게 있습니다.
'AI 뉴스' 카테고리의 다른 글
| 취미 프로그래밍 커뮤니티가 LLM 사용에 강하게 반대하는 이유 — 직접 익숙해지는 학습 가치의 재발견 (0) | 2026.08.05 |
|---|---|
| AI 시대 디자인 시스템의 미래 — 코드 중심 워크플로와 검증된 컴포넌트의 재등장 (1) | 2026.08.05 |
| AI 생성 이미지 때문에 당신의 블로그를 읽기 싫어진다 — 직접 그린 그림의 신뢰 가치 (0) | 2026.08.05 |
| Bonsai - Jane Street의 UI 라이브러리 — 함수형 반응형 웹 개발의 핵심 (0) | 2026.08.04 |
| 웹앱과 AI — 브라우저에서 모델까지, 개발자 관점에서 다시 보는 통합 흐름 (0) | 2026.08.04 |