Jaunty + LXDE on Android
Posted by Paolo Sammicheli on May 4, 2009
Today I continued my hacking with Ubuntu chrooted on Android. I followed this guide based on Debian and I installed LXDE over the Ubuntu Minimal installation I prepared yesterday. All it’s pretty easy to do:
- edit ./startubuntu script and add “export USER=root”.
- Start ubuntu system with ./startubuntu script
- Add universe and multiverse repositories to /etc/apt/source.list (if you downloaded my image you have just main)
- apt-get install tightvncserver
- apt-get install lxde
both packages brings a lot of dependencies that are not really used in this specific case, but I hadn’t time for polishment. My image now, after a package’s cache cleaning, it’s 414MByte.
Now you can start vncserver to have a new display (called :1)
- vncserver -geometry 480×320
it will create .vnc directory under /root. It also will ask you a password (insert it twice) and for the viewing password answer NO.
NowIt’s time to stop it for few more configuration
- vncserver -kill :1
and move to the config files
- cd /root/.vnc
- vi xstartup
commenting everythings and insert 2 lines:
- icewm &
- lxsession
that’s all folks. Now start again vncserver and pressing “home key” come back to Android desktop leaving terminal emulator open in background. Using androidVNC application (it’s on the market) connect to localhost:5901 with the previous selected password. That’s what you will get
Few last improvement, I made 2 alias in /root/.bashrc
- alias vncstart=’vncserver -geometry 480×320′
- alias vncstop=’vncserver -kill :1′
And i changed the wallpaper with the Jaunty default
That’s all for today, i need to sleep 😉
Bye!
bucsdenpirat said
a nice tool!
Jake said
So cool! Just one question: is it still usable as a phone within Ubuntu?
Paolo Sammicheli said
@Jake: Of course. Ubuntu, in this case, it’s an enviroment under Android and the desktop it’s a VNC viewer from Android connected to localhost. All Android’s features are working in background while we’re looking that desktop (calls, sms, emails, etc).
UbuntuLinux-fr said
Ubuntu Jaunty 9.04 sur un HTC Dream…
Paolo Sammicheli nous gratifie d’un billet[1] suite a ses essais avec le téléphone HTC Dream qui est livré d’origine sous le système de Google, Android. Forcément cet amoureux d’Ubuntu n’a pu résister longtemps et s’est immédiatement mis en tête d…
Ubuntu Jaunty + LXDE running on Android | Code Android Singapore said
[…] to a tip from our Linux friends over at #linuxnus, Paolo managed to port Jaunty + LXDE onto his Android device, and has posted a guide on how to do it […]
谷奥——探寻谷歌的奥秘 (http://google.org.cn) » 在 Android 手机上运行 Ubuntu Jaunty + LXDE said
[…] 在Paolo的努力下,他成功将Ubuntu Jaunty + LXDE给安装到自己的Android手机上跑起来了,你可以看看他发的步骤,先是最小化安装Ubuntu,然后移植LXDE,使用androidVNC运行它。由于安装过程需要大概414MB的程序包,所以只能通过自制固件从SD存储卡里读取。 […]
Ubuntu On HTC G1 Android Smartphone - HTC Phones said
[…] sourc […]
How to Run Ubuntu on the G1 | AllShadow.com said
[…] Paolo Sammicheli’s Blog […]
ARTICLE: G1 running Ubuntu with full desktop environment | Cell Phone Reviews said
[…] the daring or reckless, here’s the how to – it’s your business. Via Code […]
Install Ubuntu With Full Desktop Environment On Your G1 | The Android Site said
[…] If you’re feeling brave and you know what you’re doing, check out the how to here and here. The instructions seem pretty straight forward. If anyone else does this please comment with your […]
meisenshi said
That’s amazing, just shows the power of the Android platform!
But that must be such an energy drainer…
Planet Android » Blog Archive » Install Ubuntu With Full Desktop Environment On Your G1 said
[…] If you’re feeling brave and you know what you’re doing, check out the how to here and here. The instructions seem pretty straight forward. If anyone else does this please comment with your […]
Basil said
I can’t wait to try Ubuntu on this New Cell, can’t wait until June 2.
Rich said
I’ve followed your instructions, but can’t install tightvncserver, I keep getting an error “Can’t find package”. Could you explain in more detail the repositories you add to source.list – and how you edit it (atm I’m copying it to the sdcard, editing it with a text editor, then copying it back as sudo gedit isn’t working!)
Cheers!
Paolo Sammicheli said
You need to add Universe and Multiverse on your sources.list.
Rich said
“Couldn’t find package tightvncserver”
Can someone help? I’ve included every repository from this thread, and I still can;t find it!
http://ubuntuforums.org/archive/index.php/t-997890.html
Ubuntu 9.04 + LXDE uruchomiony na Androidzie / G1 | AndroidLab.pl - Polskie Centrum Androida said
[…] https://xdatap1.wordpress.com/2009/05/04/jaunty-lxde-on-android/ Tags: lxde, Newsy, ubuntu To miejsce czeka na Twoją reklamę – […]
tim birkett said
Well, been playing with my android and it is nothing like when I first got it. I was a bit dubious about going 1.5 as people in the uk reported things not working but jf’s 1.5 did the trick.
Followed this how to and it worked a treat. Needs some tuning (quite low speed. Memory issues mostly) so I’ll post back anything I come accross. Just shows it can be done though.
Jacob said
Thanks for the tutorial!
One question, after installing tightvncserver my sources.list became filled with debian repository gibberish. When I attempted edit the file via abd shell, I was greeted with “Stale NFS file handle”
Upon googling, I found that this is an error associated with bad NFS server mounts, and that a reboot should cure it. It didn’t. I’ve tried a host of force commands but none seem to work.
Any idea on how to replace the file without having to do a full reformat?
Thanks again,
Jacob
Paolo Sammicheli said
That’s really strange.
Btw, you can edit any file also from your main computer. When I connect my G1 to my Ubuntu it mount both partitions, ext2 and FAT so you can edit everything directly from your computer.
Another way, I used to work on the MicroSD Card putting it on and SD Adaptor and inserting in my laptop. Yes, my laptop has an SD reader 🙂
Let me know if you solve
Rich said
Hey – I can’t find the correct repository addresses for tightvnc or lxde – could you mail me/post your sources.list please?
Paolo Sammicheli said
This is the only line I have in sources.list
deb http://ports.ubuntu.com jaunty main universe multiverse
Jacob said
I’ve tried editing it both from my Intrepid machince and via adb, neither has worked. I ended up reformatting, as I only have ubuntu on the ext2.
Another question has arisen however, I can’t seem to get my xstartup file to save the last 2 lines. I’ve tried vi from adb as well as nano and gedit on the desktop, no dice.
If it wasn’t too much trouble, would you mind uploading a correct xstartup so I could try using that?
Paolo Sammicheli said
I uploaded xstartup here for you: http://paolo.sammiche.li/android/xstartup
Btw, all this problem editing files sounds really strange. I can’t figure out what’s happening there because i can use the Android’s ext2 partition from ubuntu easily, like all other partition. I hope format help you. Check also the class of MicroSD. I heard that Class 1 and 2 can do problems. I have a Class 4 card and it works good.
mike said
i have tried repeatedly doing the sources.list with every possible list there could be, i did it wit just including the one line you have “deb http://ports.ubuntu.com jaunty main universe multiverse” but i get a load of 404 not found [IP: 91.189.88.31 80] ?
can anyone help with this
mike said
this is all i get ???????????????????????????
.;:.
_=iii|; =::;.
.ss -vvIIvv=.–.
_dXXo.-^–~^<nvIv|
=ZZXX" -<vlvi
_|i|,)XX( lIIl:
lvIvi ZX: .
^^'^:uXXc ;::;
-XXXXs. .:::;.
-3XXr ……;::::
'' .:;:;:; _aa,.
—– =#XXZc
uXu
Type EXIT to end session
Make sure you do a proper EXIT for a clean umount!
root@localhost:/# apt-get update
apt-get update
Get:1 http://security.ubuntu.com jaunty-security Release.gpg [189B]
Hit http://us.archive.ubuntu.com jaunty Release.gpg
Get:2 http://us.archive.ubuntu.com jaunty-updates Release.gpg [189B]
Get:3 http://security.ubuntu.com jaunty-security Release [57.9kB]
Hit http://us.archive.ubuntu.com jaunty Release
Get:4 http://us.archive.ubuntu.com jaunty-updates Release [57.9kB]
Ign http://security.ubuntu.com jaunty-security/main Packages
Ign http://security.ubuntu.com jaunty-security/restricted Packages
Ign http://security.ubuntu.com jaunty-security/universe Packages
Ign http://security.ubuntu.com jaunty-security/multiverse Packages
Ign http://us.archive.ubuntu.com jaunty/main Packages
Ign http://us.archive.ubuntu.com jaunty/restricted Packages
Ign http://us.archive.ubuntu.com jaunty/universe Packages
Ign http://us.archive.ubuntu.com jaunty/multiverse Packages
Ign http://security.ubuntu.com jaunty-security/main Packages
Ign http://us.archive.ubuntu.com jaunty-updates/main Packages
Ign http://us.archive.ubuntu.com jaunty-updates/restricted Packages
Ign http://us.archive.ubuntu.com jaunty-updates/universe Packages
Ign http://us.archive.ubuntu.com jaunty-updates/multiverse Packages
Ign http://security.ubuntu.com jaunty-security/restricted Packages
Ign http://security.ubuntu.com jaunty-security/universe Packages
Ign http://us.archive.ubuntu.com jaunty/main Packages
Ign http://us.archive.ubuntu.com jaunty/restricted Packages
Ign http://us.archive.ubuntu.com jaunty/universe Packages
Ign http://security.ubuntu.com jaunty-security/multiverse Packages
Ign http://us.archive.ubuntu.com jaunty/multiverse Packages
Ign http://us.archive.ubuntu.com jaunty-updates/main Packages
Ign http://us.archive.ubuntu.com jaunty-updates/restricted Packages
Ign http://us.archive.ubuntu.com jaunty-updates/universe Packages
Err http://security.ubuntu.com jaunty-security/main Packages
404 Not Found
Err http://security.ubuntu.com jaunty-security/restricted Packages
404 Not Found
Ign http://us.archive.ubuntu.com jaunty-updates/multiverse Packages
Err http://us.archive.ubuntu.com jaunty/main Packages
404 Not Found [IP: 91.189.88.30 80]
Err http://us.archive.ubuntu.com jaunty/restricted Packages
404 Not Found [IP: 91.189.88.30 80]
Err http://security.ubuntu.com jaunty-security/universe Packages
404 Not Found
Err http://us.archive.ubuntu.com jaunty/universe Packages
404 Not Found [IP: 91.189.88.30 80]
Err http://us.archive.ubuntu.com jaunty/multiverse Packages
404 Not Found [IP: 91.189.88.30 80]
Err http://us.archive.ubuntu.com jaunty-updates/main Packages
404 Not Found [IP: 91.189.88.30 80]
Err http://us.archive.ubuntu.com jaunty-updates/restricted Packages
404 Not Found [IP: 91.189.88.30 80]
Err http://security.ubuntu.com jaunty-security/multiverse Packages
404 Not Found
Err http://us.archive.ubuntu.com jaunty-updates/universe Packages
404 Not Found [IP: 91.189.88.30 80]
Err http://us.archive.ubuntu.com jaunty-updates/multiverse Packages
404 Not Found [IP: 91.189.88.30 80]
Fetched 116kB in 5s (20.9kB/s)
W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/jaunty-security/main/
binary-armel/Packages 404 Not Found
W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/jaunty-security/restr
icted/binary-armel/Packages 404 Not Found
W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/jaunty-security/unive
rse/binary-armel/Packages 404 Not Found
W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/jaunty/main/binary-
armel/Packages 404 Not Found [IP: 91.189.88.30 80]
W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/jaunty/restricted/b
inary-armel/Packages 404 Not Found [IP: 91.189.88.30 80]
W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/jaunty/universe/bin
ary-armel/Packages 404 Not Found [IP: 91.189.88.30 80]
W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/jaunty-security/multi
verse/binary-armel/Packages 404 Not Found
W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/jaunty/multiverse/b
inary-armel/Packages 404 Not Found [IP: 91.189.88.30 80]
W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/jaunty-updates/main
/binary-armel/Packages 404 Not Found [IP: 91.189.88.30 80]
W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/jaunty-updates/rest
ricted/binary-armel/Packages 404 Not Found [IP: 91.189.88.30 80]
W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/jaunty-updates/univ
erse/binary-armel/Packages 404 Not Found [IP: 91.189.88.30 80]
W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/jaunty-updates/mult
iverse/binary-armel/Packages 404 Not Found [IP: 91.189.88.30 80]
E: Some index files failed to download, they have been ignored, or old ones used
instead.
root@localhost:/#
Niko said
ehilà!!ho seguito con entusiasmo la tua guida x installare ubuntu con lxde su android e devo dire che è andato tutto bene..poi però evidentemente chiudendo male vcnserver,mi era iniziato ad occorrere un errore:schermata grigia con la x quando il server partiva..riformattato,rifatto la procedura,ma stavolta parte direttamente questa schermata grigia con la x..:( qualche suggerimento??
Paolo Sammicheli said
la schermata grigia con la X significa che è partito il server X ma non il windows manager. Però da quella situazione esci con il tasto menu e selezionado disconnetti. Come mai hai riformattato? Al massimo basta riavviare se proprio diventa lento il sistema.
niko said
purtroppo ho riformattato xchè la prima volta avevo chiuso male vncserver,ed in teoria cancellando il file .x1-lock avrei dovuto risolvere,ma in realtà windows manager continuava a non partire,e continuava a darmi errori localhost come se fosse occupato..ora riavvio ma niente!windows manager non parte!hai qualche suggerimento??
p.s ho una scheda da 8gb bipartizionata,nel senso che ubuntu è nella parte da 6gb..a me l’install di lxde mi continua ad andare a buon fine ogni volta ma mi da errore read line del frontend!non so se è una cosa normale,ma cmq all’inizio di solito funzionava bene lxde..ora niente!nn si avvia proprio WM..come xstartup ho copiato il file che hai messo online cn
icemw &
lxsession
anche se in altri forum ho visto che avevano messo (su debian,nn ubuntu)
lxde &
lxsession
ho provato anche questo ma WM nn parte!
Paolo Sammicheli said
Nella partizione da 6gb?
Ma ubuntu deve stare sulla partizione ext2! E nell’articolo che ho linkato sconsiglia partizioni oltre il mezzo giga
Niko said
si si è formattata come partizione primaria ext2 ma dici che ho messo troppo??
Paolo Sammicheli said
Leggendo quell’articolo che linko non bisogna andare oltre il giga. Dagli un occhio
Eric Freese said
How big do you suggest the ext2 partition be in order to hold apps2sd and ubuntu with lxde?
Paolo Sammicheli said
Haykuro suggest a partition not over 512MB
http://android-dls.com/wiki/index.php?title=Haykuro_Apps_to_SD
My partition is 512Mb where Ubuntu folder get 396Mb (ubuntu minimal + thightvnc and lxde) and apps dir (I moved all android applications on SD) 34 MB. I still have about 219 MB free and it seems enough for a long time IMHO
Sturmeh said
512 != 396 + 34 + 219 (+/- 100)
or do you mean you leave 396 for ubuntu, and you still have 219 free.
niko said
adesso riprovo..ho dovuto reistallare firmware e tutto..=( ho fatto i danni =)..comunque,uso thedude cupcake1.1 (sarebbe praticamente 1.5 moddata thedude)..senti ho qualche problema anche a muovere con app2sd le app..quando seleziono “sposta applicazioni” le rimuove dal telefono ma la memoria rimane occupata,inoltre non rimangono salvate da nessuna parte..mi è stato detto che da me mancano 2 cartelle che vanno create ma,basta questo??la thedude dalla 0.94 in poi è unificata quindi dovrebbe essere a2sd
Paolo Sammicheli said
Si, adesso uso anche io thedudecupcake perché ha il comodo lettore di pdf che la JF non ha. La applicazioni io le ho mosse a mano sulla SD, c’è da fare un mv e un link simbolico alla fine.
Usa questa guida
http://www.tuttoandroid.net/wiki/index.php?title=Avviare_applicazioni_dalla_sd
Se usi la dudes devi seguire le istruzioni dal punto 10 in poi (il resto è già pronto)
niko said
già che ci sono,visto che sei sempre molto chiaro su tutto,posso chiederti (uso ubuntu) come poter fare il backup??non riesco ad entrare in fastboot mode (come dice la guida) e il file fastboot.exe il linux dovrei emularlo..come posso fare?c’è un alternativa?
Paolo Sammicheli said
Trovi Fastboot compilato per linux anche in questa pagina:
http://android-dls.com/wiki/index.php?title=Fastboot
Io comunque faccio il backup delle applicazioni con Astro
http://www.androidiani.com/funzionalita/backup-e-restore-delle-applicazioni-android-con-astro-e-adbexe-1865
E delle impostazioni con mybackup (lo trovi sul market, la version gratis è più che sufficente) mentre il sistema lo installo sempre da zero con il wipe out. A volte a fare l’upgrade dà problemi strani, una volta mi andava solo in EDGE e non in 3G.
Ciao
niko said
grazie mille..è la stessa procedura che faccio io quella di salvare app (però con appmanager) e il setting con backup for root user..però voglio provare quei due programmini che mi hai detto..magari mi ci trovo meglio!grazie e scusa il disturbo,;)
niko said
ho seguito la guida che mi hai dato ed alla fine è andato tutto bene..l’unica cosa non riesco a risolvere il problema del VM di lxde su ubuntu..niente nn riesce ad avviarsi
Paolo Sammicheli said
Hai seguito passo passo le istruzioni? Cosa hai nel file /root/.vnc/xstartup? Altra cosa, ti sei ricordato di esportate la variabile USER=root?
niko said
si si ho scaricato il file xstartup che hai linkato in questa pagina..ho tutto commentato con
icewm &
lxsession
ed ho aggiungo sotto l’ultima riga export la stringa da te citata…=(
Paolo Sammicheli said
Ecco l’errore. La riga di export con USER=root la devi mettere nello script di partenza (startubuntu) non nel file xstartup.
niko said
si si la riga l’ho aggiunta a startubuntu 🙂 ma nn va!
Paolo Sammicheli said
E allora non so proprio che dirti, sono talmente poche cose da fare nei file che mi pare strano non funzioni. Prova a vedere nei log se trovi qualche indizio. Potresti anche provare a riprodurre il problema sul pc fisso installando gli stessi pacchetti per x86
Jacob said
One last question Paolo,
Do you know which processes Ubuntu/LXDE/TightVNC are running under in android so that I can kill them after I’m done using the viewer?
ie. I know tightvnc is Xtightvnc, but I can’t figure out the other two
Thanks again,
Jacob
Paolo Sammicheli said
Please read again my article. For stopping tightvnc you have to use the “stopvnc” alias and then exit from shell.
Cheers
Installation der Linux-Distribution Ubuntu als Betriebssystem auf dem G1 said
[…] für den Laien nicht unbedingt verständlich, hat er hier und hier ein paar Informationen zu seiner Vorgehensweise veröffentlicht. Tags: G1, Linux, ROM, Ubuntu […]
Ellsolan said
Sorry to ask this (somewhat) unrelated question, but is it possible to keep the android keymaps in vnc? If so, how?
safet said
hey every one if anyone can help me email me at safetomerbasic@gmail.com
mark said
I cannot get lxde to install. by doing both apt-get and aptitude it stops at a white screen saying something about “select-default-wordlist” but the left of the text is off screen. it says “Ok” near the bottom, but hitting enter has no effect.
I am on a mytouch phone, so no physical keyboard. I would try “tab” to select the “Ok” but i cannot see how to do tab”
Any idea what to do?
mark said
Never mind my last comment about lxde install. I fixed it by 1st running apt-get install dictionaries-common. Now lxde is installing
mike said
i have tried repeatedly doing the sources.list with every possible list there could be, i did it wit just including the one line you have “deb http://ports.ubuntu.com jaunty main universe multiverse” but i get a load of 404 not found [IP: 91.189.88.31 80] ?
can anyone help with this
almyz125 said
i tried to add the sources and it has not worked, i get an error, “E: Couldn’t find package tightvncserver”
i get this after entering apt-get install tightvncserver
can someone please post what the working source list is supposed to look like.
CrazyCoder said
Hi, I was wondering if you can use the USB ports when in Ubuntu? Like can you plug in flash drives, usb cameras, keyboards? basicly does it support OTG USB host mode?
Paolo Sammicheli said
I don’t know, really. It was just an experiment and I removed from my phone time ago.
BTW since the kernel is the same used by android you should access to the USB in the same way you can from Android. You don’t need Ubuntu’s software stack for playing with it, afaik.