Linux: 30 anni e non sentirli. Con Ubuntu Touch

…si lo so, tutte/i (?) si aspettavano che celebrassimo l’anniversario di Linux il 25 agosto, perche’ tutte/i lo fanno e perche’ e’ la data in cui Linus Torvalds invio’ la famosa mail. Ma va detto che la prima menzione del nome “Linux” non avvenne il 25 agosto ma il 17 settembre. Quindi eccovi – con qualche giorno di anticipo – la “scordata”…

di jolek78

Quest’anno ricorre un compleanno speciale: Linux compie 30 anni. O meglio, la parola Linux entra nei nostri dizionari giusto trent’anni fa. 30 anni da quella prima mail di Linus Torvalds nella mailing list comp.os.minix. 30 anni dalla condivisione della prima versione a una lista privata di amici. 30 anni dalla pubblicazione del primo Linux – si doveva chiamare “freax” – nel sito ftp dell’università di Helsinki. Questa storia parte esattamente da li’, quando un gruppo di appassionati d’informatica decise di aiutare l’allora ragazzino Linus alla costruzione di un sistema operativo gratuito, libero e sopratutto open-source. Dovemmo aspettare 4 anni per la pubblicazione del primo kernel ufficiale ma il viaggio di GNU/Linux, partito dalla fondazione della Free Software Foundation, era appena cominciato.

As the version number (0.01) suggests this is not a mature product. Currently only a subset of AT-hardware is supported (hard-disk, screen, keyboard and serial lines), and some of the system calls are not yet fully implemented (notably mount/umount aren’t even implemented).

 

Un po’ di storia

Ci sono alcuni libri che aiutano nella comprensione di quegli anni magici. Il primo di Tim Berners Lee, “weaving the web” che spiega come e in che modo internet abbia letteralmente rivoluzionato il modo con cui abbiamo cominciato a scambiarci informazioni. Il secondo è stato scritto da Richard Stallman, “free as in freedom” che analizza come la crociata del free software abbia modificato il modo con cui sviluppatori, o meglio hacker di tutto il mondo abbiano cominciato a interagire fra loro. Il terzo scritto da Eric Raymond “the cathedral and the bazaar” che analizza e paragona i due modelli, la cattedrale dove c’e’ un solo vertice centralizzato, e il bazar dove un ammasso quasi caotico di persone riesce a sviluppare anche sistemi piuttosto complessi.  E infine il quarto, scritto proprio dal creatore di Linux, Linus Torvalds, “just for fun” in cui si ripercorrono le tappe fondamentali di questa storia straordinaria.

Furono anni magici, ci dicevamo. Ma anche anni di polemiche. Fra tutte, quella fra il prof. Andrew Tanembaum, creatore di Minix da cui Linux aveva preso spunto, che criticava il nuovo arrivato per essere un kernel monolitico, e lo stesso Torvalds.

This is a giant step back into the 1970s. That is like taking an existing, working C program and rewriting it in BASIC. To me, writing a monolithic system in 1991 is a truly poor idea.

Anni di creazione. Su tutte, l’invenzione del sistema git, proprio grazie a Linus Torvalds, per poter sottomettere modifiche al kernel. Anni di gioie. Quella quando nel ’94 lo studente d’informatica Linus Torvalds presento’, presso l’aula magna della sua università, la prima release stabile del kernel Linux.


Fuggire da monopoli si può

Chi è lettore abituale della “bottega” saprà già che qui, da qualche mese, abbiamo intrapreso un viaggio alla scoperta di Linux con un lungo tutorial che non sappiamo quando e se finirà. Troppe cose da dire, da analizzare e di cui stupirsi. Ma Linux, o meglio l’open source, per noi della bottega significa una cosa in particolare: uscire fuori dai monopoli e fuggire dal capitalismo della sorveglianza. Dopo lo scandalo di Cambridge analitica, le rivelazioni di Edward Snowden, e nel complesso tutta la storia che riguarda Wikileaks e il suo creatore, Julian Assange, ci ha comunicato una cosa soltanto: è urgente farlo ora. Aziende come Facebook, Microsoft o Google, con il nostro avallo e un neanche troppo silenzioso lasciapassare, hanno lavorato certamente molto bene per fornire degli ottimi servizi, ma altrettanto bene per centralizzare internet, rendendo cosi’ la vita facile ai controllori. E ciò, nello spirito dei padri fondatori – Tim Berners Lee su tutti – è quasi pari a una bestemmia. Con creazione aleatoria di nuovi santi sul calendario.

