Tullio Facchinetti

Piattaforma SSHCode - Ambiente di programmazione

by Tullio Facchinetti


Una volta effettuato il collegamento al server come spiegato qui, è possibile utilizzare l’ambiente di programmazione come spiegato qui di seguito.

Ambiente di programmazione

Per accedere all’ambiente di programmazione, digitare

fdi start

L’interfaccia dispone di diverse finestre tra le quali ci si può spostare a rotazione nelle due direzioni con i tasti F7 e Shift-F7.

Tutte le finestre sono delle “viste” dello stesso ambiente, nel senso che la directory di lavoro è la stessa e tutti i comandi da tutte le finestre svolgono le stesse operazioni.

Normalmente si può usare una finestra per scrivere il programma e un’altra per la compilazione. Durante l’esame ci sono finestre addizionali con il testo dell’esame e una finestra di aiuto.

Per uscire dall’ambiente di programmazione, digitare

fdi stop

e poi

exit

L’ambiente di programmazione è unicamente basato su shell Linux. Dopo l’accesso, si ha appunto a disposizione una shell nella quale impartire i comandi.

Esplorazione del file system

Si possoono utilizzare i noti comandi per elencare i file presenti in una directory (ls), per creare directory (mkdir), per spostarsi tra le directory (cd), ecc.

Editor di testo

Per visualizzare ed modificare i file di testo, come i programmi .c, sono disponibili vari editor, tra cui vim, nano, micro.

Quello consigliato, perché più semplice da usare, è micro. Per aprire per esempio un file chiamato tutorato.c basta digitare:

micro tutorato.c

La seguente figura mostra un esempio dell’interfaccia che si ottiene lanciando fdi start, dopo aver aperto un file con l’editor micro.

Per uscire dall’editor digitare Ctrl-Q (tasto control insieme a Q). L’editor mette a disposizione i tipici comandi per il copia/taglia/incolla (Ctrl-C, Ctrl-X e Ctrl-V rispettivamente), l’undo (Ctrl-Z), e l’uso del mouse. Con Ctrl-G è possibile visualizzare la guida dell’editor, e con Alt-G le associazioni dei tasti.

Visualizzazione degli errori di compilazione

Quando è aperto un file con estensione .c, micro riconosce automaticamente che si tratta di un programma C.

Viene quindi attivato il cosiddetto syntax highlighting, che evidenzia con colori diversi i vari elementi del programma (parole chiave, stringhe, variabili, ecc.).

Quando si salva il file corrente con Ctrl-S, micro visualizza i caratteri >> accanto alle righe nelle quali il compilatore segnala un warning o un errore.

Portando il cursore in una riga contrassegnata con i caratteri >>, viene visualizzato il testo del messaggio del compilatore nella barra di stato di micro, in basso nella finestra dell’editor.

Questa funzionalità è particolarmente comoda durante lo sviluppo del programma, in quanto permette di sapere se il programma è corretto semplicemente salvandolo su disco, senza compilarlo esplicitamente.

Selezione dello schema di colori in micro

La combinazione di colori usata da micro, soprattutto quando è attivo il syntax highlighting durante la scrittura di un programma, può non essere ottimale, in quanto dipende anche dal colore dello sfondo, dal client SSH utilizzato, ecc.

Per adattare la combinazione di colori alle proprie esigenze, bisogna accedere alla barra dei comandi di micro digitando Ctrl-E all’interno del programma. Successivamente, digitare il seguente comando:

set colorscheme schema

dove schema è il nome dello schema di colori desiderato (es., simple, monokai, darcula, ecc.).

Dal momento che non esiste una lista completa di tutti gli schemi di colore disponibili, è possibile usare l’autocompletamento di micro per “esplorare” le varie possibilità, procedendo come segue.

Digitare Ctrl-E, e al prompt digitare soltanto:

set colorscheme

E’ importante che dopo colorscheme si digiti anche uno spazio, come se si volesse inserire successivamente il nome dello schema.

A questo punto, premendo il tasto TAB, micro elencherà i suggerimenti per completare il comando, che corrispondono ai nomi degli schemi di colori disponibili. Premendo nuovamente TAB si selezionerà il nome successivo, mentre Shift-TAB selezionerà il nome precedente. Il tasto TAB (e la combinazione Shift-TAB) può essere premuto tante volte quante sono necessarie per selezionare il nome desiderato. Premere poi INVIO per selezionare lo schema corrente.

Consiglio di provare vari schemi di colori per selezionare quello più adatto al proprio setup.

