User Tools

Site Tools


doc:appunti:android:termux

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:appunti:android:termux [2019/10/26 16:10] – [Accesso alla SD Card] niccolodoc:appunti:android:termux [2023/08/25 18:59] (current) – [Pacchetti da installare] niccolo
Line 3: Line 3:
 Emulatore terminale per Android e collezione di pacchetti GNU/Linux-like. Dopo aver installato l'emulatore è possibile installare con il comando **apt** diversi pacchetti con i tool da riga di comando più famosi (rsync, ssh, ecc.). Emulatore terminale per Android e collezione di pacchetti GNU/Linux-like. Dopo aver installato l'emulatore è possibile installare con il comando **apt** diversi pacchetti con i tool da riga di comando più famosi (rsync, ssh, ecc.).
  
-  * **Termux** +  * **Fondamentali** 
-  * **Termux:Widget** (a pagamento sul Google Play Store, libero su F-Droid) +    * **Termux** - Progamma terminale. 
-  * **Termux:API**+    * **Termux:Widget** - Consente di creare un menu sul desktop per avviare script e task Termux (a pagamento sul Google Play Store, libero su F-Droid). 
 +    * **Termux:API** - Consente di accedere ad alcune API Android ad esempio per ottenere la posizione GPS, inviare SMS, ecc. 
 +  * **Opzionali** 
 +    * **Termux:Styling** - Consente di personalizzare l'aspetto del terminale con schemi di colori e font (a pagamento sul Google Play Store, libero su F-Droid). Per cambiare lo stile: long-press in una finestra di terminale, //Moore// => //Style//.
  
 Il pacchetto Termux:Widget è particolarmente utile perché consente di aggiungere sul desktop un menu con un elenco di comandi eseguibili con un tap. Ogni voce di menu corrisponde ad uno script di shell installato in una apposita directory. Il pacchetto Termux:Widget è particolarmente utile perché consente di aggiungere sul desktop un menu con un elenco di comandi eseguibili con un tap. Ogni voce di menu corrisponde ad uno script di shell installato in una apposita directory.
Line 73: Line 76:
  
   * **openssh** Server ssh. Questo è il primo pacchetto da installare, usando una sessione Termux direttamente sullo schermo del dispositivo Android. Dopo aver installato questo sarà possibile **accedere più comodamente** al dispositivo da un comune PC, **via ssh**, sfruttando il port forward di ADB (vedia più avanti).   * **openssh** Server ssh. Questo è il primo pacchetto da installare, usando una sessione Termux direttamente sullo schermo del dispositivo Android. Dopo aver installato questo sarà possibile **accedere più comodamente** al dispositivo da un comune PC, **via ssh**, sfruttando il port forward di ADB (vedia più avanti).
