28 October 2015

Linux inside Android inside Windows.


If you have seen the movie Inception (2010) you may have an idea of how is this.


Laptop - Dell Inspiron (12 GB RAM [0])
--> Windows 8 running Vmware Workstation 10.
----> A VM running Android 4.4 inside Workstation.
------> A Linux running in a chroot environment inside Android.


[0] Could have done this with 4GB or less

You can connect to that Linux in a variety of ways, from inside and outside the Android VM. To name a few: vnc, ssh, X.

Tools used:
- Vmware workstation
- Linux Deploy [1] to install the chroot Linux inside Android

I also tried Complete Linux Installer [2] but didn't manage to run the Linux. Linux Deploy allowed debug mode and log files so I could know what was failing and could do something about it. With Complete Linux Installer I was blind.

[1] https://play.google.com/store/apps/details?id=ru.meefik.linuxdeploy&hl=en
[2] https://play.google.com/store/apps/details?id=com.zpwebsites.linuxonandroid

- I don't remember where did I get the Android VM from, but the vm came on this file Android_4.4_r2.7z

- I also installed XServer XSDL to visualize individual applications from within the android. Viewing the whole Linux desktop on android through VNC is ok for a moment, but not for much more, besides, I just need one application.

[3] https://play.google.com/store/apps/details?id=x.org.server&hl=en


MOST things didn't work on the first attempt, so patience and perseverance are key ingredients.

Saludos / Kind regards,
Ruben

3 Comments:

Anonymous Ruben said...



On the post above I was running VNC and an X server FROM the Android OS to the linux-inside-android OS.

Next thing was to run the same things FROM another OS (Linux on this case, which also runs in a VM inside W8).

Summary of steps:

1. Get the IP of the linux-inside-android
# netcfg
will give you the answer.

2. Get a vnc client and connect to the IP.
It works, but the quality of the image is not the best.

3. Connect with ssh
# ssh android@IP
This works as expected, no issues.

4. Now, lets -view- applications on my 'laptop' despite they run on the linux-inside-android. It's like a vnc-session-per application, to make it easier to understand. The concepts of server/client are the opposite to what we normally use.


# Server (the laptop)
xhost +IP-of-client
(example: xhost +10.10.10.10)


# Client (the linux-inside-android, you can run this from the ssh session)
DISPLAY=IP-of-server:0 (example: DISPLAY=10.10.10.20:0 )
export DISPLAY
YourApplication & ( example: leafpad & )

This works just perfect. Clear, adapts to the server screen. You don't notice any difference with the rest of applications running on your laptop. And since launching then can be done from the ssh session, you don't really have to touch the android after the linux is up and running (thanks to 'Linux Installer', that does a great job configuring ssh/vnc transparently to the user).

-----------

And now it comes the thinking ....

Inside, lets say, my phone, I can run a fully working Linux.
I can access it from other OS, as clear as water.

So my PC (the server) could be my phone, and anything I have for screen/keyboard would be the terminal (thin-desktop would work, a tablet would do too).

I remember seeing an advertisement where a statup was trying to get investors to create a very powerful phone that would be just that, your portable PC.

Once again, companies invent things that in the Linux world have been invented decades ago ...

7:34 pm  
Anonymous Ruben said...

You can also replace all the commands on the point 4 with:

# ssh -X android@IP

and then
# application &

(example: leafpad & )

All from the 'laptop' OS.


Link: http://askubuntu.com/questions/203173/run-application-on-local-machine-and-show-gui-on-remote-display

7:42 pm  
Anonymous Anonymous said...

Problem:
Very often you see messages like the following when running something from the console.

Gtk-WARNING **: Locale not supported by C library.
Using the fallback 'C' locale.

locale: Cannot Set LC_ALL to default locale: No such file or directory.



Solution:

Run as root:
dpkg-reconfigure locales


Then add to /etc/environment (you may change the locale for whatever you want)
LC_ALL="en_US.utf8"


Reboot


Links:
http://forums.debian.net/viewtopic.php?f=6&t=103163
http://ubuntuforums.org/showthread.php?t=1720356

9:47 am  

Post a Comment

<< Home

Too Cool for Internet Explorer