remove Bootable CD from VM programatically - automation

I am doing automation of installation of OS(Custom Linux) on a VM on ESXi by plugging in bootable iso of the OS. After the installation of the OS is done, a restart is required of the VM to proceed with the normal OS launch.
I need to automate this. The problem is if the bootable CD is plugged in, instead of booting from the HDD, the system boots from the CD. Is there any way to eject the CD from the VM programatically? or is there any other way?

If the OS is linux(as was my case), one can eject the CD using something like:
eject -T /dev/sr0

Related

Linux commands not recognized in ChromeOS based Virtual Machine

I have a Virtual Machine Instance on Google Cloud, which is set up using ChromeOS. The basic Linux commands such as apt, dpkg, etc are not recognized.
Is there a workaround how to enable "Linux beta" for ChromeOS from terminal, or another solution how can I be able to run any sort of apt-get commands?
There is no other choice rather than removing the ChromeOS-based machine and recreate a new one either debian or ubuntu.

I installed KVM via synaptic from Ubuntu repositories, and now my computer won't boot.

2 week old Ubuntu 18.04 install.
As a requirement of running a android device emulator for Android studio, I had to install KVM, so I installed it (the exact package name was kvm, it had some dependencies), and now my computer won't boot. It just sits there with a purple screen.
No keyboard or mouse input has any effect (including REISUB).
I have googled and nothing relevant comes up (it's all about booting VMs, understandably).
I have no idea what to do, especially since I cannot interact directly with my OS.
I still have my boot stick (that I used to install 18.04), and I can boot off that.
Turns out that installing linux-kvm actually doesn't install a VM program, it just installs another kernal that's obsolete, puts it at the top of the grub list, and that's how it breaks your computer.
I fixed it by using boot-repair (https://help.ubuntu.com/community/Boot-Repair).

*OpenIMSCore* How to install OpenIMSCore

I would like to install the OpenIMSCore on my virtualbox machine and I follow this instruction: OpenIMSCore in a VM. I already downloaded the folders and extracted them but I dont know how to open them with the virtualbox.
This is a folder after I extracted the files:
Does anybody have an idea ?
You can't use VirtualBox. To start this virtual-machine you have to use VMware Software, for example VMware Workstation Player.

How to get Sikuli working in headless mode

If we have a headless test server running sikuli (both ubuntu and windows configurations needed), how to get it work without a physical monitor and preferably for as many screen resolutions as possible.
I successfully got sikuli running in headless mode (no physical monitor connected)
Ubuntu: check Xvfb.
Windows: install display driver on the machine (to be headless) from virtualbox guest additions display drivers and use TightVNC to remotely set resolution from another machine.
Detailed steps for windows 7
Assume that:
Machine A: to be headless machine, windows 7, with vnc server ready (e.g. TightVNC server installed and waiting for connections).
Machine B: will be used to remotely setup the virtual display driver on machine A.
steps:
Download virtualbox guest additions iso file on Machine A from here (for latest version check latest version here and download VBoxGuestAdditions_x.y.z.iso)
Extract iso file (possibly with winrar) into a directory (let us call it folder D)
using command prompt cd to D folder
Driver extraction
-To extract the 32-bit drivers to "C:\Drivers", do the following:
VBoxWindowsAdditions-x86 /extract /D=C:\Drivers
-For the 64-bit drivers:
VBoxWindowsAdditions-amd64 /extract /D=C:\Drivers
Goto device manager
add hardware
Restart and connect with VNC viewer, now you should be able to change screen resolution
other valuable info on launchpad.
I got SikuliX working in a true headless mode in GCE with a Windows 2016 client system. It takes some duct tape and other Rube Goldberg contraptions to work, but it can be done.
The issue is that, for GCE (and probably AWS and other cloud environment Windows clients), you don't have a virtual video adapter and display, so, unless there's an open RDP connection to the client, it doesn't have a screen, and SikuliX/OpenCV will get a 1024x768 black desktop, and fail.
So, the question is, how to create an RDP connection without having an actual screen anywhere. I did this using Xvfb (X Windows virtual frame buffer). This does require a second VM, though. Xvfb runs on Linux. The other piece of the puzzle is xfreerdp 2.0. The 2.x version is required for compatibility with recent versions of Windows. 1.x is included with some Linux distros; 2.x may need to be built from sources, depending on what flavor Linux you're using. I'm using CentOS, which did require me to build my own.
The commands to establish the headless RDP session, once the pieces are in place, look something like this:
/usr/bin/Xvfb :0 -screen 0 1920x1080x24 &
export DISPLAY=:0.0
/usr/local/bin/xfreerdp /size:1920x1080 /u:[WindowsUser] /p:"[WindowsPassword]" /v:[WindowsTarget]
In our environment we automated this as part of the build job kicked off by Jenkins. For this to work under the Jenkins slave, it was also necessary to run the Jenkins slave as a user process, rather than a service... this can be accomplished by enabling auto admin login and setting the slave launch script as a run (on logon) command.
For those looking to automate on ec2 windows machines, this worked for me: http://www.allianceglobalservices.com/blog/executing-automation-suite-on-disconnectedlocked-machines
In summary, I used RDC to connect, put the following code in a batch file on remote desktop, double clicked it, and sikulix started working remotely (kicking me out of RDC at the same time). Note that ec2 windows machines default to 1024x768 when tscon takes over which may be too small so TightVnc can be used to increase the resolution to 1280x1024 before running.
tscon.exe 0 /dest:console
tscon.exe 1 /dest:console
tscon.exe 2 /dest:console
tscon.exe 3 /dest:console
START /DC:\Sikulix /WAIT /B C:\Sikulix\runsikulix.cmd -d 3 -r C:\test.sikuli -f C:\Sikulix\log.txt -d C:\Sikulix\userlog.txt
I just figure out a way to resolve similar issue.
My env:
local: windows pc
remote (for running sikulix + app I would like to test): windows ec2 instance
My way:
1.create a .bat file, its contents:
ping 127.0.0.1 -n 15 > nul
for /f "skip=1 tokens=3" %%s in ('query user %USERNAME%') do (
%windir%\System32\tscon.exe %%s /dest:console
)
cd "\path\to\sikulix"
java -jar sikulixide-2.0.5.jar -r /path/to/sikulix -c > logfile.log
prepare your app
run the bat (right click > run as administrator)
ping will give your 10s, so that you can bring your app back to front
you will be disconnnected from rdp connection
Explanation:
ping is like "sleep"
for loop: kick out current user & keep session alive

Can I use Kinect on a Mac?

Studying vision, I would like to play with the Microsoft Kinect.
Can I use it on my Mac?
I have not found any Library for Mac and fear virtualization on my laptop to use Linux.
I've accessed Kinect data on OSX using openframeworks and the ofxKinect addon (which uses libfreenect and libusb).
It's not the only option, just I've used and worked 'out of the box'.
Try downloading the Zigfu Dev Bundle for mac (http://www.zigfu.com) - that should get you up to speed with kinect development on mac.
Using Kinect on Mac is as easy as ordering Latte.
But there is also a lot of confusion on the Internet and sites that seem to be old and give you the wrong advice such as installing a separate sensor library in addition to OpenNI. Just go to the basic website and download SDK for your MAC:
http://www.openni.org/openni-sdk/
You might need to have prerequsities though I assume you have already installed them, such as:
sudo port install libtool
sudo port install doxygen
restart comp
sudo port install libusb-devel +universal
Troubleshooting:
"sudo rm -f /opt/local/lib/libusb-1.0.0.dylib"
"sudo port clean libusb"
"sudo port install libusb +universal"
No need to compile anything. You should be able to run ./Samples/Bin/SimpleViewer right away after you run sudo ./install.sh.The PROBLEM might be that you have already tried to run it unsuccessfully and put a camera in the wrong state. I have seen errors such as USB intercase cannot be set etc. as a side effect.
Running your code in Eclipse is a different story and may require a few extra steps and changing your Ubuntu code (using openni namespace, different includes, etc.)