How to Use WhatsApp on Ubuntu 15.10 Desktop Without a Smartphone

libpurplepidginwhatsapp

I currently don't own a proper smartphone that would be capable of running Whatsapp, and I don't have an account there yet.

What I need is a way to run any Whatsapp client on my Ubuntu (64bit, currently 15.10) desktop that allows me to register an account without requiring an existing one or the use of a smartphone. I can only use a normal cellphone to e.g. receive SMS.

Is there any chance to use Whatsapp under those circumstances? How do I set it up and register an account?


Update 2:

I managed to set Pidgin (with pidgin-whatsapp 0.8.4 from ppa:whatsapp-purple/ppa) up to be able to contact friends and send them text messages, but I can't receive any text messages. I can receive images and see typing notifications however. The debug output of pidgin also seems to show incoming messages, but they simply don't get displayed.

Any ideas how I could fix that? I just wrote a bug report on GitHub against the pidgin-whatsapp package so far…


Update 3:

The package pidgin-whatsapp got discontinued, its developer gave up trying to handle Whatsapp's attempts to block unofficial clients. So using this Pidgin plugin is not an option any more.

Best Answer

TL;DR: Run it on Android x86 in VirtualBox with limited resources allocated to it, and hook that up with the web app or desktop client to have a desktop interface.

Whatsapp's official desktop client for Windows doesn't help us, even if we were to run it under Wine. That's because it works exacty like their web app. It needs constant connection to a smartphone client in order to work.

Therefore, the best way to do this is to somehow run the actual Android app on your desktop. It doesn't need the SIM card to be in the same device. You just register with an SMS once, and you are good.

The first way I thought of doing this was through Google Chrome, which can run many Android apps through some tweaks. Unfortunately, the result of that seems to be the opposite problem from the one you're having with Pidgin!

App can receive msgs, but not reply.

Therefore, the last resort I can think of is to install Android x86 or Remix OS in VirtualBox and install Whatsapp from an APK there. You'll be able to activate it through receiving an SMS to your cellphone.

It's also possible to do this through an emulator like Genymotion, but I think that's gonna emulate ARM architecture, so I'm pretty sure it will be much more resource hungry and/or slow compared to the x86 hypervisors.

I've heard that Whatsapp will require Google Play Services, but I think that's included in at least Android x86, and if not, it's pretty easy to install in both Android x86 and Remix OS.

Don't like the touch interface of the Android app? Well, since you now have a working Android client, you can now use Whatsapp Web or even the native Windows application through Wine. The tricky part is that in order to activate it, the Android x86/Remix OS hypervisor has to scan a QR code which will be displayed in your browser/Whatsapp desktop client. This can be done, though. There are many ways.

  • If you have a USB or Bluetooth camera, you can try to activate it in VirtualBox as a webcam. You then simply scan the QR-code from Ubuntu.
  • If you only have an internal Webcam in your computer, you have to print the QR code and scan it, or take a screenshot of it and display it on another screen, or have fun with two physical mirrors.
  • It would also be possible to root your Android VM and just feed the QR-code image to a camera emulator, but I'm not exactly sure how to do that. I asked a question about it on Android SE.
  • Or, if you have access to an Android device with a camera once, you can use Titanium Backup to transfer your Whatsapp sign-in to that Android device just for the sake of scanning the QR-code. (Make sure the "keep me signed in" box is ticked"). And make sure the original Whatsapp still works afterwards. Otherwise, use Titanium to transfer your sign-in back.

If you succeed in this, you can use Whatsapp Web in your browser on Ubuntu or the desktop app under Wine as long as the VM is running. One of the benefits of this is that you can severely limit the resources allocated to the VM. It's only gonna run one single, lightweight app, and you don't care if the Android GUI gets a bit sluggish. Of course, don't limit it so much that the app or VM crashes or starts processing content too slowly.

Off-topic comment: This approach should also work on Windows, OS X, Solaris, other Linuxes, etc. Basically any system that can run VirtualBox, something similar or any Android emulator.

Related Question