Esiste una alternativa? Certo che esiste, ma richiede un piccolo sforzo. Il primo fra tutti è utilizzare solo e soltanto sistemi operativi (Linux, FreeBSD etc) e software open-source supportati dalla comunità. Il secondo è stare alla larga dai social network centralizzati e magari, se proprio se ne sente la mancanza, affacciarsi verso i sistemi decentralizzati del fediverso come mastodon, pixelfed, peertube o funkwhale. Il terzo è non utilizzare Google per le vostre ricerche sul web e migrare verso una qualsiasi istanza searx.  Il quarto è fare orecchie da mercante quando vi propongono un nuovo e scintillante smartphone con Ios o Android, considerandolo per quello che è: un sistema di tracciamento portatile che, a tratti, vi aiuta “anche” nella vita di tutti i giorni. Il quinto: considerare che non si puo’ vivere nella caverna di platone tutto il tempo, e bisogna comunque vedere cosa succede la’ fuori.


La mia esperienza

Per tanti anni ho avuto un telefono Android “root-ato” con al suo interno una custom ROM, la  LineageOS, senza le librerie Google Play Services installate. La fonte principale da cui scaricavo le apk era F-Droid, mi ci trovavo bene e tutto era perfetto, o quasi. Ma il mio amore spassionato era e resta per Linux. E questo è il periodo storico perfetto per cominciare a utilizzare il pinguino anche su smartphone.


La storia di Ubuntu Touch

L’azienda Canonical, creatrice della distribuzione debian-based Ubuntu che utilizziamo anche per il nostro tutorial, sorprese tutti nel 2011 con un progetto che sembrava essere la risposta Linux ad Android e Ios. Questa distribuzione per smartphone si chiamava Ubuntu Touch e venne annunciata con una grande fanfara mediatica tramite il crowfounding di uno smartphone high level, e un video nel 2013 del fondatore di Canonical, Mark Shuttleworth, che fu sorgente di una lunga serie di divertenti memes per gli anni a venire. Il sogno non era soltanto di avere Linux su smartphone, ma anche quello che ancora nessuno era riuscito a creare: convergenza. Cioè un sistema mobile che, una volta attaccato a un monitor con cavo slimport, a una tastiera e un mouse, poteva replicare l’esperienza desktop senza dover avere con se un computer completo. La comunità non la prese benissimo. Il sistema sembrava essere estremamente centralizzato, poco versatile, e la visione di Shuttleworth delle web-app che avrebbero sostituito tutto si rivelo’ troppo ambiziosa e lontana da una sua realizzazione completa. Senza contare i ritardi nella spedizione dello smartphone finanziato dai crofounders, o della lentezza nel patchare i difetti che il sistema presentava. Fu cosi’ che Canonical negli anni a venire abbandono’ letteralmente il progetto, e tutto il codice sorgente passo’ alla fondazione UBports che continuo’ a lavorare su quell’idea.

Ubuntu Touch is the touch-friendly mobile version of Ubuntu. This operating system is developed and maintained by  UBports : An international community of passionate volunteers. This means Ubuntu Touch is 100% community driven and independent.

Si andò a rilento, e sembro’ quasi che il progetto fosse in una fase di stallo. Ma negli ultimi anni ha avuto una completa accelerata grazie all’inserimento di nuovi membri nel team, grazie alla partecipazione di nuovi tester, e grazie al fatto che alcune case produttrici di smartphone come PinePhone o FairPhone hanno deciso d’includere Ubuntu Touch come sistema operativo opzionale. Se a questo aggiungiamo che Valve ha deciso di produrre una console per videogames basata su Linux, questo 2021 sembra decisamente l’anno del Pinguino.

Nexus5 e Ubuntu

Fin dal 2013, il Google Nexus5 è uno degli smartphone migliori per testare la Ubuntu Touch. Sembra un paradosso: uno dei prodotti Google più popolari della storia si rivela, sia per quanto riguarda la custom rom android CyanogenMod (ora LineageOS), sia per quanto riguarda Ubuntu Touch uno dei migliori test driver per rompere il cordone ombelicale con mamma Google. Nel tempo, io avevo imparato anche a ripararlo piuttosto decentemente. Gli avevo cambiato la camera, la scheda madre, la batteria, il touch screen e, cosa più tricky di tutte, la porta usb. E mi ci ero affezionato. Ma è sempre un telefono del 2013, nel tempo era diventato vecchio e dovetti, mio malgrado, metterlo in una cassetta degli attrezzi dopo il suo ultimo e definitivo crash nel 2018.


