User Tools

Site Tools


doc:appunti:android:programs

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:programs [2019/09/17 11:26] – [SSH con ADB port forward] niccolodoc:appunti:android:programs [2022/11/21 18:07] (current) niccolo
Line 1: Line 1:
 ====== Programmi Android ====== ====== Programmi Android ======
 +
 +  * **[[librera_reader]]**
  
 ===== Open GPS Tracker ===== ===== Open GPS Tracker =====
Line 224: Line 226:
   * [[https://play.google.com/store/apps/details?id=org.pocketworkstation.pckeyboard|Hacker's Keyboard]] - Ottima per la modalità landscape e l'emulazione terminale: cursori, ctrl, Esc, ecc. Se necessario installare anche il relativo dizionario italiano.   * [[https://play.google.com/store/apps/details?id=org.pocketworkstation.pckeyboard|Hacker's Keyboard]] - Ottima per la modalità landscape e l'emulazione terminale: cursori, ctrl, Esc, ecc. Se necessario installare anche il relativo dizionario italiano.
   * [[https://play.google.com/store/apps/details?id=free.inputmethod.latin.perfectkeyboard|Perfect Keyboard Free]] - Ottima per la tastiera [[wp>T9_%28predictive_text%29|T9]], altamente configurabile, versione ridotta o completa, tasti cursore, ecc. Esiste anche il relativo pacchetto per la lingua italiana.   * [[https://play.google.com/store/apps/details?id=free.inputmethod.latin.perfectkeyboard|Perfect Keyboard Free]] - Ottima per la tastiera [[wp>T9_%28predictive_text%29|T9]], altamente configurabile, versione ridotta o completa, tasti cursore, ecc. Esiste anche il relativo pacchetto per la lingua italiana.
 +
 +===== SMS =====
 +
 +Some interesting alternatives for the SMS sending programs:
 +
 +  * My preferred is the open source **[[https://f-droid.org/en/packages/com.moez.QKSMS/|QKSMS]]** (11 Mb).
 +  * You can choose also the very light **[[https://play.google.com/store/apps/details?id=aos.andro.messaging|Messaging-AOSP]]** (only 7 Mb) derived from the Android Open Source Project.
 +  * Otherwise you can opt for the **[[https://play.google.com/store/apps/details?id=com.google.android.apps.messaging|Messaging]]** monster app from Google (32 Mb).
 +
 ====== Rimozione programmi di sistema ====== ====== Rimozione programmi di sistema ======
  
Line 342: Line 353:
 Questi file contengono le **impostazioni del programma**, si tratta delle impostazioni generali e quelle specifiche per ogni modalità di funzionamento (navigazione a piedi, in bicicletta, in auto, ecc.). Sembra che sia possibile copiare i file e riportarli da una versione ad un altra del programma. Questi file contengono le **impostazioni del programma**, si tratta delle impostazioni generali e quelle specifiche per ogni modalità di funzionamento (navigazione a piedi, in bicicletta, in auto, ecc.). Sembra che sia possibile copiare i file e riportarli da una versione ad un altra del programma.
  
-====== Termux ======+====== Terminale Termux ======
  
-Emulatore terminale 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.).+Vedere la pagina dedicata **[[termux]]**.
  
-  * **Termux** 
-  * **Termux Widget** (a pagamento sul Google Play Store) 
- 
-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. 
- 
-Essendo software open source, è disponibile anche la versione free su F-Droid. **ATTENZIONE**: la versione del Google Play Store e quella di F-Droid non sono compatibili tra loro (es. l'app Termux e l'app Termux Widget devono avere la stessa origine), perché sonon firmate con chiavi diverse e non possono installarsi nella stessa directory. 
- 
-Ecco alcuni comandi che è possibile eseguire nel terminale, per installare pacchetti aggiuntivi: 
- 
-<code> 
-apt update 
-apt list 
-apt install mc 
-</code> 
-===== Directory ===== 
- 
-^ /data/data/com.termux/files/usr/local/bin/    | Script utente, impostare **mode 700**.  | 
-^ /data/data/com.termux/files/home/.shortcuts/  | Ogni script installato in questa directory diviene una entry nel menu Termux Widget.  | 
-^ /data/data/com.termux/files/home/.ssh/        | Configurazione ssh utente termux (chiave RSA pubblica/privata, ecc.)  | 
- 
-===== Script "Permission denied" ===== 
- 
-**ATTENZIONE**: Almeno in alcune versioni di Android 6.0 c'è un **problema di permessi** che va oltre i canonici permessi **rwx** Unix, si tratta del **security context** di **Selinux**. Se un file viene creato ad esempio dalla **adb shell** dall'utente root e poi viene opportunamente attribuito all'utente Termux con i permessi opportuni, può comunque **restare inaccessibile** all'interno dell'app Termux. Ecco un esempio da una sessione terminale Termux: 
- 
-<code> 
-id 
-uid=10099(u0_a99) gid=10099(u0_a99) groups=3003(inet),9997(everybody),50099(all_a99) 
-cd .shortcuts 
-ls -la 
--rwxr-xr-x u0_a99   u0_a99         48 2018-07-05 09:51 01_prova 
-cat 01_prova 
-cat: can't open '01_prova': Permission denied 
-</code> 
- 
-Con il comando **ls -Z** si vede che i file hanno un **security context** diverso; il file //pippo1// è accessibile dall'utente Termux, mentre il file //pippo2// non lo è: 
- 
-<code> 
--rwxr-xr-x u0_a99   u0_a99            u:object_r:app_data_file:s0:c512,c768 pippo1 
--rwxr-xr-x u0_a99   u0_a99            u:object_r:app_data_file:s0 pippo2 
-</code> 
- 
-Per **cambiare** il //security context// del file è sufficiente usare i comando: 
- 
-<code> 
-chcon "u:object_r:app_data_file:s0:c512,c768" pippo2 
-</code> 
-===== Script .shortcuts ===== 
- 
-Ecco un esempio di script da eseguire tramite Termux Widget. È sufficiente crearlo nella directory **/data/data/com.termux/files/home/.shortcuts/**: 
- 
-<code bash> 
-#!/data/data/com.termux/files/usr/bin/sh 
-exec /data/data/com.termux/files/usr/local/bin/rsync-documents 
-</code> 
- 
-===== Problema ambiente Termux via ADB shell ===== 
- 
-FIXME Questa ricetta non è funzionante al 100%. In effetti i problemi sono due: accedere con **adb shell** come **utente root** ed avere l'ambiente Termux, oppure accedere sempre con adb shell, ma come **utente termux**, sempre avendo l'ambiente Termux funzionante. Vedere l'alternativa usando **[[#ssh_con_adb_port_forward|ssh con ADB port forward]]**. 
- 
-Se da un PC si accede al device via //USB Debug// e **ADB shell** non è semplice avere l'ambiente Termux funzionante; è infatti impossibile eseguire i pacchetti installati tramite **pkg install** dalla app Termux. Il problema è nelle impostazioni delle variabili d'ambiente **PATH**, **LD_LIBRARY_PATH**, ecc. 
- 
-**Con i permessi di root** nella ADB shell è possibile ricreare l'ambiente opportuno. Come prima cosa si cambia utente da root a quello Termux (verificare il nome che viene determinato al momento dell'installazione di Termux, basta guardare il proprietario della directory ''/data/data/com.termux/files/'') e quindi impostare le opportune PATH: 
- 
-<code> 
-su u0_a99 
-export LD_LIBRARY_PATH=/data/data/com.termux/files/usr/lib 
-export PATH=/data/data/com.termux/files/usr/bin:/data/data/com.termux/files/usr/bin/applets 
-export HOME=/data/data/com.termux/files/home 
-export TMPDIR=/data/data/com.termux/files/usr/tmp 
-export TERM=linux 
-</code> 
- 
-  * FIXME Sarà possibile eseguire i programmi installati in Termux, ma non si avrà i **permessi per accedere alla rete**, ecc. 
-  * FIXME Sarebbe preferibile impostare **TERM=xterm-256color** che dovrebbe essere l'impostazione predefinita di Debian e di Android e che dovrebbe garantire il funzionamento della maggior parte dei tasti funzione e tasti speciali (Home, End, ecc.). Purtroppo si è riscontrato un **problema con Konsole**, che pare non supporti la sequenza di controllo **REP - Repeat ESC[Pnb**, per cui alcuni programmi a tutto schermo risultano corrotti nell'output (ad esempio il Midnight Commander). 
- 
-Se si mantiene l'utente root e si esegue solo l'impostazione delle variabili di ambiente, è possibile utilizzare l'**ambiente Termux**, con i **permessi di root**, via **ADB shell**, senza restrizioni (funziona anche l'accesso alla rete). A seconda delle circostanze si dovrà **decidere** se è preferibile l'**ambiente root ADB shell** predefinito oppure quello **Termux**, soprattutto per quanto riguarda la variabile **PATH**. In alcune circostanze è infatti è necessario utilizzare i tool contenuti in **/system/bin/**, **/system/sbin/**, ecc. 
- 
-Eventuali script di shell dovranno utilizzare l'opportuna riga [[wpit>Shabang]], alcune possibili scelte sono: 
- 
-  * **/system/bin/sh** shell predefinita della ADB shell; 
-  * **/data/data/com.termux/files/usr/bin/sh** shell predefinita dell'ambiente Termux, di solito linkata a **dash**; 
-  * **/data/data/com.termux/files/usr/bin/bash** shell Bash, disponibile nell'ambiente Termux; 
- 
-===== SSH con ADB port forward ===== 
- 
-Nell'ambiente Termux si installa openssh e si esegue il demone: 
- 
-<code> 
-apt install openssh 
-sshd 
-</code> 
- 
-FIXME: Il demone quanta batteria consuma? Sopravvive alla chiusura del terminale Termux? Sopravvive al reboot del telefono? 
- 
-Poiché non è possibile usare l'autenticazione password, si deve autorizzare l'utente remoto con una **/data/data/com.termux/files/home/.ssh/authorized_keys**. Verificare i permessi e il //SELinux security context// sul file authorized_keys: 
- 
-<code> 
-ls -lZ 
-total 16 
--rw------- 1 u0_a96 u0_a96 u:object_r:app_data_file:s0:c512,c768  394 2019-09-17 11:08 authorized_keys 
--rw------- 1 u0_a96 u0_a96 u:object_r:app_data_file:s0:c512,c768 1823 2018-11-07 17:41 id_rsa 
--rw------- 1 u0_a96 u0_a96 u:object_r:app_data_file:s0:c512,c768  398 2018-11-07 17:41 id_rsa.pub 
--rw-r--r-- 1 u0_a96 u0_a96 u:object_r:app_data_file:s0:c512,c768 1997 2019-08-10 07:51 known_hosts 
-</code> 
- 
-Sul PC GNU/Linux avviare il port forward via ADB e poi collegarsi con ssh: 
- 
-<code> 
-adb forward tcp:8022 tcp:8022 
-ssh localhost -p 8022 
-</code> 
 ====== Open Source File Managers ====== ====== Open Source File Managers ======
  
Line 474: Line 374:
   * Support root explorer.   * Support root explorer.
   * Support WebDAV and other sources (SMB, SFTP, etc.) using plugins. Unfortunately some plugins are available only from Google Play, so being incompatible with the main app from F-Droid.   * Support WebDAV and other sources (SMB, SFTP, etc.) using plugins. Unfortunately some plugins are available only from Google Play, so being incompatible with the main app from F-Droid.
 +
 ===== OI File Manager ===== ===== OI File Manager =====
  
doc/appunti/android/programs.1568712369.txt.gz · Last modified: 2019/09/17 11:26 by niccolo