-  * **mc** **vim** **rsync** **wget** **file** Sono i generici tool Unix, indispensabili.+  * **mc** **vim** **rsync** **wget** **file** **which** Sono i generici tool Unix, indispensabili.
   * **python** Linguaggio di programmazione, alternativa agli script shell. FIXME C'è da verificare quanto siano più onerosi in termini computazionali rispetto agli script shell.   * **python** Linguaggio di programmazione, alternativa agli script shell. FIXME C'è da verificare quanto siano più onerosi in termini computazionali rispetto agli script shell.
   * **termux-api** Comandi per interfacciarsi con i servizi Android, ad esempio ''termux-location'' per accedere ai dati GPS, ''termux-camera-photo'' per scattare foto, ''termux-microphone-record'' per registrare audio, ecc.   * **termux-api** Comandi per interfacciarsi con i servizi Android, ad esempio ''termux-location'' per accedere ai dati GPS, ''termux-camera-photo'' per scattare foto, ''termux-microphone-record'' per registrare audio, ecc.
   * **figlet** Consente di creare scritte grandi in ASCII art, utili per un output leggibile sul piccolo schermo.   * **figlet** Consente di creare scritte grandi in ASCII art, utili per un output leggibile sul piccolo schermo.
 +===== Personalizzazione terminale =====
 +
 +==== Tasto back ====
 +
 +È possibile configurare l'azione eseguita dal **tasto Back Android**: l'opzione predefinita è **nascondi tastiera on-screen**, un'ulteriore pressione esegue il **lascia applicazione**.
 +
 +È possibile in alternativa associarlo al tasto **ESC** che viene quindi processato dall'applicazione in esecuzione in Termux. Per avere questa configurazione si deve modificare il file **$HOME/.termux/termux.properties** (se non esiste bisogna crearlo):
 +
 +<file>
 +###############
 +# Back key
 +###############
 +
 +### Send the Escape key.
 +back-key=escape
 +
 +### Hide keyboard or leave app (default).
 +# back-key=back
 +</file>
 +
 +Altre impostazioni configurabili nel file sono documentate in **[[https://wiki.termux.com/wiki/Terminal_Settings|Terminal Settings]]**.
 +
 +==== Touch Keyboard ====
 +
 +È possibile aggiungere dei tasti touch al bordo dello schermo, che si aggiungono alle possibilità offerte dalla tastiera on-screen. L'impostazione predefinita mostra i seguenti tasti:
 +
 +<file>
 +extra-keys = [[ESC, TAB, CTRL, ALT, {key: '-', popup: '|'}, DOWN, UP]]
 +</file>
 +
 +La personalizzazione va fatta nel file **$HOME/.termux/termux.properties**. In questo esempio si aggiunge un tasto per nascondere/visualizzare la soft-keyboard e si toglie il tasto **%%minus%%**/**%%pipe%%**.
 +
 +<file>
 +extra-keys = [[KEYBOARD, ESC, TAB, CTRL, ALT, DOWN, UP]]
 +</file>
 +
 +I tasti che è possibile attivare sono elencati nella pagina **[[https://wiki.termux.com/wiki/Touch_Keyboard|Touch Keyboard]]**.
 +
 +Dopo aver modificato il **termux.properties** si deve eseguire **termux-reload-settings**.
 +
 +==== Full screen ====
 +
 +È possibile attivare la modalità **full immersive** per cui viene nascosta la barra superiore Android e gli eventuali tasti software inferiori (back, menu, indietro). È necessario eseguire nel terminale il seguente comando con i permessi dell'**utente adb shell** oppure dentro la sessione Termux sono necessari i permessi di **su**:
 +
 +<code>
 +settings put global policy_control immersive.full=com.termux
 +</code>
 +
 +Le impostazioni diventano **immediatamente effettive**.
 +
 +Per impostare la modalità immersive per più di una app, queste vanno specificate separate da virgole:
 +
 +<code>
 +settings put global policy_control immersive.full=com.package.one,com.package.two
 +</code>
 +
 +Per vedere quali app hanno la modalità immersive:
 +
 +<code>
 +settings get global policy_control
 +</code>
 +
 +Per rimuovere l'impostazione si esegue:
 +
 +<code>
 +settings delete global policy_control
 +</code>
 +
 +==== Tastiera fisica ====
 +
 +Se si usa una tastiera esterna (es. Bluetooth) si possano utilizzare alcune scorciatoie elencate nella pagina **[[https://wiki.termux.com/wiki/Hardware_Keyboard|Hardware Keyboard]]**:
 +
 +^ Ctrl-Alt-C              | Create new session  |
 +^ Ctrl-Alt-R              | Rename session  |
 +^ Ctrl-Alt-[1-9]          | Switch to session number |
 +^ %%Ctrl-Alt-[DOWN|UP]%%  | Next/Previous session, use also **N** and **P** keys  |
 +^ %%Ctrl-Alt-[+|-]%%      | Increase/decrease text size  |
 +^ Ctrl-Alt-RIGHT          | Open drawer  |
 +^ Ctrl-Alt-LEFT           | Close drawer  |
 +^ Ctrl-Alt-M              | Show menu  |
 +^ Ctrl-Alt-U              | Select URL  |
 +^ Ctrl-Alt-V              | Paste  |
 +
 ===== Accesso alla SD Card ===== ===== Accesso alla SD Card =====
  
-L'installazione predefinita non concede automaticamente a Termux il permesso di accedere allo storage Android (SD Card). Modificare da //Settings// => //Apps// => //Termux// => //Permissions//. In questo modo sarà possibile nella shell Termux accedere al contenuto di **/sdcard/** ecc. FIXME Su alcune versioni di Android lo spazio della SD Card non è direttamente accessibile, ma è possibile usare una porzione //privata// di essodi solito nella directory ..FIXME+L'installazione predefinita non concede automaticamente a Termux il permesso di accedere allo storage Android (SD Card). Modificare da //Settings// => //Apps// => //Termux// => //Permissions//. In questo modo sarà possibile nella shell Termux accedere al contenuto di **/sdcard/** ecc. 
 + 
 +Per comodità in una shell Termux si può eseguire il comando **[[https://wiki.termux.com/wiki/Termux-setup-storage|termux-setup-storage]]** che provvede a richiedere il permesso di accesso ai file multimediali e a creare i seguenti link simbolici: 
 + 
 +  * $HOME/storage/dcim  -> /storage/emulated/0/DCIM/ 
 +  * $HOME/storage/downloads -> /storage/emulated/0/Download/ 
 +  * $HOME/storage/movies -> /storage/emulated/0/Movies/ 
 +  * $HOME/storage/music -> /storage/emulated/0/Music/ 
 +  * $HOME/storage/pictures -> /storage/emulated/0/Pictures/ 
 +  * $HOME/storage/shared -> /storage/emulated/0/ 
 + 
 +Se qualcosa non funziona (errore ''Permission denied'')provare a rimuovere il permesso **File e contenuti multimediali** e assegnarlo nuovamente (problema conosciuto con Android 11). 
 + 
 ===== Esecuzione script: "Permission denied" ===== ===== Esecuzione script: "Permission denied" =====
  
Line 106: Line 205:
 chcon "u:object_r:app_data_file:s0:c512,c768" pippo2 chcon "u:object_r:app_data_file:s0:c512,c768" pippo2
 </code> </code>
-===== Script .shortcuts =====+===== Termux:Widget e script .shortcuts ===== 
 + 
 +Vedere il wiki **[[https://wiki.termux.com/wiki/Termux:Widget|Termux:Widget]]**.
  
 Ecco un esempio di script da eseguire tramite Termux Widget. È sufficiente crearlo nella directory **/data/data/com.termux/files/home/.shortcuts/**: Ecco un esempio di script da eseguire tramite Termux Widget. È sufficiente crearlo nella directory **/data/data/com.termux/files/home/.shortcuts/**:
doc/appunti/android/termux.1572099038.txt.gz · Last modified: 2019/10/26 16:10 by niccolo