Rdp: различия между версиями
Перейти к навигации
Перейти к поиску
Vovan (обсуждение | вклад) (Новая страница: «=Кнопка для меню GNOME3 для запуска xfreerdp= Просто бросьте это в рутовую консоль: <pre> cat << 'EOF' > /…») |
Vovan (обсуждение | вклад) (→Кнопка для меню GNOME3 для запуска remote-viewer) |
||
| (не показаны 3 промежуточные версии этого же участника) | |||
| Строка 19: | Строка 19: | ||
EOF | EOF | ||
</pre> | </pre> | ||
| + | |||
| + | |||
| + | =Кнопка для меню GNOME3 для запуска remote-viewer= | ||
| + | |||
| + | Окружение | ||
| + | |||
| + | <pre> | ||
| + | SEAT_NUMBER="1" | ||
| + | SEAT_USER="user@pve" | ||
| + | SEAT_PASSWORD="password" | ||
| + | SEAT_VMID="40101" | ||
| + | </pre> | ||
| + | |||
| + | Кнопка запуска | ||
| + | |||
| + | <pre> | ||
| + | cat << EOF > /usr/share/applications/demoexam-seat-spice.desktop | ||
| + | [Desktop Entry] | ||
| + | Version=1.0 | ||
| + | Type=Application | ||
| + | Name=Demo Exam Seat (SPICE) $SEAT_NUMBER | ||
| + | GenericName=Demo Exam Seat (SPICE) $SEAT_NUMBER | ||
| + | Exec=/opt/spice-client.sh "$SEAT_USER" "$SEAT_PASSWORD" "$SEAT_VMID" | ||
| + | Terminal=false | ||
| + | MimeType=text/plain; | ||
| + | Icon= | ||
| + | Categories=Development; | ||
| + | StartupNotify=true | ||
| + | EOF | ||
| + | </pre> | ||
| + | |||
| + | |||
| + | Скрипт | ||
| + | |||
| + | <pre> | ||
| + | cat << 'EOF' > /opt/spice-client.sh | ||
| + | #!/bin/bash | ||
| + | |||
| + | USERNAME="$1" | ||
| + | PASSWORD="$2" | ||
| + | VMID="$3" | ||
| + | PROXY="10.207.151.242" | ||
| + | PORT="8006" | ||
| + | NODE="cluster-node2" | ||
| + | |||
| + | DATA="$(curl -f -s -S -k --data-urlencode "username=$USERNAME" --data-urlencode "password=$PASSWORD" "https://$PROXY:$PORT/api2/json/access/ticket")" | ||
| + | |||
| + | echo "AUTH OK" | ||
| + | |||
| + | TICKET="${DATA//\"/}" | ||
| + | TICKET="${TICKET##*ticket:}" | ||
| + | TICKET="${TICKET%%,*}" | ||
| + | TICKET="${TICKET%%\}*}" | ||
| + | |||
| + | CSRF="${DATA//\"/}" | ||
| + | CSRF="${CSRF##*CSRFPreventionToken:}" | ||
| + | CSRF="${CSRF%%,*}" | ||
| + | CSRF="${CSRF%%\}*}" | ||
| + | |||
| + | curl -f -s -S -k -b "PVEAuthCookie=$TICKET" -H "CSRFPreventionToken: $CSRF" "https://$PROXY:$PORT/api2/spiceconfig/nodes/$NODE/qemu/$VMID/spiceproxy" -d "proxy=$PROXY" > ~/spiceproxy | ||
| + | |||
| + | # -f | ||
| + | exec remote-viewer -f ~/spiceproxy | ||
| + | EOF | ||
| + | </pre> | ||
| + | |||
| + | chmod +x /opt/spice-client.sh | ||
Текущая версия на 10:18, 3 апреля 2023
Кнопка для меню GNOME3 для запуска xfreerdp
Просто бросьте это в рутовую консоль:
cat << 'EOF' > /usr/share/applications/demoexam-seat.desktop [Desktop Entry] Version=1.0 Type=Application Name=Demo Exam Seat GenericName=Demo Exam Seat Comment= Exec=/usr/bin/xfreerdp /multimon /f /bpp:24 +fonts -compression +auto-reconnect -themes -wallpaper /cert-ignore /u:login /p:password /v:10.207.144.62:33901 Terminal=false MimeType=text/plain; Icon= Categories=Development; StartupNotify=true EOF
Кнопка для меню GNOME3 для запуска remote-viewer
Окружение
SEAT_NUMBER="1" SEAT_USER="user@pve" SEAT_PASSWORD="password" SEAT_VMID="40101"
Кнопка запуска
cat << EOF > /usr/share/applications/demoexam-seat-spice.desktop [Desktop Entry] Version=1.0 Type=Application Name=Demo Exam Seat (SPICE) $SEAT_NUMBER GenericName=Demo Exam Seat (SPICE) $SEAT_NUMBER Exec=/opt/spice-client.sh "$SEAT_USER" "$SEAT_PASSWORD" "$SEAT_VMID" Terminal=false MimeType=text/plain; Icon= Categories=Development; StartupNotify=true EOF
Скрипт
cat << 'EOF' > /opt/spice-client.sh
#!/bin/bash
USERNAME="$1"
PASSWORD="$2"
VMID="$3"
PROXY="10.207.151.242"
PORT="8006"
NODE="cluster-node2"
DATA="$(curl -f -s -S -k --data-urlencode "username=$USERNAME" --data-urlencode "password=$PASSWORD" "https://$PROXY:$PORT/api2/json/access/ticket")"
echo "AUTH OK"
TICKET="${DATA//\"/}"
TICKET="${TICKET##*ticket:}"
TICKET="${TICKET%%,*}"
TICKET="${TICKET%%\}*}"
CSRF="${DATA//\"/}"
CSRF="${CSRF##*CSRFPreventionToken:}"
CSRF="${CSRF%%,*}"
CSRF="${CSRF%%\}*}"
curl -f -s -S -k -b "PVEAuthCookie=$TICKET" -H "CSRFPreventionToken: $CSRF" "https://$PROXY:$PORT/api2/spiceconfig/nodes/$NODE/qemu/$VMID/spiceproxy" -d "proxy=$PROXY" > ~/spiceproxy
# -f
exec remote-viewer -f ~/spiceproxy
EOF
chmod +x /opt/spice-client.sh