Esegui applicazioni desktop¶
Libertine ti consente di utilizzare le applicazioni desktop standard in Ubuntu Touch.
Per installare applicazioni è possibile utilizzare l’interfaccia * Impostazioni * del telefono oppure è possibile utilizzare la riga di comando come descritto di seguito.
Gestire i contenitori¶
Creare un contenitore¶
Il primo passo è quello di creare un contenitore in cui poter installare le applicazioni:
Apri Impostazioni e scorri verso il basso fino a * Libertine * nel sottoelenco * Sistema *.
Tocca * Libertine * per accedere al sottomenu * Gestisci Contenitori Libertine *. Se hai altri contenitori già installati, saranno visibili qui. Tocca il segno + in alto a destra per aggiungere un contenitore.
La finestra di dialogo * Opzioni Contenitore * si aprirà chiedendoti di inserire un nome per il contenitore e, se lo desideri, una password. Conferma quanto inserito toccando OK e il contenitore verrà creato.
Per far questo via linea di comando segui questi passi:
libertine-container-manager create -i CONTAINER-IDENTIFIER
Puoi aggiungere opzioni extra come:
`` -n nome`` è un nome più user friendly per il contenitore
Il tipo `` -t type`` può essere `` chroot`` o `` lxc``. L’impostazione predefinita è `` chroot`` ed è compatibile con ogni dispositivo. Se il kernel del tuo dispositivo lo supporta, allora è suggerito `` lxc``.
Il processo di creazione può richiedere del tempo, a causa delle dimensioni del contenitore (alcune centinaia di megabyte).
Nota
Il comando `` create`` mostrato sopra non può essere eseguito direttamente nell’app terminale a causa delle restrizioni dell’apparmor. Puoi eseguirlo da un altro dispositivo sia usando la connessione `` adb`` che `` ssh``. In alternativa, è possibile eseguirlo dall’app terminale utilizzando una connessione ssh loopback eseguendo questo comando: `` ssh localhost``.
Lista dei contenitori¶
Usa il sottomenu Impostazioni Gestisci Contenitori Libertine per elencare tutti i contenitori che hai creato sul dispositivo.
Puoi anche usare la riga di comando. Esegui:
libertine-container-manager list
Distruggere un contenitore¶
libertine-container-manager destroy -i CONTAINER-IDENTIFIER
Gestione applicazioni¶
Una volta impostato un contenitore, le applicazioni installate sono disponibili nel cassetto delle app. Puoi anche toccare il nome del contenitore nel menu Gestisci Contenitori Libertine.
Puoi anche elencarli tramite la riga di comando:
libertine-container-manager list-apps
Installare un pacchetto¶
Dall’elenco delle app nel menu * Gestisci Contenitori Libertine * tocca il segno + per visualizzare una finestra di dialogo per aggiungere un pacchetto.
Se lo conosci inserisci il nome del pacchetto. Altrimenti puoi cercare un pacchetto negli archivi. È possibile semplificare questo processo installando per primo il pacchetto * Lubuntu Software Center *. Essendo un’app desktop, dovrai utilizzare * Libertine Tweak Tool * in * Open Store * per rendere il testo abbastanza grande da poter essere letto su un dispositivo mobile.
I pacchetti possono anche essere installati tramite riga di comando:
libertine-container-manager install-package -p PACKAGE-NAME
Rimuovere un pacchetto¶
Nell’elenco dei pacchetti, all’interno del contenitore (* Impostazioni di sistema *> * Libertine *> * Gestisci Contenitori Libertine *> * NOME CONTENITORE *), scorri verso destra il pacchetto che desideri rimuovere per far apparire l’opzione per rimuovere il pacchetto.
Oppure puoi rimuovere il pacchetto via riga di comando:
libertine-container-manager remove-package -p PACKAGE-NAME
Nota
Se si dispone di più di un contenitore, è possibile utilizzare l’opzione `` -i CONTAINER-IDENTIFIER`` per specificare per quale contenitore si desidera eseguire un’operazione.
Eseguire un’applicazione desktop¶
Eseguila dal menu delle app come qualsiasi altra app. Per avviare un’applicazione grafica dalla riga di comando, per esempio `` gedit “”, in un terminale eseguire:
# ubuntu-app-launch <CONTAINER_ID>_<desktop_file_name>_0.0
ubuntu-app-launch xenial_gedit_0.0
File¶
Le applicazioni Libertine hanno accesso a queste cartelle:
Documenti
Musica
Immagini
Downloads
Video
Suggerimenti¶
Posizioni¶
Per ogni contenitore che creerai verranno create due directory:
Una cartella root
~/.cache/libertine-container/CONTAINER-IDENTIFIER/rootfs/euna directory utente `` ~/.local/share/libertine-container/user-data/CONTAINER-IDENTIFIER/ ``
Accesso alla shell¶
Ci sono 2 possibili opzioni per eseguire comandi all’interno del contenitore.
La prima opzione si basa su libertine-container-manager exec. Ti permette di eseguire comandi con privilegi di root. Lo svantaggio è che il contenitore non viene completamente impostato. Finora sappiamo che le cartelle spra citate (Documenti, Musica, …) non sono montate per esempio, la cartella /home/phablet/ è vuota. Allo stesso modo la cartella a cui si fa riferimento in TMPDIR non è disponibile e ciò può causare problemi al software che cerca di creare file o cartelle temporanee. È possibile utilizzare questa opzione, ad esempio, per installare pacchetti.
Per eseguire un comando è possibile utilizzare il seguente schema:
libertine-container-manager exec -i CONTAINER-IDENTIFIER -c "COMMAND-LINE"
Per esempio esegui:
libertine-container-manager exec -i CONTAINER-IDENTIFIER -c "apt-get --help"
Per ottenere una shell nel contenitore come root eseguire:
libertine-container-manager exec -i CONTAINER-IDENTIFIER -c "/bin/bash"
La seconda opzione si basa su libertine-launch. Tale soluzione permette di eseguire i comandi come l’utente phablet in un contenitore completamente configurato. È possibile utilizzare questa opzione per modificare i files utilizzando i pacchetti installati.
Per eseguire un comando è possibile utilizzare il seguente schema:
libertine-launch -i CONTAINER-IDENTIFIER COMMAND-LINE
Per esempio esegui:
libertine-launch -i CONTAINER-IDENTIFIER ls -a
Per ottenere una shell come utente phablet esegui:
DISPLAY= libertine-launch -i CONTAINER-IDENTIFIER /bin/bash
Nota
Quando esegui bash in questo modo, non riceverai alcun feedback specifico per confermare che sei dentro il contenitore. Puoi controllare ls / per confermare che sei all’interno del contenitore. L’elenco di `` ls / `` sarà diverso all’interno e all’esterno del contenitore.
Accesso alla scheda SD¶
Per accedere alla tua scheda SD o a qualsiasi altra parte del filesystem canonico dall’interno del tuo contenitore libertine, devi creare un bind mount.
Per aggiungere un bind mount usa:
libertine-container-manager configure -i CONTAINER-IDENTIFIER -b add -p /media/phablet/ID-OF-SD
Puoi anche creare collegamenti diretti nel caso desideri che solo parti della tua scheda SD siano disponibili nel contenitore. In questo caso fornire l’intero percorso alla directory a cui si desidera associare il mount
libertine-container-manager configure -i CONTAINER-IDENTIFIER -b add -p /media/phablet/ID-OF-SD/directory/you/want
Ciò non consentirà l’accesso al contenitore a nessuna delle precedenti directory nel percorso e per nessuna ragione, eccetto l’accesso alla directory montata.
Per utilizzare la scheda SD come spazio aggiuntivo per il tuo contenitore, assicurati prima di formattarla utilizzando ext4 o simile. C’è una funzionalità errata in udisk2 che monta schede SD (showexec) che garantisce che solo i file che terminano con .bat, .exe o .com possano essere eseguiti dall’unità se formattata (v)fat. Ciò è stato modificato in altre distribuzioni consentendo a qualsiasi file di avere privilegi di esecuzione, ma non in Ubuntu. La soluzione consigliata è aggiungere una regola udev per controllare come montare una scheda con un dato id, ma poiché le regole udev sono sulla porta in sola lettura in touch, questo non è possibile.
Scorciatoie¶
Se vuoi, puoi aggiungere degli alias per gli strumenti della riga di comando. Aggiungi delle righe come le seguenti al file ~/.bash_aliases:
alias git='libertine-launch -i CONTAINER-IDENTIFIER git'
alias screenfetch='libertine-launch -i CONTAINER-IDENTIFIER screenfetch'
Background¶
Un server di visualizzazione coordina l’input e l’output di un sistema operativo. La maggior parte delle distribuzioni Linux oggi usa il server X. Ubuntu Touch non usa X, ma un nuovo server di visualizzazione chiamato Mir. Ciò significa che le applicazioni X standard non sono direttamente compatibili con Ubuntu Touch. Un livello di compatibilità chiamato XMir risolve questo problema. Libertine si affida a XMir per visualizzare le applicazioni desktop.
Un’altra sfida è che gli aggiornamenti del sistema Ubuntu Touch sono rilasciati come immagini OTA. Una conseguenza di ciò è che il filesystem di root è di sola lettura. Libertine fornisce un contenitore con un filesystem in lettura-scrittura per consentire l’installazione di normali applicazioni desktop Linux.