मुझे एक Linux होस्ट पर तीन समस्याएं हुई हैं:
यदि यह अक्षम नहीं है, तो आपको रिटर्न मारना होगा जब VBox पूर्ण स्क्रीन पर जाने के लिए कहती है
माउस डी-इंटीग्रेशन स्वचालित नहीं है (मेरा क्लाइंट सीधे USB माउस को nabs करता है)
और ...
क्लाइंट सॉवरेट कमांड में VBoxControl प्रोग्राम को बोर्क किया गया है
निम्नलिखित स्क्रिप्ट तीनों मुद्दों का ध्यान रखती है।
इसके लिए आपको एप्टीट्यूड wmctrl और xdotool की आवश्यकता होती है।
अतिथि जोड़ स्थापित किए जाने चाहिए।
VM_NAME बदलें!
आप जो भी मॉनिटर करना चाहते हैं, उसे DISPLAY बदलें।
क्लाइंट टर्मिनल में "sudo VBoxControl Guestproperty set SaveStateNow 1" चलाने के लिए।
---यहाँ काटें---
#!/bin/bash
VM_NAME='My Machine Name'
MAXTRIES=20
export DISPLAY=:0.1
VBoxManage startvm "$VM_NAME" &
i="0"
while [ $i -lt $MAXTRIES ]; do
echo Fullscreen try $i
wmctrl -a "VirtualBox - Information"
if [ $? == 0 ]; then
sleep 1
xdotool key "Return"
break
fi
sleep 1
i=$[$i+1]
done
i="0"
while [ $i -lt $MAXTRIES ]; do
echo Pointer try $i
GUEST_ADDITIONS_ACTIVE=`VBoxManage showvminfo "$VM_NAME" | grep "Additions run level" | cut -d : -f 2`
if [ $GUEST_ADDITIONS_ACTIVE == "1" ]; then
sleep 1
xdotool key "Super_R+i"
break
fi
sleep 1
i=$[$i+1]
done
while true; do
if [ "`VBoxManage guestproperty get "$VM_NAME" SaveStateNow`" != 'No value set!' ]; then
echo Saving...
VBoxManage guestproperty set "$VM_NAME" SaveStateNow
VBoxManage controlvm "$VM_NAME" savestate
break
fi
sleep 1
done