Comprare un Nexus5 rigenerato nel 2021 è davvero semplice ed economico. E poiché a settembre non solo è il compleanno di Linux ma anche il mio compleanno, ho deciso di regalarmelo per la spasmodica cifra di 30 pound. E mi son domandato: e se ci installassi su la Ubuntu Touch? È già la terza volta che ci provo, ma magari adesso si rivela abbastanza stabile per utilizzarlo come telefono di backup, o magari per utilizzarlo per i miei esperimenti. Beh, nulla di tutto questo. Ubuntu Touch su Nexus5 si rivela non soltanto perfetto per il mio utilizzo quotidiano, ma si rivela esattamente quello di cui io ho personalmente bisogno.

Nel prosieguo di questo articolo vedremo pertanto come installare Linux su uno smartphone, come configurarlo e come utilizzarlo al meglio. Buona lettura!


Materiale necessario:
– un computer
– un cavo usb
– un nexus 5
– un backup
– e tanta pazienza…

Ubuntu Touch is an open source operating system for mobile devices. It can be ported to devices that originally shipped with Android OS. Alas, the majority of these devices are dependent to some degree on proprietary software.

Vediamo un po’ cosa mi può servire. Dunque i bookmark prima di tutto, i contatti, gli rss per il mio news feed, gli rss per i podcast. Le password, beh certo le password. E poi cosa serve? Le foto, il mio avatar, i wallpaper. La musica e magari un paio di audiobook per farmi compagnia durante le mie lunghe camminate. Serve altro? No direi di no. E allora cominciamo…

Nota a margine: questa è la mia esperienza personale, e va adattata a seconda di quale sistema operativo montiate sulla macchina, o di quale utilizzo facciate dello smartphone. Per fare questo, abbiamo bisogno d’installare sul nostro computer due tool fondamentali. Il primo, ovviamente, sono le librerie adb (android debug bridge). Il secondo, fondamentale per la fase iniziale, è l’installer di ubuntu touch. L’installazione è estremamente semplice:

https://developer.android.com/studio/command-line/adb
https://ubuntu-touch.io/get-ubuntu-touch

~/Desktop  lsb_release -ra
Distributor ID: Ubuntu
Description: Ubuntu 20.04.3 LTS
Release: 20.04
Codename: focal

~/Desktop  sudo apt install android-tools-adb android-tools-fastboot -y
Reading package lists... Done
Building dependency tree 
Reading state information... Done
The following NEW packages will be installed
android-tools-adb android-tools-fastboot
0 to upgrade, 2 to newly install, 0 to remove and 11 not to upgrade.
Need to get 15.1 kB of archives.
After this operation, 55.3 kB of additional disk space will be used.
Get:1 http://gb.archive.ubuntu.com/ubuntu focal/universe amd64 android-tools-adb all 1:8.1.0+r23-5ubuntu2 [11.0 kB]
Get:2 http://gb.archive.ubuntu.com/ubuntu focal/universe amd64 android-tools-fastboot all 1:8.1.0+r23-5ubuntu2 [4,060 B]
Fetched 15.1 kB in 0s (131 kB/s) 
Selecting previously unselected package android-tools-adb.
(Reading database ... 307285 files and directories currently installed.)
Preparing to unpack .../android-tools-adb_1%3a8.1.0+r23-5ubuntu2_all.deb ...
Unpacking android-tools-adb (1:8.1.0+r23-5ubuntu2) ...
Selecting previously unselected package android-tools-fastboot.
Preparing to unpack .../android-tools-fastboot_1%3a8.1.0+r23-5ubuntu2_all.deb ...
Unpacking android-tools-fastboot (1:8.1.0+r23-5ubuntu2) ...
Setting up android-tools-fastboot (1:8.1.0+r23-5ubuntu2) ...
Setting up android-tools-adb (1:8.1.0+r23-5ubuntu2) ...

~/Desktop  sudo snap install ubports-installer
ubports-installer 0.8.8-beta from UBports installed

 ~/Desktop  adb devices
List of devices attached
* daemon started successfully
04adc6c2f0c73e65 device

Installazione

https://docs.ubports.com/en/latest/about/introduction.html

Durante la fase guidata, l’installer inserirà, all’interno del Nexus5, una custom recovery per agevolare le fasi d’installazione. Vedrete il vostro smartphone fare molte operazioni: dal pushare le immagini di Ubuntu Touch nel telefono, al fare il reboot più e più volte. Non vi preoccupate: è tutto normale. Ricordatevi soltanto, prima di cominciare, di abilitare adb dal developer mode di Android. Prendete un cavo usb-microusb, attaccatelo al vostro computer, e andiamo a cominciare:

Installer

Una volta finita l’installazione, andate quindi in:
– system settings
– about
developer mode

