Termux su tablet: compilazione locale di C++ e Python

  • Termux trasforma un tablet Android in un ambiente Linux completo senza bisogno di permessi di root, ideale per imparare C, C++ e Python.
  • Con clang, gcc/g++ e Python installati, ĆØ possibile compilare codice localmente e creare utili script di rete e di sistema.
  • La combinazione di Termux e Python consente di realizzare progetti concreti di automazione e sicurezza informatica leggera in ambienti mobili.
  • Un ambiente ben organizzato in Termux facilita la successiva scalabilitĆ  verso server, ambienti cloud e flussi di lavoro professionali.

Compresse Termux

Se hai un semplice tablet o telefono cellulare Android e hai voglia di imparare a programmare, Non serve un computer per iniziare.Con Termux, puoi configurare un ambiente Linux funzionale sul tuo dispositivo e lavorare con C, C++, Python e un buon numero di strumenti di rete e di sistema. All'inizio potrebbe sembrare un po' da nerd, ma una volta provato, ti renderai conto che ĆØ perfettamente utilizzabile per studiare, sperimentare e persino eseguire servizi reali.

In questo articolo vedremo passo dopo passo come sfruttare al meglio Termux sui tablet Android. Compila localmente codice C e C++, lavora con Python e combinalo con le utilitĆ  di Linux.Vedrai come installare Clang, come preparare il tuo primo "Hello World" in C e C++, come installare Python e usarlo in progetti pratici e come perfezionare l'ambiente con piccole modifiche, sempre tenendo presente un utilizzo realistico che tocchi anche la sicurezza informatica, l'automazione e il lavoro da remoto.

Cos'è Termux e perché vale la pena utilizzarlo su un tablet Android?

Il grande vantaggio ĆØ che Termux funziona quasi come qualsiasi distribuzione Linux, pur rispettando i limiti di Android: Una parte del file system ĆØ condivisa con il sistema operativo stesso.Non ĆØ presente la classica struttura ad albero FHS in /bin, /usr, /home… e l'ambiente ĆØ progettato per un singolo utente. Ciononostante, ĆØ disponibile una directory $HOME completamente utilizzabile in cui ĆØ possibile installare pacchetti, compilare codice, eseguire script e salvare i propri progetti.

Per imparare a programmare da zero, Termux elimina molti degli ostacoli tipici: Non hai bisogno di un portatile potente né di dover lottare con le macchine virtuali.È sufficiente scaricare l'app, aggiornare i pacchetti, installare un paio di strumenti essenziali e si è pronti a scrivere codice C, C++, Python, HTML, CSS o qualsiasi altro linguaggio si desideri utilizzare sul proprio tablet.

Inoltre, il flusso di lavoro di Termux si adatta perfettamente ad aree quali: Nozioni di base di sicurezza informatica, automazione dei processi e amministrazione dei sistemi.dove script, strumenti di rete e comandi da console vengono utilizzati costantemente. Il tuo tablet diventa un piccolo laboratorio portatile che puoi portare nello zaino o in tasca.

Installa e configura Termux sul tuo tablet Android

Il primo passo è procurarsi una versione affidabile e aggiornata dell'app. Generalmente si consiglia di scaricare Termux da F-Droid o dal suo repository ufficiale su GitHub.perché le versioni di Google Play sono spesso obsolete o non vengono aggiornate.

Una volta installata l'app sul tablet, aprila e lascia che prepari l'ambiente iniziale. Vedrai un prompt della shell simile a quello di qualsiasi terminale Linux. Prima di fare qualsiasi cosa seria, ĆØ consigliabile Aggiorna i pacchetti principali del sistema per evitare conflitti di versioneIn Termux, si procede in questo modo:

pkg update && pkg upgrade

Questo comando aggiorna gli indici e tutto ciò che è installato. È consigliabile ripeterlo periodicamente, soprattutto prima di aggiungere compilatori, interpreti o strumenti di sviluppo.

