Windows 앱마다 네이티브 Linux 윈도 — 진짜 아이콘, 진짜 WM_CLASS,
태스크바 핀 가능. FreeRDP RemoteApp + dockur/windows. Zero config.
# 최신 안정 release (기본)
curl -fsSL https://raw.githubusercontent.com/kernalix7/winpodx/main/install.sh | bash
# 최신 main HEAD (개발용, 불안정할 수 있음)
curl -fsSL https://raw.githubusercontent.com/kernalix7/winpodx/main/install.sh | bash -s -- --main
# 언인스톨 (Windows VM 데이터 유지; 전부 삭제는 --purge)
curl -fsSL https://raw.githubusercontent.com/kernalix7/winpodx/main/uninstall.sh | bash -s -- --confirm
Windows 정보 / 작업 관리자 / PowerShell 이 각각 Linux 창으로, WinPodX Dashboard (라이브 Pod / RAM / CPU 게이지, 워크스페이스 타일) 와 나란히.
[](#상태-베타)
[](https://github.com/kernalix7/winpodx/releases)
[](../LICENSE)
[](https://www.python.org/)
[](#테스트)
[](https://github.com/kernalix7/winpodx/actions/workflows/ci.yml)
[](https://github.com/kernalix7/winpodx/stargazers)
[](https://github.com/kernalix7/winpodx/releases)
###### Works on
[](https://www.opensuse.org/)
[](https://fedoraproject.org/)
[](https://fedoraproject.org/atomic-desktops/)
[](https://www.debian.org/)
[](https://ubuntu.com/)
[](https://www.redhat.com/)
[](https://archlinux.org/)
[](INSTALL.ko.md#nix)
[](INSTALL.ko.md)
[English](../README.md) · **한국어** · [설치](INSTALL.ko.md) · [사용법](USAGE.ko.md) · [기능](FEATURES.ko.md) · [아키텍처](ARCHITECTURE.ko.md) · [비교](COMPARISON.ko.md)
| **Reverse-open** - Linux 앱이 Windows 게스트 우클릭 "Open with…" 메뉴에 기본 노출 - 짧은 메뉴 + 긴 "다른 앱 선택" 다이얼로그 양쪽에 앱별 정확한 아이콘 - 선택 시 호스트 `xdg-open` 으로 파일 열기 round-trip - 호스트 측 Linux 앱 + MIME 연결을 freedesktop 표준에서 자동 발견 - `winpodx host-open` CLI 또는 GUI Settings 패널로 관리 - [상세 →](FEATURES.ko.md#reverse-open-linux-앱이-windows-open-with-에) |
**매끄러운 앱 윈도**
- RemoteApp (RAIL) 이 각 Windows 앱을 네이티브 Linux 윈도로 렌더링 — 전체 데스크톱 아님
- `WM_CLASS` 매칭 통한 앱별 taskbar 아이콘 (`/wm-class: |
| **제로 설정 실행** - 첫 앱 클릭이 모든 것 자동 프로비저닝: config, 컨테이너, desktop 엔트리 - 첫 부팅 시 자동 discovery 가 실행 중인 Windows 게스트 스캔, 설치된 모든 앱 (Registry App Paths, Start Menu, UWP/MSIX, Chocolatey, Scoop) 을 실제 아이콘과 함께 등록 - `winpodx app refresh` 또는 GUI Refresh 버튼으로 언제든 수동 재스캔 - 멀티 백엔드: Podman (기본), Docker, manual RDP (libvirt 백엔드는 0.6.0 에서 제거 — 자체 libvirt 도메인을 쓰려면 ≤0.5.x 유지 또는 manual 백엔드 사용) |
**주변기기 & 공유**
- **클립보드**: 양방향 복사-붙여넣기 (텍스트 + 이미지) — 기본 활성
- **사운드**: RDP 오디오 스트리밍 (`/sound:sys:alsa`) — 기본 활성
- **프린터**: Linux 프린터가 Windows 에 공유 — 기본 활성
- **홈 디렉토리**: `\\tsclient\home` 으로 공유
- **USB 드라이브**: FileSystemWatcher 통한 드라이브 레터 (E:, F:, …) 자동 매핑; 세션 시작 후 꽂은 USB 도 서브폴더로 접근 가능; USB 데스크톱 바로가기 (`\\tsclient\media`) 가 항상 열림 — 마운트된 미디어 없으면 에러 대신 빈 폴더로 열림
- **호스트 USB / PCI 디바이스 패스스루** (0.6.0): 실제 호스트 디바이스를 Windows 게스트로 전달 — `winpodx device list / attach |
| **자동화 & 보안** - 자동 suspend / resume: idle 시 컨테이너 pause, 다음 실행 시 resume - 로그인 시 pod 자동 시작 (v0.5.9, opt-in): `winpodx autostart on` 이 트레이 autostart 엔트리 설치 → 로그인 시 pod 시작/resume. 기본 off (`autostart off|status`, 또는 GUI Settings 체크박스) - UNRESPONSIVE → 자동 복구 (v0.5.5): stalled RDP 게스트 감지 후 in-guest TermService 사이클로 self-heal — `pod restart` 불필요 - 호스트 적응형 Windows-on-KVM 튜닝 프로파일 (v0.5.5): `+invtsc`, `platform_tick` 등 호스트 capability gating — `tuning_profile = auto|safe|off` - 비밀번호 자동 회전: 20자 암호학적 비밀번호, 7일 주기, atomic rollback - 스마트 DPI 스케일링: GNOME, KDE, Sway, Hyprland, Cinnamon, xrdb 자동 감지 - Windows debloat: 텔레메트리, 광고, Cortana, 검색 인덱싱 기본 비활성 - FreeRDP `extra_flags` allowlist (regex 검증) 가 사용자 input 안전 경계 - 시간 동기화: 호스트 sleep/wake 후 Windows 시계 강제 resync - **베어메탈 위장** (0.7.0, opt-in): `pod.disguise_level balanced|max` 로 Windows 게스트가 VM 비적합 소프트웨어에게 물리 머신처럼 보임 (Nvidia GPU code 43, launch-gate 체크, VM 비적합 설치 프로그램) — balanced 는 CPUID/KVM 시그니처 은폐 + 호스트 SMBIOS 미러링; max 는 로컬 빌드 패치된 QEMU 이미지 추가 (`winpodx disguise build-image`); al-khaser 검증 완료; 기본 꺼짐 |
**운영 & 회복력**
- 다국어 UI (v0.5.9): 트레이 / GUI / CLI 가 7개 언어로 완전 번역 (en / ko / zh / ja / de / fr / it), `$LANG` 에서 자동 감지 — `winpodx language ` 또는 GUI Settings → "WinPodX UI language" 로 변경
- Windows 디스크 자동 확장 (v0.5.9): C: 가 idle 중 임계치 넘게 차면 호스트 여유 공간 한도 내에서 스스로 확장 — 수동은 `winpodx install grow-disk [SIZE]`, `winpodx install disk-usage`, GUI Tools → Grow Disk
- Guest sync (v0.5.9): 호스트 업그레이드 후 갱신된 agent / urlacl / rdprrap / fixes 를 실행 중인 게스트에 push — pod 시작 시 1회 자동, 또는 `winpodx guest sync [--force]`
- 오프라인 / 에어갭 설치 (`--source` + `--image-tar`)
- 원라인 언인스톨 (Windows VM 데이터 유지; `--purge` 로 전부 삭제)
- `winpodx doctor` 통한 헬스 체크 (deps / pod / RDP / agent / disk / round-trip / 비밀번호 age; `--json` 머신리더블, `--quick` 가벼운 서브셋, `--fix` 흔한 finding 의 idempotent 자동 복구)
- 재설계된 Qt6 GUI (0.6.0): 좌측 Start-menu 스타일 네비게이션 사이드바 + 새로운 **Dashboard** 홈 (라이브 Pod / RAM / CPU 링 게이지, 디스크 사용량, 자동 복구 상태 카드, pinned/recent 워크스페이스 타일, reverse-open 토글); 앱 런처는 이제 "All apps" 페이지가 되어 Devices / Settings / Tools / Terminal / Info 와 나란히 — 가벼운 시스템 트레이도 별도. 자체 SVG 아이콘 세트, 반응형 reflow, 커맨드 바를 겸하는 hero search
- stdlib 지향 Python (3.11+ 는 pip-deps 없음; 3.9 / 3.10 은 `tomli` 폴백 1개)
|