E poi, dal terminale della vostra macchina Linux:

~/Desktop  adb devices
List of devices attached
04adc6c2f0c73e65 device
~/Desktop  adb shell 

phablet@ubuntu-phablet:~$ lsb_release -ra 
Distributor ID: Ubuntu
Description: Ubuntu 16.04.7 LTS
Release: 16.04
Codename: xenial

phablet@ubuntu-phablet:~$ df -hT
Filesystem Type Size Used Avail Use% Mounted on
udev devtmpfs 766M 4.0K 766M 1% /dev
tmpfs tmpfs 186M 1.1M 185M 1% /run
/dev/mmcblk0p28 ext4 13G 1.8G 11G 15% /userdata
/dev/loop0 ext2 2.0G 1.6G 293M 85% /
/dev/loop1 ext4 110M 106M 4.3M 97% /android/system
none tmpfs 4.0K 0 4.0K 0% /android
tmpfs tmpfs 929M 4.0K 929M 1% /etc/fstab
tmpfs tmpfs 929M 1.1M 928M 1% /var/lib/lxc/android/rootfs
/dev/disk/by-partlabel/cache ext4 690M 13M 678M 2% /android/cache
/dev/disk/by-partlabel/persist ext4 16M 4.2M 12M 27% /android/persist
/dev/disk/by-partlabel/modem vfat 64M 45M 20M 70% /android/firmware
none tmpfs 4.0K 0 4.0K 0% /sys/fs/cgroup
tmpfs tmpfs 929M 280K 928M 1% /tmp
none tmpfs 5.0M 0 5.0M 0% /run/lock
none tmpfs 929M 176K 928M 1% /run/shm
none tmpfs 100M 0 100M 0% /run/user
cgmfs tmpfs 100K 0 100K 0% /run/cgmanager/fs
tmpfs tmpfs 929M 0 929M 0% /media
tmpfs tmpfs 929M 0 929M 0% /var/lib/openvpn/chroot/tmp
tmpfs tmpfs 929M 0 929M 0% /var/lib/sudo
tmpfs tmpfs 186M 0 186M 0% /run/user/0
tmpfs tmpfs 186M 44K 186M 1% /run/user/32011

phablet@ubuntu-phablet:~$ top
top - 03:05:43 up 36 min, 1 user, load average: 2.83, 2.96, 2.77
Tasks: 256 total, 1 running, 255 sleeping, 0 stopped, 0 zombie
%Cpu(s): 55.9 us, 24.3 sy, 0.0 ni, 19.3 id, 0.0 wa, 0.0 hi, 0.5 si, 0.0 st
KiB Mem : 1900696 total, 263084 free, 816240 used, 821372 buff/cache
KiB Swap: 32764 total, 32764 free, 0 used. 1046262 avail Mem

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 
9887 phablet 20 0 119704 13876 8596 S 138.2 0.7 39:16.42 mirvncserv+ 
1476 root 20 0 0 0 0 S 7.9 0.0 2:34.12 dhd_dpc 
2092 root 20 0 309248 20204 13212 S 5.3 1.1 2:00.07 unity-syst+ 
3163 root 20 0 0 0 0 S 1.3 0.0 0:15.35 kworker/u:4 
12321 phablet 20 0 8444 1528 1000 R 1.3 0.1 0:01.47 top 
23376 root 20 0 0 0 0 S 1.3 0.0 0:03.87 kworker/u:2 
1477 root 20 0 0 0 0 S 1.0 0.0 0:22.49 dhd_rxf 
9809 phablet 20 0 311100 47924 31264 S 1.0 2.5 0:11.34 mirvncserv+ 
1541 root 20 0 45056 2576 1724 S 0.7 0.1 0:12.15 Binder_2 
3192 phablet 20 0 801832 164676 83124 S 0.7 8.7 1:02.49 unity8 
3 root 20 0 0 0 0 S 0.3 0.0 0:03.86 ksoftirqd/0 
1475 root 20 0 0 0 0 S 0.3 0.0 0:04.24 dhd_watchd+ 
1537 3011 20 0 59308 2140 1136 S 0.3 0.1 0:09.86 sensors.qc+ 
2226 root 13 -7 28920 1208 844 S 0.3 0.1 0:06.11 mpdecision 
2236 phablet 20 0 9232 2672 1400 S 0.3 0.1 0:08.25 upstart 
3471 phablet 20 0 964640 14132 10244 S 0.3 0.7 0:02.39 ubuntu-pus+ 
1 root 20 0 6116 2720 1284 S 0.0 0.1 0:05.96 init      <<<<<<<<<<<