DopodichƩ, conviene installare un minimo di utility da console per lavorare comodamente: un editor di testo, strumenti di compressione, utilitƠ di rete e strumenti di monitoraggio del sistemaAd esempio, per installare nano:

pkg install nano

Questo ti offre un editor semplice con scorciatoie visibili in basso, perfetto per imparare. Se sei più esperto, puoi optare per Vim o Neovim, anch'essi disponibili come pacchetti.

A questo punto hai già un mini Linux funzionante sul tuo tablet, con un Un ambiente pronto per installare compilatori come clang, interpreti come Python e altri pacchetti utili.Tutto ciò che imparerai sulla struttura delle directory, i permessi e i comandi ti sarà utile in seguito sui server reali.

impara a programmare
Articolo correlato:
App Android essenziali per imparare a programmare

ParticolaritĆ  di Termux rispetto a un classico sistema Linux

Sebbene Termux si comporti come un ambiente Linux, ci sono diversi dettagli importanti da tenere a mente. Il primo motivo ĆØ che Termux ĆØ un sistema monoutente e il comando sudo non esiste.Si lavora direttamente con i privilegi associati all'utente dell'app, che ha il controllo completo sulla directory $HOME ma autorizzazioni limitate al di fuori di tale spazio.

Predefinito, I percorsi principali sono diversi da quelli di un sistema Linux desktop.:

  • $ PREFISSO = /data/data/com.termux/files/usr
  • $ HOME = /data/data/com.termux/files/home

Se per motivi di compatibilitĆ  desideri che la tua variabile $HOME abbia lo stesso aspetto di /home, puoi installare termux-proot:

pkg install termux-proot

e poi in ogni sessione eseguita:

termux-chroot

Questo emula un ambiente in cui La variabile $HOME viene visualizzata come /home, anche se fisicamente si trova nel percorso interno di Termux.Questo ĆØ utile quando gli strumenti o i programmi di installazione si aspettano percorsi standard.

Un altro punto chiave ĆØ l'accesso alla memoria condivisa del dispositivo. Per accedere facilmente alla scheda SD o alla memoria interna, eseguire il seguente comando:

termux-setup-storage

Questo comando aggiunge una directory $HOME/storage che si collega a diverse posizioni Android. Nota che In questi percorsi non sarĆ  possibile creare eseguibili diretti con chmod e avviarli con ./scriptInvece, dovrai richiamare esplicitamente l'interprete, ad esempio:

python storage/shared/scripts/mi_script.py

Infine, il tuo nome utente in Termux corrisponde all'identificativo dell'applicazione in Android. È possibile verificarlo con il comando whoami e impostare una password con il comando passwd.Questo è essenziale se si desidera connettersi al tablet tramite SSH da un altro computer.

Installazione degli strumenti di base e dell'ambiente di lavoro

Compresse Termux

Prima di concentrarci su C, C++ e Python, ĆØ una buona idea avere a portata di mano alcuni programmi che vi semplificheranno la vita. Termux utilizza pkg (e apt al suo interno) come gestore di pacchetti.L'installazione ĆØ quindi molto simile a quella di una distribuzione di tipo Debian.

Alcuni pacchetti consigliati sono:

  • Python: pkg install python avere Python 3 ed essere in grado di installare moduli con pip.
  • fragore: pkg install clang per compilare C e C++ e per consentire a pip di compilare determinate estensioni native.
  • OpenSSH: pkg install openssh per attivare un server SSH sul tuo tablet e connetterti comodamente da un PC.
  • schermo: pkg install screen per mantenere i processi in background e ripristinare le sessioni.
  • procps: pkg install procps per gestire i processi con pkill e altri strumenti classici.
  • htop: pkg install htop come monitor interattivo di CPU e memoria, sebbene potrebbe non funzionare perfettamente in alcune versioni di Android.
  • strumenti di rete: pkg install net-tools per lavorare con ifconfig e altre utilitĆ  di rete classiche.
  • wget: pkg install wget per scaricare contenuti da URL direttamente nel tuo ambiente.
  • albero: pkg install tree per elencare la struttura delle directory in modo gerarchico.

