61 lines
2.0 KiB
Bash
61 lines
2.0 KiB
Bash
|
#!/bin/bash
|
||
|
# _ _ __ ____ __
|
||
|
# | | __ _ _ _ _ __ ___| |__ \ \ / / \/ |
|
||
|
# | | / _` | | | | '_ \ / __| '_ \ \ \ / /| |\/| |
|
||
|
# | |__| (_| | |_| | | | | (__| | | | \ V / | | | |
|
||
|
# |_____\__,_|\__,_|_| |_|\___|_| |_| \_/ |_| |_|
|
||
|
#
|
||
|
#
|
||
|
# by Stephan Raabe (2023)
|
||
|
# -----------------------------------------------------
|
||
|
|
||
|
if [ -f ~/private/win11-credentials.sh ]; then
|
||
|
echo "Credential file exists. Using the file."
|
||
|
source ~/private/win11-credentials.sh
|
||
|
else
|
||
|
win11user="USER"
|
||
|
win11pass="PASS"
|
||
|
win11ip="192.168.122.44"
|
||
|
win11name="windows11"
|
||
|
|
||
|
echo "## Preparing to remotely access your Windows virtual machine ##"
|
||
|
|
||
|
echo -n "Please enter your virtual machine name [default: $win11name]: "
|
||
|
read vmname
|
||
|
vmname=${vmname:-$win11name}
|
||
|
|
||
|
echo -n "Please enter your virtual machine ip [default: $win11ip]: "
|
||
|
read vmip
|
||
|
vmip=${vmip:-$win11ip}
|
||
|
|
||
|
echo -n "Please enter your username [default: $win11user]: "
|
||
|
read user
|
||
|
user=${user:-$win11user}
|
||
|
|
||
|
echo -n "Please enter your password [default: $win11pass]: "
|
||
|
read password
|
||
|
password=${password:-$win11pass}
|
||
|
fi
|
||
|
|
||
|
# echo "Hello, $vmname, $vmip, $user, $password"
|
||
|
|
||
|
tmp=$(virsh --connect qemu:///system list | grep " $vmname " | awk '{ print $3}')
|
||
|
|
||
|
if ([ "x$tmp" == "x" ] || [ "x$tmp" != "xrunning" ]); then
|
||
|
echo "Virtual Machine $vmname is starting now... Waiting 30s before starting xfreerdp."
|
||
|
notify-send "Virtual Machine $vmname 11 is starting now..." "Waiting 30s before starting xfreerdp."
|
||
|
virsh --connect qemu:///system start $vmname
|
||
|
sleep 30
|
||
|
else
|
||
|
notify-send "Virtual Machine $vmname is already running." "Launching xfreerdp now!"
|
||
|
echo "Starting xfreerdp now..."
|
||
|
fi
|
||
|
|
||
|
if command -v xfreerdp >/dev/null 2>&1; then
|
||
|
xfreerdp -grab-keyboard /v:$vmip /size:100% /cert-ignore /u:$user /p:$password /d: /dynamic-resolution /gfx-h264:avc444 +gfx-progressive /f &
|
||
|
elif command -v xfreerdp3 >/dev/null 2>&1; then
|
||
|
xfreerdp3 -v:$vmip -u:$user -p:$password -d: -dynamic-resolution /cert:ignore /f /gfx:AVC444 &
|
||
|
else
|
||
|
echo "'xfreerdp' or 'xfreerdp3' command not found."
|
||
|
fi
|