Benvenuti in Ubuntu Touch


RTFM – leggi il bellissimo(?) manuale

The Halium project enables Linux systems to run on Android hardware. It is a joint effort by multiple mobile operating systems, notably Plasma mobile, Lune OS and UBports.

Thus an Ubuntu Touch port is composed of the these components:
– The Ubuntu Touch (UT) root filesystem (rootfs)
– Halium (contained in the boot and system images)
– The vendor blobs

https://docs.ubports.com/en/latest/systemdev/kernel-hal.html
In buona sostanza, la struttura del funzionamento di Ubuntu Touch si basa su due blocchi.

1. HALium
La prima sezione è composta dai cosiddetti vendor BLOBs (Binary Large Files) che sono file molto spesso a codice sorgente chiuso creati dalla casa madre per far funzionare il loro hardware. La seconda è composta da Linux, o meglio una versione modificata del kernel Linux costruita appositamente per piattaforme Android. Infine la terza è composta da una minimale ROM Android, basata su un codice modificato di LineaageOS che viaggia utilizzando un piccolo motore chiamato ART/Dalvik. Tutto questo blocco è un Hardware Abstraction Layer chiamato Halium che permette al hardware (il Nexus5) di comunicare col software (Ubuntu Touch).

Prometto che un giorno ci facciamo un pezzo sui BLOBs, ma non oggi…

2. Ubuntu Touch
In buona sostanza, Ubuntu Touch altro non è che Linux minimale con al suo interno non tutta una distribuzione Ubuntu ma soltanto quel serve e nulla più. Permette alle applicazioni costruite su di esso di funzionare su schermi per smarphone e su sistemi con memorie di piccola portata. Semplice e complesso allo stesso tempo. Esso, inoltre, comunica col kernel attraverso HALium, il sistema di astrazione hardware di cui abbiamo parlato in precedenza e, ovviamente, lavora in memoria. Ergo, non vi aspettate che sia speedy gonzales.3. E Android?
Come ci siamo detti, Android dentro Ubuntu Touch c’e’, e si vede. Android infatti è presente nel sistema, montato come container LXC, bloccato e inaccessibile se non con la modalità chroot. Questo è importante poiché HALium ha come componente fondamentale Android, e ne ha bisogno per le sue librerie e configurazioni.

phablet@ubuntu-phablet:~$ sudo lxc-info android
Name: android
State: RUNNING
PID: 957
IP: 192.168.0.26

Ergo: giusto che stia li’, ma giusto anche che sia bloccato, che faccia il suo, e che non sia modificato.

/var/lib/lxc/android/rootfs:
total 560K
drwxrwxrwt 27 root root 920 Jan 2 1970 .
drwxrwxr-x 5 1005 1006 4.0K Jan 1 1970 ..
drwxr-xr-x 2 root root 40 Jan 2 1970 aboot
drwxr-xr-x 2 root root 40 Jan 2 1970 acct
drwxr-xr-x 2 root root 40 Jan 2 1970 boot
drwxrwx--- 5 system android_cache 4.0K Jan 1 1970 cache
lrwxrwxrwx 1 root root 13 Jan 2 1970 charger -&gt; /sbin/healthd
dr-x------ 2 root root 40 Jan 2 1970 config
lrwxrwxrwx 1 root root 17 Jan 2 1970 d -&gt; /sys/kernel/debug
drwxrwx--x 23 system system 4.0K Sep 5 09:19 data
-rw-r--r-- 1 root root 420 Jan 2 1970 default.prop
drwxr-xr-x 13 root root 5.0K Sep 5 09:19 dev
lrwxrwxrwx 1 root root 11 Jan 2 1970 etc -&gt; /system/etc
-rw-r--r-- 1 root root 11K Jan 2 1970 file_contexts
dr-xr-x--- 3 system system 16K Jan 1 1970 firmware
-rw-r----- 1 root root 2.8K Jan 2 1970 fstab.hammerhead
drwxr-xr-x 2 root root 40 Jan 2 1970 imgdata
-rwxr-x--- 1 root root 413K Jan 2 1970 init
-rwxr-x--- 1 root root 1.1K Jan 2 1970 init.environ.rc
-rwxr-x--- 1 root root 161 Jan 2 1970 init.hammerhead.diag.rc
-rwxr-x--- 1 root root 18K Jan 2 1970 init.hammerhead.rc
-rwxr-x--- 1 root root 6.0K Jan 2 1970 init.hammerhead.usb.rc
-rwxr-x--- 1 root root 23K Jan 2 1970 init.rc
-rwxr-x--- 1 root root 1.9K Jan 2 1970 init.trace.rc
-rwxr-x--- 1 root root 3.8K Jan 2 1970 init.usb.rc
-rwxr-x--- 1 root root 35 Jan 2 1970 init.zygote32.rc
drwxr-xr-x 2 root root 40 Jan 2 1970 misc
drwxrwxr-x 7 root system 160 Jan 2 1970 mnt
drwxrwx--x. 8 system system 4.0K Jan 1 1970 persist
drwxr-xr-x 2 root root 40 Jan 2 1970 proc
drwxr-xr-x 2 root root 40 Jan 2 1970 radio
drwxr-xr-x 2 root root 40 Jan 2 1970 recovery
drwxr-xr-x 3 root root 60 Jan 2 1970 res
drwxr-xr-x 2 root root 40 Jan 2 1970 rpm
drwxr-x--- 2 root root 120 Jan 2 1970 sbin
drwxr-xr-x 2 root root 40 Jan 2 1970 sbl1
lrwxrwxrwx 1 root root 24 Jan 2 1970 sdcard -&gt; /storage/emulated/legacy
drwxr-xr-x 2 root root 40 Jan 2 1970 sdi
drwxr-xr-x 8 root root 460 Sep 5 09:19 socket
drwxr-x--x 4 root 1028 100 Jan 2 1970 storage
drwxr-xr-x 2 root root 40 Jan 2 1970 sys
drwxr-xr-x. 13 root root 4.0K Jan 1 1970 system
drwxr-xr-x 2 root root 40 Jan 2 1970 tz
-rw-r--r-- 1 root root 2.2K Jan 2 1970 ueventd.hammerhead.rc
-rw-r--r-- 1 root root 7.4K Jan 2 1970 ueventd.rc
lrwxrwxrwx 1 root root 14 Jan 2 1970 vendor -&gt; /system/vendor

