에이전트와 사람이 같은 세션 사용하기

rdp-cli를 사용하면 AI 에이전트가 명령으로 Linux 앱 화면을 보고 조작할 수 있습니다. 화면을 캡처하고 관찰한 대상을 조작한 뒤 다음 화면으로 결과를 확인합니다. 사람은 네이티브 창이나 승인된 Web 뷰어를 열어 같은 세션을 관찰하거나 일시 정지하고 제어할 수 있습니다.

접근 권한이 있는 대상 준비하기

Linux 컴퓨터에는 기존 SSH 접속과 설치된 X11 호환 앱이 있어야 합니다. 예시 주소, 계정, 개인 키 경로와 별도로 확인한 known-hosts 파일을 바꾸세요. Windows PowerShell에서는 rdp-cli 대신 .\rdp-cli.exe를 사용합니다. --version의 embedded_ssh, x11_desktop, x11_application이 모두 true인지 확인하세요.

앱 하나 열기

예시는 rdp-cli에 내장된 격리된 표시 환경에서 기존 Gedit를 엽니다. 기본적으로 로컬 뷰어 창은 열지 않습니다. 응답의 data.session을 저장하여 아래 SESSION에 사용하세요. 평소 Wayland 데스크톱을 사용하는 호스트에서도 X11 호환 앱은 이 방식으로 전달할 수 있습니다.

rdp-cli connect --protocol x11 --mode application --host 192.0.2.20 --user USER --ssh-key PRIVATE_KEY --ssh-known-hosts KNOWN_HOSTS --linux-file-root FILE_ROOT --application /usr/bin/gedit --app-args '["--standalone","--new-window"]'

기존 X11 데스크톱에 연결하기

실제 display와 기존 인증 파일 경로를 지정합니다. SSH 계정에 해당 display 접근 권한이 있어야 하며 SSH 인증 성공만으로 데스크톱 권한을 얻는 것은 아닙니다. 이 모드는 기존 데스크톱에 연결하고 새 로그인 세션을 만들지 않습니다.

rdp-cli connect --protocol x11 --mode desktop --host 192.0.2.20 --user USER --ssh-key PRIVATE_KEY --ssh-known-hosts KNOWN_HOSTS --linux-file-root FILE_ROOT --display DISPLAY --xauthority XAUTHORITY_PATH

관찰하고 조작한 뒤 확인하기

반환된 PNG를 확인하고 data.observation을 저장합니다. X와 Y를 화면의 실제 좌표로 바꿉니다. 입력란에 포커스를 둔 뒤 다시 캡처하여 새 토큰을 사용하세요. 명시적 클립보드 입력은 원격 클립보드를 바꾸며 로컬 클립보드는 바꾸지 않습니다. 입력 응답은 전송만 확인하므로 이후 화면에서 결과를 확인하세요.

rdp-cli screenshot --session SESSION --out before.png
rdp-cli click --session SESSION --x X --y Y --observation OBSERVATION
rdp-cli screenshot --session SESSION --out focused.png
rdp-cli linux text --session SESSION --method clipboard --text '검토가 완료되었습니다.' --observation OBSERVATION
rdp-cli screenshot --session SESSION --out after.png

결과 파일 가져오기

업로드 결과의 remote_path를 Linux 앱에서 열어 편집하고 저장한 뒤 결과를 다운로드합니다. 각 transfer_id를 보관하고 completed 상태를 기다리세요. 전송 전에 저장하고 같은 이름의 기존 파일은 기본적으로 덮어쓰지 않습니다. 오류가 발생하면 무작정 반복하지 말고 작업 상태를 확인하세요.

FILE_ROOT를 이 SSH 계정이 읽고 쓸 수 있는 기존 원격 디렉터리로 바꾸세요. 파일 명령은 해당 디렉터리 안에서만 작동합니다. 경로를 지정해도 디렉터리가 생성되거나 권한이 추가되지는 않습니다.

rdp-cli files list --session SESSION
rdp-cli files upload --session SESSION --local ./report.txt --path report.txt
rdp-cli files status --session SESSION --transfer-id UPLOAD_TRANSFER
rdp-cli files download --session SESSION --path report.txt --local ./result.txt
rdp-cli files status --session SESSION --transfer-id DOWNLOAD_TRANSFER

사람이 작업 이어받기

보고 싶을 때 뷰어를 엽니다. 처음에는 읽기 전용입니다. 제어권을 가져오면 에이전트 입력이 멈추고 수정 후 제어권을 돌려주면 같은 작업을 계속할 수 있습니다. 승인된 Web 뷰어도 같은 세션에 참여하며 한 번에 하나의 뷰어만 사람의 제어권을 가집니다. 읽기 전용 뷰어를 닫아도 백엔드 연결은 유지됩니다.

rdp-cli watch --session SESSION --viewer window

프로토콜 범위 이해하기

네이티브 X11은 오디오 재생이나 마이크 리디렉션을 제공하지 않습니다. 전체 Wayland 데스크톱에는 이미 설정된 호환 RDP 또는 VNC 엔드포인트가 필요하며 실제로 협상된 기능을 사용합니다. rdp-cli는 원격 서비스를 설치하거나 활성화하지 않습니다. 표시 연결이 끊기면 앱이 종료될 수 있으므로 먼저 저장하세요. 자동 재시작이나 작업 공간 보존을 가정하면 안 됩니다.

Wayland 문자 입력은 기존 서버에 따라 달라집니다. GNOME 46 및 Krfb 23.08은 일부 Unicode 키를 매핑하지 못할 수 있으므로 입력 결과를 확인하세요. 명시적 클립보드 붙여넣기는 해당 연결 대상에서 실제로 작동할 때 사용하세요. Plasma Wayland의 Krfb는 클립보드 지원을 알리면서도 내용을 앱에 전달하지 않을 수 있습니다. 복잡한 입력이나 빠른 연속 작업은 작은 단계로 나누고 다음 스크린샷을 확인하세요.

실제 테스트한 데스크톱 연결 대상: Ubuntu 24.04.5 · GNOME 46 / GNOME Remote Desktop 46.3; KDE Plasma 5.27.12 / Krfb 23.08.5.

빠른 시작 읽기