domenica 22 marzo 2020

Ubuntu Touch su Nexus 7 2 gen

Mi ero gia' occupato oramai molti anni fa del progetto Ubuntu Touch (all'epoca Ubuntu for phones) piu' che altro perche' lo sviluppo era legato a Qt.


Per installare Ubuntu Touch sui dispositivi supportati la soluzione piu' semplice e' utilizzare UBPorts Installer

Per avere la taskbar si deve fare swipe da sinistra a destra, per avere l'elenco delle applicazioni aperte swipe da sinistra a destra  (swipe lento cicla tra le app, swipe veloce fa vedere tutte le app aperte)

Swipe da destra



Swipe da sinistra


Lo screenshot corrisponde alla pressione contemporanea dei due tasti del volume

Le applicazioni si installano da OpenStore



La mancanza di software e' abbastanza devastante!!

Per disinstallare una app si preme a lungo l'icona, si aprira' una nuova finestra con l'opzione rimozione

Per abilitare la connessione SSH con il tablet si digita sul computer

ssh-keygen

poi si copiano le chiavi sul tablet

adb push ~/.ssh/id_rsa.pub /home/phablet/
sempre sul tablet si copiano le chiavi

mkdir /home/phablet/.ssh 
chmod 700 /home/phablet/.ssh 
cat /home/phablet/id_rsa.pub >> /home/phablet/.ssh/authorized_keys 
chmod 600 /home/phablet/.ssh/authorized_keys 
chown -R phablet.phablet /home/phablet/.ssh
sudo android-gadget-service enable ssh 

A questo punto per collegarsi via rete si prende l'ip del tablet e si entra in SSH

ssh phablet@ip_address


Per editare direttamente sul tablet via cavo USB si puo' usare semplicemente

adb shell

La password di root della shell e' il codice PIN

Si puo' effettuare un mirror dello schermo del tablet sul pc tramite il comando

adb exec-out timeout 120 mirscreencast -m /run/mir_socket --stdout --cap-interval 2 -s 384 640 | mplayer -demuxer rawvideo -rawvideo w=384:h=640:format=rgba -



Per programmare UBPorts non si usa piu' Ubuntu SDK ma si utilizza  Clickable

Per installare si procede  con il seguente codice

pip3 install git+https://gitlab.com/clickable/clickable.git

si deve poi mettere in Path la directory $HOME/.local/bin e si deve avere in Path anche Adb

 The scripts futurize and pasteurize are installed in '/home/luca/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
  The script cookiecutter is installed in '/home/luca/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
  The script jsonschema is installed in '/home/luca/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
  The script clickable is installed in '/home/luca/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.

Sul tablet si devono abilitare i permessi da sviluppatore da Impsotazioni/Informazioni/Modalita' sviluppatore/  (ATTENZIONE: la modalita' sviluppatore non si puo' abilitare se non e' stato impostato un blocco schermo per esempio con Pin Code)

a questo punto per creare un progetto si usa

clickable create 

attenzione: per le voci AppName e Namespace non possono essere usati caratteri speciali (sono ammessi caratteri alfabetici ed il punto)

Per testare la applicazione si puo' digitare

clickable desktop

altrimenti con il solo clickable si effettua l'upload sul tablet

Applicazione Python in esecuzione su desktop
La stessa applicazione in esecuzione sul tablet

Come IDE si puo' usate l'editor Atom con il plugin https://atom.io/packages/atom-build-clickable
e selezionare la directory del progetto

Per compilare e lanciare la app sul tablet si preme F9. Se si preme F7 si puo' scegliere come target il desktop od il tablet.


attenzione : al momento di compilare il progetto viene effettuato il download di un docker con una immagine di Ubuntu 16.04 quindi c'e' necessita' di spazio disco e connessione di rete

Un libro di riferimento per la programmazione si trova a questo link

https://legacy.gitbook.com/book/mimecar/ubuntu-touch-programming-course/details

Nessun commento:

Posta un commento

Dockerizza Flask

Un esempio semplice per inserire in un container Docker una applicazione Flask Partiamo da una semplice applicazione che ha un file app.py ...