Come si presenta Ubuntu Touch
Screenshots

Come si puo’ vedere, Ubuntu Touch si presenta ne’ più ne’ meno come una comune ROM Andoid o IOs su Iphone. Un launcher, una home screen, un drawer delle applicazioni. Le gestures sono leggermente differenti: per visualizzare il drawer dovrete cliccare sulla icona di ubuntu in basso a sinistra, mentre per passare da una applicazione all’altra basta fare uno swipe da destra verso sinistra.


https://open-store.io/

Apps Preinstallate Descrizione
Calculator Calcolatrice. Nulla da segnalare. Fa calcoli, a quello serve una calcolatrice
Calendar Calendario. C’e’ la possibilità d’importare un calendario personale. Fatto, grazie.
Camera Fotocamera. Molto minimale, se devo dire la verità. Sembra di essere tornati ai tempi del Galaxy Nexus.
Clock Orologio identico a qualsiasi orologio su Android. Possibilità d’inserire nuovi timezone, conto alla rovescia, e sveglia per quelli che comunque non dormono la notte come me. Per gli altri c’e’ il caffè.
Contacts Elenco contatti. Anche qui c’e’ la possibilità d’importare un elenco personale. Fatto, grazie.
File Manager Qui invece è dove si possono trovare tutti i file divisi nelle directory del telefono. Ovvio, la maggior parte delle dir sono nascoste, ma quello che vedrete è sostanzialmente quello che serve alle operazioni di tutti i giorni. Dove trovo quel file che ho scaricato quel giorno? Qui.
Gallery È la galleria delle immagini. Io, personalmente ho inserito al suo interno anche le immagini che provenivano dal vecchio telefono, ma sostanzialmente è un visualizzatore di thumbnail delle vostre foto, con la possibilità di aprire le originali e modificarle.
Media Player È un video player molto minimale. Per ora l’ho utilizzato soltanto una volta per visualizzare un mp4, e direi che funziona bene, senza intoppi.
Messaging Chi manda ancora sms? Io. Quindi a me questa applicazione serve, e anche parecchio.
Morph Browser La mancanza di un browser moderno su Ubuntu Touch forse è quella maggiore. Morph pero’ è un browser leggero e “decente”. Fa quello che deve fare, ma nulla di più. Ergo, cara Mozilla, adesso è il tuo momento.
Music Tutta la mia musica scaricata da jamendo (soltanto 3.7 giga) è stata riconosciuta, selezionata e indicizzata perfettamente da questo audio player. L’ho testato per ora su mp3, aac, e ogg. Ci mancherebbe non funzionasse sugli ogg…
OpenStore Questo è lo store dove si possono trovare tutte le applicazioni disponibili per Ubuntu Touch. È ricco ma carente allo stesso tempo. Ricco se intendete lo smartphone come uno strumento per visualizzare qualche volta la vostra mail e interagire coi vostri amici. Carente se intendete lo store come un posto dove scaricare l’ultima versione ufficiale di TikTok. Se pero’ cercate un luogo per trovare sistemi per fare hacking al vostro telefono, quindi vedere ma anche dire fare baciare lettere e (tutto il) testamento, è fatto per voi.
Settings Qui ci sono tutte le proprietà del telefono. Tutte eh, ma proprio tutte. O almeno quelle che vi servono nell’immediato.
Terminal Cosa e’ Linux senza un terminale?