Con queste parti installate, il tuo tablet passa dall'essere un semplice dispositivo di consumo multimediale a un piccolo ambiente di sviluppo in grado di eseguire script, compilare codice, fornire contenuti e accettare connessioni remote.

Installa clang e compila C e C++ in locale

Se vuoi programmare in C e C++ sul tuo tablet, hai bisogno di un compilatore che comprenda entrambi i linguaggi. In Termux, il pacchetto chiave è clang, che crea anche alias compatibili con gcc e g++così puoi usare i comandi tradizionali senza cambiare le tue abitudini.

Per installarlo, apri una sessione Termux ed esegui:

pkg install clang

Lo strumento richiederĆ  conferma; rispondi semplicemente con un E, su richiesta, i componenti necessari verranno scaricati e installati.Da quel momento in poi, avrai a disposizione gli eseguibili gcc e g++ per compilare rispettivamente in C e C++.

Ciò che si ottiene con questo è un ambiente di compilazione completo all'interno di AndroidScrivi il tuo file sorgente (.co.cpp), lo compili dal terminale ed esegui il file binario generato direttamente all'interno di Termux. Il flusso di lavoro è praticamente identico a quello di un sistema Linux desktop, solo che funziona sul tuo tablet.

Se durante la compilazione si verificano errori relativi a librerie o file di intestazione mancanti, questi vengono generalmente risolti. installazione di pacchetti aggiuntivi relativi a tale dipendenza (ad esempio, librerie di sviluppo specifiche dal repository di Termux). Di solito ĆØ sufficiente leggere attentamente il messaggio di errore per individuare il pacchetto mancante.

Il tuo primo programma in C dal tuo tablet

Con Clang installato, è il momento di testarlo. Un buon punto di partenza è creare un Un piccolo programma in C del tipo "Hello world" per verificare che il compilatore e l'ambiente siano configurati correttamente.Per fare ciò ti serve un editor; se scegli nano, assicurati prima di tutto di averlo installato:

pkg install nano

Successivamente, nella directory in cui desideri lavorare (ad esempio, la tua $HOME), crea un file sorgente eseguendo:

nano hola.c

Si aprirà un buffer vuoto in cui potrai digitare il tuo programma C con la funzione main e una chiamata a printf per visualizzare il testo sullo schermoNon è necessario attenersi all'esempio classico; qualsiasi messaggio può essere utilizzato per verificare che tutto funzioni correttamente.

Quando hai finito di scrivere il codice, salva il file con la combinazione Premi CTRL + O, conferma il nome con Invio ed esci con CTRL + XTornerai al prompt di Termux con il file hola.c salvato nella directory corrente.

Ora ĆØ il momento di compilare il programma usando gcc (che in realtĆ  punta al compilatore clang installato):

gcc -o hola hola.c

Questo comando indica che deve essere generato un file eseguibile. Ciao, partendo dal codice sorgente hola.cSe non si verificano errori, si tornerĆ  al prompt senza messaggi insoliti. Non resta che eseguire il file binario:

./hola

E dovresti vedere il testo che hai programmato nel terminale. Questo dimostra che il tuo tablet ĆØ in grado di Scrivi, compila ed esegui codice C completamente in locale utilizzando Termux..

Compilare ed eseguire codice C++ con g++

Per C++ il processo è praticamente identico, tranne per il fatto che userai l'eseguibile g++ che fa parte del pacchetto clangIl C++ amplia notevolmente le capacità del C aggiungendo la programmazione orientata agli oggetti, i template, una libreria standard più ricca e un ecosistema moderno.

In alcuni casi, g++ può compilare file C semplici senza troppi problemi. Ad esempio, se si esegue:

g++ -o hola_cpp hola.c