ATTENZIONE: per valutare uno schema di colori conviene aver aperto nell’editor un file .c con un po’ di istruzioni, in modo da poter verificare quali colori vengono utilizzati per i vari elementi del testo. Infatti, se nell’editor non è presente del testo, l’effetto di un diverso schema di colori è difficile da valutare.

Quando si esce da micro, l’impostazione dello schema di colori viene automaticamente salvata e verrà utilizzata alla successiva apertura del programma.

Informazioni utili

Ingrandimento della finestra attiva

Molti client mettono a disposizione una dimensione limitata del terminale (numero di righe x colonne). Pertanto la suddivisione dello schermo generata dal comando fdi start può portare a finestre troppo piccole per poter lavorare agevolmente.

Per ovviare a questo inconveniente è possibile zoomare la finestra attiva. Con la combinazione di tasti Ctrl-b z (tenere premuti il tasto Ctrl e b insieme, poi lasciare, e premere z) si effettua lo zoom della finestra attiva, che assunme l’intera dimensione della finestra del client. In questo modo lo spazio a disposizione per lavorare diventa molto maggiore. Per tornare alla situazione precedente, premere nuovamente Ctrl-b z. Lo zoom si può effettuare in qualsiasi finestra.

ATTENZIONE: lo zoom funziona correttamente su sistemi Windows e Linux. Attualmente non sembra essere garantito il funzionamento su sistemi Mac.

Scorrimento del risultato della compilazione

Talvolta il risultato della compilazione è troppo lungo per poter essere consultato comodamente.

Per compilare programma.c e poter scorrere l’output generato da gcc in caso di molti warning e errori, usare il comando:

gcc -Wall programma.c 2>&1 | less

Sarà possibile scorrere l’output di gcc con le frecce su e giù. Per tornare al prompt digitare q (quit).

Attenzione che se l’output del compilatore è assente viene visualizzata una schermata vuota. Digitare q per uscire.

Copia e incolla

Il copia e incolla da dentro a fuori della sessione SSH può essere un problema e la soluzione dipende da quale client si utilizza e dal sistema operativo.

Nel caso si utilizzi la Secure Shell App, possono essere utili queste informazioni.

Trasferimento di file

La piattaforma SSHCode permette il trasferimento di file da e verso il proprio computer tramite un client SFTP (Secure FTP) collegandosi con le stesse credenziali usate per accedere al servizio ma utilizzando la porta 22003.

Un client semplice da usare e disponibile per tutte le piattaforme è FileZilla.

I parametri di configurazione vanno impostati come in figura:

filezilla

Configurazione dell’ambiente

L’ambiente di sviluppo accessibile tramite il comando fdi permette la configurazione di alcuni aspetti, come i colori, i tasti per spostarsi da una finestra all’altra, e alcuni altri. Le informazioni per configurare l’ambiente possono essere consultate in questa pagina.

Concetti avanzati: tmux

Per chi ama approfondire la conoscenza delle tecnologie utilizzate nell’ambiente di programmazione, viene utilizzato tmux. Si tratta di un cosiddetto “terminal multiplexer”, ovvero un programma che permette di ottenere diversi terminali in una singola sessione di shell (SSH nel nostro caso).

Il comando fdi start/stop non fa altro che richiamare tmux. Pertanto un utente avanzato può pensare di utilizzare direttamente le funzionalità di tmux.

Esistono numerosi tutorial online per l’uso di tmux.

Un utile riferimento alle combinazioni di tasti che possono essere usate con tmux è disponibile su tmuxcheatsheet.


Highlights

  • Students and theses
  • Publications
  • Thesis topics
  • Curated awesome list of CLI apps
  • Last updates (English)

  • Speed up the compilation of LaTex Beamer presentations ()
  • Students and theses ()
  • Students and theses - English ()
  • Learn enough C to survive ()
  • Workflow for writing theses collaboratively ()
  • Guidelines for theses and presentations ()
  • Projects ()
  • Last updates (Italian)

  • Risultati FdI 8 e 11 aprile 2024 ()
  • Risultati FdI 20 Febbraio 2024 ()
  • Risultati FdI 02 Febbraio 2024 ()
  • Risultati FdI 20-27 Novembre 2023 ()
  • Risultati FdI 28 Settembre 2023 ()
  • Risultati FdI 01 Settembre 2023 ()
  • Risultati FdI 27 Luglio 2023 ()
  • List of categories

    Article Article_en Article_it C Courses Fdi Lang_en Lang_it Latex Programming Project Research Results Robotics Software Teaching Thesis Tips