TL;DR
- RC Desktop은 Windows 11 WSL 컨테이너 프리뷰(WSLC)에서 실행되는 컨테이너를 관리하는 Rust·Slint 기반 앱으로, Docker Desktop이나 Rancher Desktop 같은 기능을 작은 앱으로 제공함.
- 컨테이너·이미지·볼륨·네트워크 관리와 로그 확인, 셸 실행, 새 컨테이너 배포를 지원하며 Compose 스택은
rcompose로 처리함. wslc.exe명령은 동시 호출 시ERROR_SHARING_VIOLATION (0x80070020)이 발생할 수 있어 단일 큐에서 실행하고, 오류 발생 시 백오프를 적용해 재시도함.- 설치 프로그램은 관리자 권한 없이 사용자별로 앱과
rcompose를 설치하며, x64와 ARM64를 지원하고 설치 없이 실행할 수 있는 압축 파일도 제공함. - 시스템 트레이 상주, Windows 시작 시 자동 실행, WSLC 세션 상태 확인과 정리 기능을 제공하며, 소스 빌드에는 Rust 1.80 이상이 필요함.
RC Desktop 소개
- RC Desktop은 WSL Containers(
wslc.exe)에서 실행되는 컨테이너를 관리하는 소형 Windows 앱임. - Docker Desktop이나 Rancher Desktop과 비슷한 기능을 제공하되, Electron 앱을 포함하지 않도록 Rust와 Slint로 구현했으며, 빠르게 시작되고 메모리 사용량이 적으며 내부적으로
wslc.exe를 호출함. - 초기 단계의 앱이며 개인 사용을 위해 만들어져 거친 부분이 있을 수 있음.
주요 기능
- 컨테이너 목록을 표시하며, Compose 프로젝트를 스택 단위로 묶어 한 번에 시작하거나 중지할 수 있고, Compose의
down처럼 컨테이너와 네트워크를 제거하면서 볼륨은 유지함. - 컨테이너 시작, 중지, 재시작, 제거와 로그 및 검사 결과 확인을 지원함.
- Portainer 방식의 새 컨테이너 배포를 세 가지 방식으로 지원함.
- 폼에서 이름, 이미지, 포트, 환경 변수, 볼륨, 네트워크, CPU·메모리 제한, 실행 옵션을 입력하며, 이에 대응하는
wslc run명령 미리보기를 제공함. 이미지의 ‘Run’ 버튼은 입력값이 미리 채워진 폼을 엶. - Compose에서는
docker-compose.yml을 붙여 넣거나 열어 배포하며,rcompose up -d실행 결과를 앱에 표시함.wslc에는 자체 Compose 명령이 없으며,rcompose는 RC Desktop에 포함됨. 설치되어 있지 않으면 앱이 사용자별 설치를 제안하며, 체크섬을 검증하고 관리자 권한을 요구하지 않음. - docker run 명령을 붙여 넣으면 해당 명령을
wslc run으로 변환함. - Windows Terminal을 통해 컨테이너 셸을 열 수 있음.
- 이미지 목록 확인, 이미지 가져오기와 제거, 볼륨 및 네트워크 목록 확인과 삭제를 지원함.
- 공개된 포트는 링크로 표시되며, 링크를 열면 브라우저에서
http://localhost:<port>로 이동함. - WSLC 페이지에서 런타임 버전과 세션(
wslc info)을 확인할 수 있으며, 컨테이너·이미지·네트워크·볼륨 정리(prune),wslc설정 파일 바로 가기, 문서 링크를 제공함. - WSL 세션 상태를 표시하고 앱이 관리자 권한으로 실행 중일 때 경고함.
- 앱 창을 닫아도 시스템 트레이에서 실행을 유지하며, 툴팁에 실행 중인 컨테이너 수를 표시함. 트레이 메뉴에는 문제가 발생했을 때 사용할
wsl --shutdown바로 가기가 있음. - 설정 페이지, 트레이 메뉴 또는 설치 프로그램에서 Windows 시작 시 실행을 설정할 수 있으며, 자동 실행 시 트레이로 바로 시작함.
동시 실행 처리
wslc는 동시에 호출되는 명령을 처리하는 데 문제가 있으며, 두 명령이 동시에 실행되면ERROR_SHARING_VIOLATION (0x80070020)이 발생할 수 있음.- 앱은 모든 명령을 단일 큐에서 실행하고 해당 오류가 발생하면 백오프를 적용해 재시도함.
설치
rcdesktop-setup.exe를 내려받아 실행하면 관리자 권한 없이 사용자 계정에 RC Desktop을 설치함.- 설치 항목에는 Compose 스택용
rcompose, 시작 메뉴 바로 가기, 제거 프로그램이 포함되며, 선택적으로 Windows 시작 시 RC Desktop을 실행할 수 있음. - x64와 ARM64를 지원하며, 선택적으로
rcompose를PATH에 추가해 터미널에서도 사용할 수 있음. - 설치 프로그램을 원하지 않으면 릴리스에 포함된
rcdesktop-x86_64-pc-windows-msvc.zip또는 ARM64용 압축 파일을 풀어rcdesktop.exe를 실행하면 됨.rcompose.exe는 같은 폴더에 있어야 함. - Windows 11과 WSL 컨테이너 프리뷰(
wslc.exe)가 필요함.
소스에서 빌드
- 최신 Rust 툴체인인 Rust 1.80 이상이 필요하며, 릴리스 모드 실행은
cargo run --release로 수행함. wslc없이 UI를 작업하거나 가짜 데이터로 확인하려면 목(mock) 모드를 사용할 수 있음.cargo run -- --mock으로 실행하거나RCDESKTOP_MOCK환경 변수를1로 설정한 뒤 실행함.- 테스트는
cargo test로 실행함.
코드 구성
ui/: 메인 창, 테마, 구성 요소와 각 화면별 Slint 파일.src/wslc/: 명령 큐, 출력 파싱, 목 클라이언트 등wslc.exe와 통신하는 코드.src/domain/: 컨테이너, 이미지, 볼륨, 네트워크, 세션의 기본 타입.src/rcompose.rs: Compose 스택용rcompose탐색, 설치, 실행.src/app.rs: Tokio 워커와 Slint 이벤트 루프를 연결하는 코드.src/tray.rs: 시스템 트레이 아이콘.
라이선스
- MIT 라이선스임.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요