From fbea9419c377cb7f39ccad4123f7d04e19098955 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 17 Nov 2025 04:27:30 +0000 Subject: [PATCH] Add RDP config editor to all-in-one installer rerun menu MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When rerunning the installer on existing setup: - Display current RDP configuration (server, username, local user) - Add option 2: "RDP ์„ค์ • ์ˆ˜์ •" to modify settings - Allow editing: RDP server, username, password, local user - Show current values as defaults (press Enter to keep) - Update both /var/lib/rdp-toggle/config.json and .xinitrc - After update, show toggle menu to apply changes Menu options on rerun: 1. RDP toggle menu 2. Edit RDP settings (NEW) 3. Reinstall 4. Exit This allows users to easily change RDP target without reinstalling. ๐Ÿค– Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- RDP/proxmox-auto-rdp-setup.sh | 106 ++++++++++++++++++++++++++++++++-- 1 file changed, 102 insertions(+), 4 deletions(-) diff --git a/RDP/proxmox-auto-rdp-setup.sh b/RDP/proxmox-auto-rdp-setup.sh index faff7f1..a02c38e 100755 --- a/RDP/proxmox-auto-rdp-setup.sh +++ b/RDP/proxmox-auto-rdp-setup.sh @@ -742,6 +742,17 @@ main() { [ -f "/opt/rdp-toggle-api/rdp-toggle-api.py" ] && \ [ -f "/etc/systemd/system/getty@tty1.service.d/override.conf" ]; then + # ํ˜„์žฌ ์„ค์ • ๋กœ๋“œ + if [ -f "/var/lib/rdp-toggle/config.json" ]; then + CURRENT_RDP_SERVER=$(python3 -c "import json; print(json.load(open('/var/lib/rdp-toggle/config.json'))['rdp_server'])" 2>/dev/null || echo "์•Œ ์ˆ˜ ์—†์Œ") + CURRENT_RDP_USERNAME=$(python3 -c "import json; print(json.load(open('/var/lib/rdp-toggle/config.json'))['rdp_username'])" 2>/dev/null || echo "์•Œ ์ˆ˜ ์—†์Œ") + CURRENT_LOCAL_USER=$(python3 -c "import json; print(json.load(open('/var/lib/rdp-toggle/config.json'))['local_user'])" 2>/dev/null || echo "์•Œ ์ˆ˜ ์—†์Œ") + else + CURRENT_RDP_SERVER="์•Œ ์ˆ˜ ์—†์Œ" + CURRENT_RDP_USERNAME="์•Œ ์ˆ˜ ์—†์Œ" + CURRENT_LOCAL_USER="์•Œ ์ˆ˜ ์—†์Œ" + fi + echo "" echo -e "${GREEN}==========================================" echo "โœ… RDP ์ž๋™ํ™” ์‹œ์Šคํ…œ์ด ์ด๋ฏธ ์„ค์น˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค!" @@ -749,12 +760,18 @@ main() { echo "" echo -e "${CYAN}๐Ÿ“ API ์„œ๋ฒ„: http://$(get_primary_ip):8090${NC}" echo "" + echo -e "${CYAN}ํ˜„์žฌ ์„ค์ •:${NC}" + echo " RDP ์„œ๋ฒ„: $CURRENT_RDP_SERVER" + echo " RDP ์‚ฌ์šฉ์ž: $CURRENT_RDP_USERNAME" + echo " ๋กœ์ปฌ ์‚ฌ์šฉ์ž: $CURRENT_LOCAL_USER" + echo "" echo "๋‹ค์Œ ์ค‘ ์„ ํƒํ•˜์„ธ์š”:" echo " 1) RDP ํ† ๊ธ€ ๋ฉ”๋‰ด (RDP โ†” Shell ์ „ํ™˜)" - echo " 2) ์žฌ์„ค์น˜ (๊ธฐ์กด ์„ค์ • ์‚ญ์ œ ํ›„ ์ƒˆ๋กœ ์„ค์น˜)" - echo " 3) ์ข…๋ฃŒ" + echo " 2) RDP ์„ค์ • ์ˆ˜์ •" + echo " 3) ์žฌ์„ค์น˜ (๊ธฐ์กด ์„ค์ • ์‚ญ์ œ ํ›„ ์ƒˆ๋กœ ์„ค์น˜)" + echo " 4) ์ข…๋ฃŒ" echo "" - echo -n "์„ ํƒ [1/2/3]: " + echo -n "์„ ํƒ [1/2/3/4]: " read -r reinstall_choice /var/lib/rdp-toggle/config.json << EOF +{ + "rdp_server": "$NEW_RDP_SERVER", + "rdp_username": "$NEW_RDP_USERNAME", + "rdp_password": "$NEW_RDP_PASSWORD", + "local_user": "$NEW_LOCAL_USER" +} +EOF + + # RDP ์„ค์ • ํŒŒ์ผ๋„ ์—…๋ฐ์ดํŠธ + RDP_SERVER="$NEW_RDP_SERVER" + RDP_USERNAME="$NEW_RDP_USERNAME" + RDP_PASSWORD="$NEW_RDP_PASSWORD" + LOCAL_USER="$NEW_LOCAL_USER" + + # .xinitrc ์—…๋ฐ์ดํŠธ + user_home="/home/$LOCAL_USER" + if [ -f "$user_home/.xinitrc" ]; then + cat > "$user_home/.xinitrc" << EOF +#!/bin/bash +xset -dpms +xset s off +xset s noblank +unclutter -idle 0.1 -root & +openbox-session & +sleep 2 +xfreerdp3 /v:$RDP_SERVER /u:$RDP_USERNAME /p:"$RDP_PASSWORD" +f /cert:ignore +dynamic-resolution /sound:sys:alsa +clipboard +pkill -SIGTERM Xorg +EOF + chmod +x "$user_home/.xinitrc" + chown "$LOCAL_USER:$LOCAL_USER" "$user_home/.xinitrc" + fi + + msg_ok "RDP ์„ค์ •์ด ์—…๋ฐ์ดํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค!" + echo "" + echo "๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ ์šฉํ•˜๋ ค๋ฉด RDP ๋ชจ๋“œ๋ฅผ ๋‹ค์‹œ ํ™œ์„ฑํ™”ํ•˜์„ธ์š”." + echo "" + + # ํ† ๊ธ€ ๋ฉ”๋‰ด๋กœ ์ด๋™ + show_rdp_toggle_menu + else + msg_warn "์„ค์ • ๋ณ€๊ฒฝ์ด ์ทจ์†Œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค." + fi + exit 0 + ;; + 3) echo "" msg_warn "๊ธฐ์กด ์„ค์ •์„ ์‚ญ์ œํ•˜๊ณ  ์žฌ์„ค์น˜๋ฅผ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค..." # ๊ธฐ์กด ์„ค์ • ์‚ญ์ œ๋Š” ํ•˜์ง€ ์•Š๊ณ  ๋ฎ์–ด์“ฐ๊ธฐ๋กœ ์ง„ํ–‰ echo "" ;; - 3) + 4) echo "" msg_ok "์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค." exit 0