il compilatore probabilmente emetterĆ  Un avviso per la compilazione del codice C con il compilatore C++Ma genererĆ  comunque l'eseguibile hola_cpp che potrai avviare con:

./hola_cpp

Sebbene questo funzioni, l'approccio raccomandato per i progetti reali ĆØ Utilizza i file .cpp e sfrutta le funzionalitĆ  specifiche del C++.classi, std::vector, std::string, algoritmi della libreria standard, ecc.

Il flusso di lavoro tipico sarebbe:

  1. Crea il file sorgente, ad esempio program.cpp, modificandolo con nano, Vim o il tuo editor preferito..
  2. Salva le modifiche e torna al terminale.
  3. Compilare con un comando come questo g++ -o programa programa.cppaggiunta di flag e librerie secondo necessitĆ .
  4. Eseguire il binario risultante con ./programa per visualizzare l'output sulla console.

Con questo schema puoi andare passando da semplici esercizi a piccole utility che elaborano file, analizzano i log, automatizzano attivitĆ  interne di Termux o eseguono operazioni sui dati di rete.Tutto questo sul tuo tablet Android.

linguaggi di programmazione in più rapida crescita 2023
Articolo correlato:
Linguaggi di programmazione in più rapida crescita: guida completa e tendenze attuali

Installa e utilizza Python in Termux per progetti reali.

Mentre C e C++ ti danno un controllo di basso livello, Python offre un ambiente perfetto per prototipazione rapida, automazione delle attivitƠ e connessione dei serviziTermux dƠ il meglio di sƩ soprattutto se combinato con Python, perchƩ permette di unire comandi di shell e script e di sfruttare strumenti di rete e di sistema, tutto in un unico ambiente.

Per installare Python su Termux, ĆØ sufficiente eseguire il seguente comando:

pkg install python

VerrƠ scaricata una versione recente di Python 3 insieme ai componenti essenziali. Dopo l'installazione, ƈ possibile avviare l'interprete interattivo digitando python o python3 nel terminale., a seconda dell'alias configurato per il pacchetto.

Da lì è possibile creare script in file .py ed eseguirli con:

python mi_script.py

e utilizzare pip per installare dipendenze aggiuntive. Si noti che alcune librerie Python richiedono clang e altri pacchetti di sviluppo per compilare le estensioni native.Avere Clang installato ti risparmia un sacco di grattacapi.

Un metodo di apprendimento altamente raccomandato ĆØ quello basato su progetti: Invece di limitarti a svolgere esercizi isolati, ti poni degli obiettivi intermedi specifici. Come automatizzare un controllo di rete, analizzare un log o interrogare un'API. Il vantaggio di usare Termux su un tablet ĆØ che puoi provare tutto questo in qualsiasi momento libero.

Idee utili per progetti Python in Termux

Per evitare che Python si concentri esclusivamente su cicli e condizioni, ĆØ ottimo progettare progetti che assomiglino a situazioni del mondo reale. In un ambiente come Termux, I settori della sicurezza informatica di base, dell'automazione e dell'analisi delle informazioni sono particolarmente adatti..

Alcune idee interessanti per esercitarsi potrebbero essere:

  • script di controllo della reteUn programma che esegue il ping di più indirizzi o controlla le porte aperte e registra se sono accessibili. Questo permette di esercitarsi con moduli come sottoprocessi o socket, gestire l'output dei comandi e gestire gli errori senza che lo script si blocchi.
  • Verifica semplice della passwordUno script che riceve una password, ne controlla la lunghezza, la distinzione tra maiuscole e minuscole, numeri e simboli, e restituisce un punteggio. ƈ possibile aggiungere espressioni regolari ed elenchi di parole comuni memorizzati nei file di Termux.
  • Analizzatore di file di registroUno strumento che legge un file di log (ad esempio, da un servizio installato su Termux), filtra le righe contenenti errori, avvisi o indirizzi IP specifici e genera brevi riepiloghi. Questo permette di individuare incidenti e analizzare gli eventi.
  • Web scraper leggeroUtilizzando le richieste e una libreria di parsing HTML, ĆØ possibile visitare le pagine, estrarre dati e memorizzarli in file per analisi successive. Questo ĆØ molto utile per monitorare le modifiche ai siti web, raccogliere informazioni pubbliche o affinare la capacitĆ  di individuare potenziali rischi di ingegneria sociale.
  • Monitoraggio meteo in tempo reale o criptovalutaQuesto script interroga periodicamente un'API pubblica e visualizza i valori correnti nel terminale oppure li salva per un confronto. Ciò consente di esercitarsi con le richieste HTTP, la gestione di JSON, l'autenticazione tramite token e la gestione degli errori di rete.

