Add RDP config editor to all-in-one installer rerun menu
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 <noreply@anthropic.com>
This commit is contained in:
parent
86eb7ea806
commit
fbea9419c3
@ -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 </dev/tty
|
||||
|
||||
case "$reinstall_choice" in
|
||||
@ -764,12 +781,93 @@ main() {
|
||||
exit 0
|
||||
;;
|
||||
2)
|
||||
# RDP 설정 수정
|
||||
echo ""
|
||||
echo -e "${CYAN}=========================================="
|
||||
echo "RDP 설정 수정"
|
||||
echo -e "==========================================${NC}"
|
||||
echo ""
|
||||
|
||||
# 새로운 RDP 정보 입력
|
||||
echo -n "RDP 서버 주소 (현재: $CURRENT_RDP_SERVER): "
|
||||
read -r NEW_RDP_SERVER </dev/tty
|
||||
[ -z "$NEW_RDP_SERVER" ] && NEW_RDP_SERVER="$CURRENT_RDP_SERVER"
|
||||
|
||||
echo -n "RDP 사용자명 (현재: $CURRENT_RDP_USERNAME): "
|
||||
read -r NEW_RDP_USERNAME </dev/tty
|
||||
[ -z "$NEW_RDP_USERNAME" ] && NEW_RDP_USERNAME="$CURRENT_RDP_USERNAME"
|
||||
|
||||
echo -n "RDP 비밀번호: "
|
||||
read -s NEW_RDP_PASSWORD </dev/tty
|
||||
echo ""
|
||||
|
||||
echo -n "로컬 사용자명 (현재: $CURRENT_LOCAL_USER): "
|
||||
read -r NEW_LOCAL_USER </dev/tty
|
||||
[ -z "$NEW_LOCAL_USER" ] && NEW_LOCAL_USER="$CURRENT_LOCAL_USER"
|
||||
|
||||
echo ""
|
||||
echo "새로운 설정:"
|
||||
echo " RDP 서버: $NEW_RDP_SERVER"
|
||||
echo " RDP 사용자: $NEW_RDP_USERNAME"
|
||||
echo " 로컬 사용자: $NEW_LOCAL_USER"
|
||||
echo ""
|
||||
echo -n "이 설정으로 업데이트하시겠습니까? [y/N]: "
|
||||
read -r confirm </dev/tty
|
||||
|
||||
if [[ "$confirm" =~ ^[Yy]$ ]]; then
|
||||
# 설정 파일 업데이트
|
||||
cat > /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
|
||||
|
||||
Loading…
Reference in New Issue
Block a user