Libertine – Ovvero la libertà di avere il desktop su smartphone

Un container è un gruppo di processi, isolati dal sistema principale, che simulano le operazioni di un intero sistema operativo. A differenza di una macchina virtuale, un container parte come una applicazione a se’ stante che non include tutti i processi, ma solo quelli fondamentali di un OS. Ed essendo come una sorta di blocco unico – un “container” appunto – può essere trasferito da una macchina all’altra, distrutto e ricreato come fosse nuovo senza quasi cambiare una virgola. Ora, finita la parte “il grande mondo di Quark – versione Linux – abbiamo già visto un primo sistema di containerizzazione presente in Ubuntu Touch: LXC. Un secondo, e forse fondamentale, si chiama Libertine e permette (ma come si dice: non tutte le ciambelle…) d’installare applicazioni nate per funzionare su sistemi desktop in full screen. L’idea è quindi di poter ruotare in landscape il vostro telefono, connetterlo a una tastiera, un mouse, un monitor, e avere a disposizione un sistema desktop minimale.

Creiamo prima di tutto un container:

phablet@ubuntu-phablet:~$ libertine-container-manager create --id xenial --type chroot --name 'Jolek78'
I: Checking component main on http://ports.ubuntu.com/ubuntu-ports...
I: Retrieving adduser 3.113+nmu3ubuntu4
I: Validating adduser 3.113+nmu3ubuntu4
I: Retrieving apt 1.2.10ubuntu1
I: Validating apt 1.2.10ubuntu1
I: Retrieving base-files 9.4ubuntu4
I: Validating base-files 9.4ubuntu4
I: Retrieving base-passwd 3.5.39
I: Validating base-passwd 3.5.39
I: Retrieving bash 4.3-14ubuntu1
I: Validating bash 4.3-14ubuntu1
I: Retrieving bsdutils 1:2.27.1-6ubuntu3
I: Validating bsdutils 1:2.27.1-6ubuntu3
I: Retrieving coreutils 8.25-2ubuntu2
I: Validating coreutils 8.25-2ubuntu2
I: Retrieving dash 0.5.8-2.1ubuntu2
I: Validating dash 0.5.8-2.1ubuntu2
I: Retrieving debconf 1.5.58ubuntu1
I: Validating debconf 1.5.58ubuntu1
I: Retrieving debianutils 4.7
I: Validating debianutils 4.7
I: Retrieving diffutils 1:3.3-3
I: Validating diffutils 1:3.3-3
I: Retrieving dpkg 1.18.4ubuntu1
I: Validating dpkg 1.18.4ubuntu1
[...]
phablet@ubuntu-phablet:~$ libertine-container-manager list 
xenial
phablet@ubuntu-phablet:~$ 

E poi proviamo a installare una applicazione minimale, giusto per vedere come funziona. L’applicazione si chiama vim, ed è il più popolare editor di testo che esista su Linux:

phablet@ubuntu-phablet:~$ libertine-container-manager install-package -p vim
Hit:1 http://ports.ubuntu.com/ubuntu-ports xenial InRelease
Hit:2 http://ports.ubuntu.com/ubuntu-ports xenial-updates InRelease
Ign:3 https://repo.ubports.com xenial InRelease
Hit:4 https://repo.ubports.com xenial Release
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
The following NEW packages will be installed:
libgpm2 libpython3.5 vim vim-common vim-runtime
0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded.
Need to get 7,376 kB of archives.
After this operation, 32.8 MB of additional disk space will be used.
Get:1 http://ports.ubuntu.com/ubuntu-ports xenial/main armhf libgpm2 armhf 1.20.4-6.1 [15.1 kB]
Get:2 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main armhf vim-common armhf 2:7.4.1689-3ubuntu1.5 [104 kB]
Get:3 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main armhf libpython3.5 armhf 3.5.2-2ubuntu0~16.04.13 [1,197 kB]
Get:4 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main armhf vim-runtime all 2:7.4.1689-3ubuntu1.5 [5,169 kB]
Get:5 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main armhf vim armhf 2:7.4.1689-3ubuntu1.5 [891 kB]
Fetched 7,376 kB in 2s (3,177 kB/s)
[....]
phablet@ubuntu-phablet:~$

