proxmox-rdp-autosetup/proxmox_auto_rdp_setup_korean.md
시골약사 3ab509492f Initial commit: Proxmox Auto RDP Setup Script
 주요 기능:
- Proxmox VE 호스트 부팅 시 자동 RDP 연결
- 완전 자동화된 설정 스크립트
- 강화된 입력 검증 및 에러 처리
- 네트워크 연결 테스트
- 자동 백업 및 복구 기능
- 사용자 친화적 컬러 출력

🛠️ 기술 스택:
- Bash Shell Script
- systemd (자동 로그인)
- X Window System + Openbox
- FreeRDP3 (RDP 클라이언트)

🔧 주요 구성:
- proxmox-auto-rdp-setup.sh: 메인 설치 스크립트
- proxmox_auto_rdp_setup_korean.md: 상세 한글 문서
- README.md: 프로젝트 개요 및 사용법

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-24 13:33:19 +09:00

5.6 KiB

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단계: 필수 패키지 설치

# X 윈도우 시스템 및 관련 패키지 설치
apt update
apt install -y xorg openbox unclutter freerdp3-x11

# 설치된 패키지 확인
dpkg -l | grep -E "(xorg|openbox|freerdp)"

2단계: 사용자 계정 생성 및 설정

# rdpuser 계정 생성 (이미 존재한다면 건너뛰기)
useradd -m -s /bin/bash rdpuser
passwd rdpuser

# 사용자 홈 디렉토리 권한 설정
chown -R rdpuser:rdpuser /home/rdpuser

3단계: systemd 자동 로그인 설정

# 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 시작 설정

# 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)

# .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 설정 (풀스크린 최적화)

# Openbox 설정 디렉토리 생성
mkdir -p /home/rdpuser/.config/openbox

# rc.xml 설정 파일 생성 (윈도우 장식 제거, 풀스크린 강제)
cat > /home/rdpuser/.config/openbox/rc.xml << 'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<openbox_config xmlns="http://openbox.org/3.4/rc">
  <applications>
    <application class="*">
      <decor>no</decor>
      <maximized>yes</maximized>
    </application>
  </applications>
</openbox_config>
EOF

# 디렉토리 및 파일 소유권 설정
chown -R rdpuser:rdpuser /home/rdpuser/.config

주요 문제 해결 과정

문제 1: 초기 Remmina 사용 시 연결 실패

  • 증상: 부팅 후 화면 깜빡임, RDP 연결되지 않음
  • 원인: Remmina가 자동 실행 환경에서 불안정
  • 해결: Remmina를 FreeRDP3로 교체

문제 2: .bash_profile의 exec startx 문제

  • 증상: 로그인/로그아웃 반복 루프
  • 원인: exec startx로 인한 세션 교체 문제
  • 해결: exec startxstartx로 변경하고 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 세션도 함께 종료

테스트 및 확인

설정 확인 명령어:

# 자동 로그인 서비스 상태 확인
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"

로그 확인:

# 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