# Proxmox 9.0 자동 RDP 연결 설정 가이드 ## 개요 Proxmox VE 9.0 (Debian 13 기반) 호스트가 부팅될 때 자동으로 Windows VM에 RDP로 풀스크린 연결하는 설정 가이드입니다. **목표**: CLI 화면을 보지 않고 부팅 후 바로 RDP 화면이 풀스크린으로 표시 ## 환경 정보 - **OS**: Proxmox VE 9.0.5 (Debian 13 기반) - **RDP 대상**: ysleadersos.com:6642 - **인증정보**: doctor-03 / @flejtm301 ## 전체 설정 과정 ### 1단계: 필수 패키지 설치 ```bash # X 윈도우 시스템 및 관련 패키지 설치 apt update apt install -y xorg openbox unclutter freerdp3-x11 # 설치된 패키지 확인 dpkg -l | grep -E "(xorg|openbox|freerdp)" ``` ### 2단계: 사용자 계정 생성 및 설정 ```bash # rdpuser 계정 생성 (이미 존재한다면 건너뛰기) useradd -m -s /bin/bash rdpuser passwd rdpuser # 사용자 홈 디렉토리 권한 설정 chown -R rdpuser:rdpuser /home/rdpuser ``` ### 3단계: systemd 자동 로그인 설정 ```bash # getty@tty1 서비스 override 디렉토리 생성 mkdir -p /etc/systemd/system/getty@tty1.service.d # override.conf 파일 생성 cat > /etc/systemd/system/getty@tty1.service.d/override.conf << 'EOF' [Service] ExecStart= ExecStart=-/sbin/agetty --autologin rdpuser --noclear %I $TERM Type=idle EOF # systemd 설정 리로드 systemctl daemon-reload systemctl restart getty@tty1.service ``` ### 4단계: 자동 X 시작 설정 ```bash # rdpuser의 .bash_profile 생성 cat > /home/rdpuser/.bash_profile << 'EOF' # tty1에서만 X 자동 시작 if [[ -z $DISPLAY ]] && [[ $(tty) == /dev/tty1 ]]; then startx logout fi EOF # 파일 소유권 설정 chown rdpuser:rdpuser /home/rdpuser/.bash_profile ``` ### 5단계: X 세션 설정 (.xinitrc) ```bash # .xinitrc 파일 생성 cat > /home/rdpuser/.xinitrc << 'EOF' #!/bin/bash # 화면 절전 모드 비활성화 xset -dpms xset s off xset s noblank # 마우스 커서 숨기기 unclutter -idle 0.1 -root & # Openbox 윈도우 매니저 시작 openbox-session & # 잠시 대기 (X 완전 초기화) sleep 2 # FreeRDP3를 사용한 직접 RDP 연결 (풀스크린) xfreerdp3 \ /v:ysleadersos.com:6642 \ /u:doctor-03 \ /p:"@flejtm301" \ +f \ /cert:ignore \ +dynamic-resolution \ /sound:sys:alsa \ +clipboard # RDP 종료 시 X 세션도 종료 pkill -SIGTERM Xorg EOF # 실행 권한 및 소유권 설정 chmod +x /home/rdpuser/.xinitrc chown rdpuser:rdpuser /home/rdpuser/.xinitrc ``` ### 6단계: Openbox 설정 (풀스크린 최적화) ```bash # Openbox 설정 디렉토리 생성 mkdir -p /home/rdpuser/.config/openbox # rc.xml 설정 파일 생성 (윈도우 장식 제거, 풀스크린 강제) cat > /home/rdpuser/.config/openbox/rc.xml << 'EOF' no yes EOF # 디렉토리 및 파일 소유권 설정 chown -R rdpuser:rdpuser /home/rdpuser/.config ``` ## 주요 문제 해결 과정 ### 문제 1: 초기 Remmina 사용 시 연결 실패 - **증상**: 부팅 후 화면 깜빡임, RDP 연결되지 않음 - **원인**: Remmina가 자동 실행 환경에서 불안정 - **해결**: Remmina를 FreeRDP3로 교체 ### 문제 2: .bash_profile의 exec startx 문제 - **증상**: 로그인/로그아웃 반복 루프 - **원인**: `exec startx`로 인한 세션 교체 문제 - **해결**: `exec startx`를 `startx`로 변경하고 `logout` 추가 ### 문제 3: FreeRDP3 명령어 문법 오류 - **증상**: "Unexpected keyword" 오류 - **해결**: 올바른 FreeRDP3 문법 적용 - `/cert-ignore` → `/cert:ignore` - `/f` → `+f` - `/dynamic-resolution` → `+dynamic-resolution` - `/clipboard` → `+clipboard` ## 설정 파일 요약 ### 핵심 설정 파일들: 1. `/etc/systemd/system/getty@tty1.service.d/override.conf` - 자동 로그인 2. `/home/rdpuser/.bash_profile` - X 자동 시작 3. `/home/rdpuser/.xinitrc` - RDP 연결 실행 4. `/home/rdpuser/.config/openbox/rc.xml` - 풀스크린 최적화 ## 동작 흐름 1. **부팅 완료** → systemd가 tty1에서 rdpuser 자동 로그인 2. **로그인** → .bash_profile이 tty1에서 startx 실행 3. **X 시작** → .xinitrc가 실행됨 4. **Openbox 실행** → 윈도우 매니저 시작 5. **FreeRDP3 실행** → 풀스크린 RDP 연결 6. **RDP 종료시** → X 세션도 함께 종료 ## 테스트 및 확인 ### 설정 확인 명령어: ```bash # 자동 로그인 서비스 상태 확인 systemctl status getty@tty1.service # X 서버 실행 확인 ps aux | grep Xorg # RDP 연결 테스트 (수동) su - rdpuser -c "DISPLAY=:0 xfreerdp3 /v:ysleadersos.com:6642 /u:doctor-03 /p:'@flejtm301' +f /cert:ignore" ``` ### 로그 확인: ```bash # systemd 로그 확인 journalctl -u getty@tty1.service -f # X 서버 로그 확인 cat /home/rdpuser/.local/share/xorg/Xorg.0.log ``` ## 최종 결과 설정 완료 후 Proxmox 호스트를 재부팅하면: - ✅ CLI 화면을 보지 않고 바로 RDP 화면이 표시됨 - ✅ 풀스크린 모드로 Windows VM에 자동 연결 - ✅ 사용자 개입 없이 완전 자동화된 부팅-RDP 연결 ## 주의사항 1. **보안**: 패스워드가 설정 파일에 평문으로 저장됨 (운영 환경에서는 보안 강화 필요) 2. **네트워크**: RDP 대상 서버가 접근 가능한 상태여야 함 3. **백업**: 설정 변경 전 기존 설정 백업 권장 4. **권한**: 모든 설정 파일의 소유권이 rdpuser로 설정되어야 함 --- *생성일: 2025-08-24* *작성자: Claude Code Assistant*