In tutti questi progetti, ciò che è potente è come Si combina Python con gli strumenti Linux già forniti da Termux.È possibile programmare attività ricorrenti, utilizzare pipeline, reindirizzare l'output su file e molto altro. Il tablet si trasforma in un piccolo ambiente di test ideale per dare vita alle proprie idee.

Impara Python e la sicurezza informatica contemporaneamente dal tuo dispositivo mobile.

Molti dei progetti precedenti si prestano a introdurre concetti e best practice reali in materia di sicurezza informatica. L'idea non ĆØ quella di trasformare il tablet in un giocattolo di hacking incontrollato, ma piuttosto di Comprendere come gli script interagiscono con reti, sistemi e dati sensibili..

Ad esempio, quando crei un verificatore di password, puoi cogliere l'occasione per parlare di politiche di sicurezza, criteri di robustezza, rotazione delle chiavi e framework come NIST CSF o la direttiva NIS2che stabiliscono obblighi specifici in determinati settori. Anche se ti stai solo dilettando a livello amatoriale, inserire le tue sceneggiature in un contesto professionale ti aiuta a pensare in grande.

Nel caso degli analizzatori di log, i tuoi strumenti possono comportarsi come sistemi di rilevamento di piccoli incidentiricerca di schemi insoliti, tentativi di accesso falliti o comportamenti sospetti. Questo si ricollega al modo in cui i team di sicurezza lavorano nelle aziende, dove il monitoraggio continuo e la risposta rapida agli incidenti sono fondamentali.

Quando si lavora con scraper e API, ci si imbatte anche in argomenti come: Uso responsabile delle informazioni, rispetto dei termini di servizio e protezione dei dati personali.Questo ĆØ il momento ideale per integrare le abitudini etiche di base: non sovraccaricare i servizi con richieste, non raccogliere dati sensibili senza autorizzazione, proteggere adeguatamente i token e le credenziali utilizzati negli script, ecc.

Se sei interessato anche all'automazione dei processi a livello professionale, Termux e Python possono essere... Il punto di accesso a flussi di lavoro più complessi, che è possibile poi migrare ad ambienti cloud come AWS o Azure, oppure a soluzioni di business intelligence come Power BI.Ciò che impari progettando script sul tuo tablet può essere successivamente applicato ai processi aziendali, modificando l'infrastruttura ma mantenendo la logica e le migliori pratiche.

Configurazione di base e suggerimenti per migliorare il tuo ambiente di sviluppo

Termux funziona abbastanza bene subito dopo l'installazione, ma con qualche modifica è possibile ottenere un ambiente in cui programmare per ore senza difficoltà con l'interfacciaIl primo passo è scegliere un editor con cui ti trovi a tuo agio: nano per iniziare, oppure Vim/Neovim se desideri qualcosa di più potente ed estensibile.

Si raccomanda inoltre vivamente di definire un Struttura delle directory chiara per i tuoi progetti. Ad esempio:

  • $HOME/c_proyectos
  • $HOME/cpp_projects
  • $HOME/python_projects

E all'interno di ciascuna, sottocartelle per ogni progetto. Questo ti aiuta a evitare di mescolare font, file eseguibili e dati, e ti abitua a lavorare in modo organizzato fin dal primo giorno.

Se i tuoi script devono trattare argomenti di rete, API o servizi esterni, non sarebbe male Utilizza una VPN sul tuo tablet quando lavori con Termux.soprattutto se ti connetti a reti Wi-Fi pubbliche o inaffidabili. E mentre ci sei, impara come monitorare l'utilizzo dei dati, i wakelock e accensione/spegnimento automatico oppure le modalitĆ  di risparmio energetico possono essere un vantaggio.

Dal lato Python, abituati a Scrivi log e gestisci le eccezioni invece di lasciare che il programma si blocchi alla prima occasione.Gestire errori di rete, formati di dati errati o problemi di autorizzazione ti costringerà a progettare codice più robusto, e questo è fondamentale se in seguito vorrai implementare queste idee in sistemi di produzione.

Ricorda che Termux è, dopotutto, un ambiente Linux reale in miniaturaTutto ciò che imparerai qui su comandi, pipe, reindirizzamenti, permessi e struttura delle directory si trasferisce quasi senza modifiche a server, VPS o macchine virtuali. Il tuo tablet diventa il terreno di prova ideale per consolidare queste conoscenze.

Integrazione di Termux e Python con gli IDE in Android

Una domanda abbastanza comune è se sia possibile Utilizzo di Termux Python da un IDE grafico su AndroidÈ simile a ciò che si farebbe con Visual Studio Code o PyCharm su un computer desktop. L'idea sembra ottima, ma in pratica l'ecosistema Android rende questa integrazione piuttosto complicata.

Esistono app come Pydroid e simili che offrono il proprio interprete e un ambiente di sviluppo con un'interfaccia grafica. Il problema è che Ciascuna di queste applicazioni gestisce il proprio ambiente isolato e non condivide pacchetti o configurazioni con Termux.In altre parole, anche se è possibile programmare in Python su questi sistemi, non utilizzeranno la stessa versione di Python né gli stessi moduli presenti in Termux.

Oggi, le opzioni per avere un Gli IDE "tutto in uno" che utilizzano esattamente l'ambiente Python di Termux sono molto limitati.ƈ possibile avvicinarsi a quell'esperienza utilizzando editor potenti all'interno di Termux (ad esempio Vim/Neovim con plugin) oppure modificando i file in un editor esterno che abbia accesso alle cartelle condivise, continuando a eseguire il codice dal terminale.

Un'altra opzione ĆØ quella di collegare il tablet a un computer e lavorare con un IDE desktop che comunica con Termux tramite SSH o SFTP. In tal caso, Il tablet funge da server e il PC da client di sviluppo.Si tratta di un flusso di lavoro molto comodo, ma si discosta dall'idea di utilizzare esclusivamente il dispositivo mobile.

Per un utilizzo puramente mobile, la cosa più realistica da accettare è che Termux è un sistema basato su terminale, e la sua potenza deriva dalla combinazione di un buon editor, alias utili, scorciatoie da tastiera e un'attenta configurazione.Questo è più che sufficiente per imparare e sviluppare progetti Python seri sul tuo tablet.

Alla fine, con un modesto tablet Android, Termux e gli strumenti giusti, puoi configurare te stesso Un ambiente di lavoro più che valido per imparare C, C++ e Python, fare pratica con Linux, automatizzare le attività, sperimentare con API, log e reti e iniziare ad affrontare i concetti di sicurezza informatica e servizi cloud..

termux
Articolo correlato:
Termux su Android: la guida definitiva ai comandi avanzati e ai trucchi per padroneggiare Linux sul tuo dispositivo mobile

Con un po' di perseveranza, quel laboratorio portatile diventa il primo passo verso progetti più ambiziosi che potrai poi implementare su server, applicazioni aziendali o soluzioni di business intelligence, mantenendo la stessa mentalità: sperimentare, automatizzare e creare strumenti utili da una semplice riga di comando. Condividi le informazioni in modo che più utenti possano approfondire l'argomento.