Facciamo il reboot al telefono:

phablet@ubuntu-phablet:~$ sudo reboot 
[sudo] password for phablet: 
phablet@ubuntu-phablet:~$ ⏎

E poi ecco li’ apparsa magicamente l’iconcina di vim:

phablet@ubuntu-phablet:~$ libertine-container-manager exec -i xenial -c "vim"
phablet@ubuntu-phablet:~$

Ma cosa succede se proviamo a installare una applicazione pesante come Firefox?

phablet@ubuntu-phablet:~$ libertine-container-manager install-package -p firefox
phablet@ubuntu-phablet:~$

Questo e’ solo uno dei problemi che mi son trovato ad affrontare muovendo i primi passi nel sistema. Esiste un workaround per Firefox: bisogna installare una versione precedente, la 76 a 32bit per la precisione, incrociare le dita, e testare. Ma non sempre tutto ha una soluzione.


La verità, tutta la verità vostro onore

Ubuntu Touch ha vari problemi. Il primo fra tutti è che una piattaforma ancora in totale costruzione, e la mancanza di una direzione da parte della casa madre è la sua forza ma anche la sua debolezza. Di una cosa potete essere certi: la comunità attorno al progetto è estesa, collaborativa, e si spende molto affinché questa piattaforma diventi una reale alternativa ad Android e IOs. Uno dei problemi principali, a parte la limitata portabilità della piattaforma su tutti i telefoni disponibili sul mercato, è anche nel display server, il Mir, il cui sviluppo è stato parzialmente lasciato da parte dell’azienda Canonical. Inoltre abbiamo un sistema operativo che è basato sulla LTS 16.04 (l’ultima LTS è la 20.04) e sul kernel 3.4 (l’ultimo kernel è il 5.14). Basandosi su Android, tutto questo e’ comprensibile, ma c’e’ ancora molto da fare.

phablet@ubuntu-phablet:~$ hostnamectl 
Static hostname: ubuntu-phablet
Pretty hostname: Nexus 5
Icon name: computer-handset
Chassis: handset
Boot ID: 4908adbffef4461f92456de470104ab0
Operating System: Ubuntu 16.04.7 LTS
Kernel: Linux 3.4.0-cyanogenmod-g2b465f7f

Non ho la sfera di cristallo, e anche se l’avessi non servirebbe a niente. Bisogna soltanto aspettare, partecipare, contribuire e attivarsi, chi nel piccolo chi nel grande, affinché Linux su smartphone diventi una realtà accessibile per tutti. Io, nel mio piccolo, nonostante tutto e nonostante gli inconvenienti, ho deciso di far parte di questa piccola rivoluzione. E voi? Vi farete tentare da Ubuntu Touch?


https://halium.org/
https://ubports.com/

https://forums.ubports.com/

 


NOTICINA “BOTTEGARDA”
Da un po’ di tempo – 26 puntate – la domenica mattina Jolek78 prova ad “alfabetizzare” le persone più tecno-ignoranti (tipo db, per capirsi) su Linux ma questa settimana si è preso un minimo riposo o forse un viottolo per redarre una necessaria “scordata” che FORSE vi invoglierà anche verso il “tutorial”

 

MA COSA SONO LE «SCOR-DATE»? NOTA PER CHI CAPITASSE QUI SOLTANTO ADESSO.
Per «scor-data» qui in “bottega” si intende il rimando a una persona o a un evento che il pensiero dominante e l’ignoranza che l’accompagna deformano, rammentano “a rovescio” o cancellano; a volte i temi possono essere più leggeri ché ogni tanto sorridere non fa male, anzi. Ovviamente assai diversi gli stili e le scelte per raccontare; a volte post brevi e magari solo un titolo, una citazione, una foto, un disegno. Comunque un gran lavoro. E si può fare meglio, specie se il nostro “collettivo di lavoro” si allargherà. Vi sentite chiamate/i “in causa”? Proprio così, questo è un bando di arruolamento nel nostro disarmato esercituccio. Grazie in anticipo a chi collaborerà, commenterà, linkerà, correggerà i nostri errori sempre possibili, segnalerà qualcun/qualcosa … o anche solo ci leggerà.

La redazione – abbastanza ballerina – della bottega

jolek78 on Email
jolek78
Un tizio che pensava di essere uno scienziato. Si ritrovò divulgatore scientifico. Poi si addormentò su un aereo e si risvegliò informatico. Ma era sempre lui.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *