sudo systemctl stop rdpclient cat | sudo tee /home/pi/rdp-start.sh > /dev/null <<'EOF' #!/bin/bash set -eu # ---- USB-Serial 자동 탐색 (Honeywell 우선) ---- DEV="" for CAND in /dev/ttyACM* /dev/ttyUSB*; do if [ -e "$CAND" ]; then VENDOR=$(udevadm info -q all -n "$CAND" 2>/dev/null | grep ID_VENDOR_ID || true) PRODUCT=$(udevadm info -q all -n "$CAND" 2>/dev/null | grep ID_MODEL_ID || true) if echo "$VENDOR$PRODUCT" | grep -qi "0c2e"; then DEV="$CAND" break fi fi done if [ -n "$DEV" ]; then echo "[RDP-START] serial redirect: $DEV -> COM3" SERIAL_OPT="/serial:COM3,${DEV},Serial" else echo "[RDP-START] WARNING: no Honeywell device found; skipping serial redirect" SERIAL_OPT="" fi # ---- 경량 WM + 화면 절전 방지 ---- openbox-session & xset s off xset -dpms xset s noblank setxkbmap us || true # ---- 접속 기본값 ---- SIZE="1920x1080" BPP="16" SRV="pharmq.kr:7390" USR="pqserver" PW="pharmq119" # ---- 성능 최적화 (윈도우 UI 효과 제거) ---- PERF="-wallpaper -themes -menu-anims -window-drag" # ---- FreeRDP 공통 옵션 ---- BASE="/u:${USR} /p:${PW} /v:${SRV} \ /bpp:${BPP} /clipboard /cert:ignore \ /compression /network:lan ${PERF} /log-level:INFO /f" # ---- 코덱 순차 시도 ---- for MODE in "/gfx:avc420" "/gfx" "/rfx" ""; do LABEL="${MODE:-bitmap}" echo "[RDP-START] trying: xfreerdp3 ${LABEL}" if xfreerdp3 $BASE $SERIAL_OPT $MODE; then echo "[RDP-START] connected with: ${LABEL}" exit 0 fi done exit 1 EOF sudo chmod +x /home/pi/rdp-start.sh sudo systemctl start rdpclient