UPDATE 2023-07-20: I wrote earlier that WhatsApp might have broken this functionality. But actually my installation has been working just fine after I emptied my 70GB Firefox profile.
We have arrived to the last part of our ESXi WhatsApp saga. This blog post will tell a very cumbersome way of authorizing WhatsApp Web clients so you can enjoy the benefits of the application with you preferred computer and browser. Follow on!
This post is the last part (so far) in the 3-part series:
What is needed
- The Android x86 WhatsApp ESXi installation we made in the last episode
- VMware Workstation Player already installed on Windows machine
- Registered account on my.vmware.com for downloading programs
- Wired USB Webcam, I think a semi-old is the best bet. I use oldish “Logitech Webcam Pro 9000” with USB ID 046d:0809 .
This is the USB webcam I use:
Overall what we will be doing to get WhatsApp Web client authorized is:
- Convert and transfer ESXi virtual machine to local virtual machine
- Route USB webcam to the local virtual machine
- Perform the authorization by scanning QR code
- Convert and transfer back to ESXI our local virtual machine
Converting ESXi virtual machine to local VMware Workstation Player virtual machine
First log in to you ESXi host, open the Android x86 7.1 virtual machine and then press Alt+Left to get to the console. You need to shutdown the Android with this command:
Then navigate to this address:
You get redirected deeper to the product page:
Scroll down for download button and click:
FIll in your My VMware credentials:
Accept the License Agreement:
Download the virtual machine converter software.
Run the installer. Accept any UAC security prompts if asked:
Whole installation is kind of clicking Next Next Next Next..
Well here you need to decide whether to participate. I did not.
Click Install to start the process:
And done! Check the Run option and click Finish:
VMware vCenter Converter starts. Click on “Convert machine”:
- Powered off
- VMware Infrastructure cirtual machine
- Your ESXi IP address
- Password for root
Then click Next:
We get now certificate warning. This is good because it tells us that connection to ESXi worked. Click Ignore and Next:
Select the ESXi side virtual machine and press Next:
For destination values select/inspect:
- VMware Workstation or other VMware virtual machine
- VMware Workstation 11.x/12.x
- Parent directory under where virtul machine will be created; user needs to select what is best for them for this option
Next there is options page, click Next:
And summary page, click Finish:
Observe how conversion starts:
And how it ends. Now you can exit the converter.
Route USB webcam to local virtual machine
Start local VMware Workstation Player:
Select “Open a Virtual Machine”:
Browse for the VM we just converted for local Workstation Player:
The VM appears, Play it:
In case of errors, just ignore therm or disallow further connections:
On this screen you need to be a bit fast. Click and press up and down arrows to stop timer:
Then connect USB webcam to the local machine
Then give virtual machine the new USB webcam:
Confirm by ok and press Enter to boot:
Lo and behold, our beloved Android desktop is again visible. Open settings:
QR code scan authorization of WhatsApp Web
Then take an external web browser you want to use with your WhatsApp client, go to https://web.whatsapp.com/
You need to make the QR code image big by pressing Ctrl and +
About this size is ok:
Put the virtual machine window and QR code side by side and click on the 3 dots:
Select WhatsApp Web:
Now, the Android x86 may ask about permissions. If it asks, allow them:
Then WhatsApp displays an explanation window about scanning:
In case the camera or app gets stuck like this:
you can either click “Close app” or you can press Alt-Left and then in the Android terminal issue reboot
This is normal. It might need a couple of tries to get the camera recording. When it does work (and it will work), it displays something like this:
Now, hold the camera to record the QR code:
Again, if it does not appear to be working, reboot.
But after a bit of trying it actually authorized your web browser to be a WhatsApp Web client! Hooray!
As things are working ok, issue Alt-Left and shut down the VM by running
Convert and transfer back to ESXI our local virtual machine
We have locally (on Windows machine) our authorized virtual machine. We need to now make sure we don’t mix anything. So we need to delete the old virtual machine.
Log in to ESXi host, right click on the old Android7.1 VM and select Delete:
Then start the VMware cCenter Converter again:
Again, Convert machine:
Now we do the earlier thing backwards. Use settings:
- Power off
- VMware Workstation or other VMware virtual machine
- Browse for the local VMware Workstation Player .vmx virtual machine file
Press Next when ready:
For destination system type select “VMware Infrastructure virtual machine”. Also punch in IP address of ESXi host and root credentials:
Again the certificate error, which is still good. Safe to ignore:
Keep the default name and click Next:
Check that Inventory, Datastore and VM version are correct, click Next:
Click Next on Options:
And Finish on summary:
Conversion job starts:
And finishes, at which point one should exit the program:
ESXi might be a bit confused first about the new injected virtual machine, so issue refresh:
All good, now click on the Android7.1 virtual machine from Navigator:
Start it from the big console/icon:
Observe that situation is as it used to be earlier:
And here is yet again the beloved Android x86 7.1 desktop. Go to all apps via the caret:
And start WhatsApp again:
See that WhatsApp is running without problems:
And verify also with authorized web client that things are good:
One last thing remains. We need to remove the local virtual machine we used in Windows to not get mixed up in the future.
Launch VMware Workstation Player again:
Right click on Android7.1, select “Delete from Disk”.
Observe VM gone:
Why the need to run this kind of hoops just to get the WhatsApp Web authorized? Why it does not work directly on ESXi with USB webcam? I think ESXi is much more conservative about what it allows through. And VMware Workstation Player much more permissive. For a long time I thought problem was the Android x86 installation due to cryptic error messages, but the problem actually was ESXi not able to properly giving camera feed to the virtual machine. But I’m happy I was able to solve it in the end.