Quasi tutti gli articoli relativi al mondo Linux che ho pubblicato su TurboLab.it iniziano suggerendo di lanciare vi oppure nano per modificare file di configurazione da terminale. Se però operate da un PC Windows connesso via SSH ad un server Linux, esiste una strada infinitamente più comoda per raggiungere lo stesso risultato: aprire il file remoto tramite il tradizionale Notepad++, potendo così contare su un familiare programma ad interfaccia grafica, nativo per Windows, senza tutte le difficoltà implicite nell'uso di un editor testuale per shell a linea di comando. L'operazione è semplicissima, ma vediamo come procedere

Alternativa "vi": usare Windows Notepad++ modificare file configurazione Linux CentOS/Ubuntu - notepad++ root ssh

Installare Notepad++ con plugin Manager

Se ancora non l'avete fatto, scaricate Notepad++ sul PC Windows locale e procedete al setup (consigliamo di farlo indipendentemente da questo articolo!). Durante l'installazione, prestate particolare attenzione alla scelta dei componenti: per riuscire in seguito a modificare i file testuali su un server Linux remoto dove accertarvi che Plugins -> Plugin manager sia spuntato

Alternativa "vi": usare Windows Notepad++ modificare file configurazione Linux CentOS/Ubuntu - notepad++ setup components

Completate quindi il setup come di consueto.

Installare NppFTP

Dopo aver avviato Notepad++, selezionare la voce di menu Plugin -> Plugin Manager -> Mostra Plugin Manager. Dalla finestra di dialogo apertasi, cliccare sulla scheda Disponibili e selezionare il componente chiamato NppFTP (in caso non sia presente in lista, controllate che non sia mostrato sotto la scheda Aggiornamenti oppure Installati: significherebbe che è già installato!).

Completare l'operazione cliccando Installa

Alternativa "vi": usare Windows Notepad++ modificare file configurazione Linux CentOS/Ubuntu - notepad++ plugin manager installazione nppftp

Riavviate il programma come richiesto.

Aprire NppFTP

Ritornati alla schermata principale di Notepad++, selezionare la voce di menu Plugin -> NppFTP -> Mostra la finestra di NppFTP. Si apre così una sezione laterale divisa in due: la parte superiore elencherà le cartelle ed i file presenti sul sistema Linux remoto, mentre quella in basso è dedicata a mostrare lo stato di avanzamento delle varie operazioni.

Creare un "profilo"

Dalla piccola barra degli strumenti di NppFTP cliccare l'ingranaggio, quindi scegliere Impostazioni profilo

Alternativa "vi": usare Windows Notepad++ modificare file configurazione Linux CentOS/Ubuntu - notepad++ profile settings

Dalla finestra apertasi possiamo aggiungere vari "profili", ovvero configurazioni distinte per connettersi ai vari computer. Premere il pulsante Aggiungi nuovo in basso a sinistra, scegliete un nome a piacere per identificare questo profilo ed immettere i dati richiesti dalla scheda Connessione. I più rilevanti sono:

  • Hostname: nome a dominio o indirizzo IP del sistema al quale connettersi
  • Tipo di connessione: se avete accesso via SSH al sistema remoto scegliete SFTP. Le altre opzioni consentono invece di lavorare via FTP oppure FTP sicuro
  • Username: nome utente per l'autenticazione sul sistema remoto
  • Password: password per l'autenticazione. Spuntate invece Chiedi la password ogni volta per non savarla nel programma, ma immetterla puntualmente ad ogni connessione
  • Cartella remota iniziale: se desiderate entrare automaticamente in un percorso specifico, digitatelo qui qui

Alternativa "vi": usare Windows Notepad++ modificare file configurazione Linux CentOS/Ubuntu - notepad++ profilo turbolab.it

La scheda Autenticazione consente di specificare altre opzioni relative al login. Se state usando SSH con autenticazione tramite password (il caso più comune), spuntate la casella appropriata. Se, invece, avete optato per l'impiego di una chiave asimmetrica, abilitate la casella di controllo dedicata e scegliete il file che contiene la chiave privata

Alternativa "vi": usare Windows Notepad++ modificare file configurazione Linux CentOS/Ubuntu - notepad++ autenticazione

Date un'occhiata alle altre schede, ma, in linea di massima, i valori proposti di default sono appropriati appropriati nella stragrande maggioranza dei casi.

Concludiamo cliccando Chiudi.

Modificare i file sul sistema Linux remoto

Dalla barra degli strumenti di NppFTP cliccare ora la prima icona: si arirà così una lista dalla quale selezionare il profilo appena creato. A connessione avvenuta, il pannello di destra mostrerà l'elenco delle cartelle e dei file. Facendo doppio click su un file testuale potremmo modificarlo direttamente all'interno di Notepad++: ad ogni salvataggio, il contenuto sarà caricato sul sistema Linux remoto in modo del tutto trasparente

Alternativa "vi": usare Windows Notepad++ modificare file configurazione Linux CentOS/Ubuntu - notepad++ root ssh

Facendo click con il pulsante destro del mouse su un file nella lista potrete invece scegliere di salvarlo in locale, rinominarlo oppure eliminarlo del tutto.

Il menu contestuale delle cartelle contiene anche altre opzioni

Alternativa "vi": usare Windows Notepad++ modificare file configurazione Linux CentOS/Ubuntu - notepad++ nppftp contestuale cartella

Attenzione! Quando si creano nuovi file...

Il menu contestuale delle cartelle consente di creare nuovi file direttamente da Notepad++. Quando si usa questa funzionalità è di importanza cruciale ricordarsi di modificare la codifica del ritorno a capo selezionando, subito dopo la creazione del nuovo file, la voce di menu Modifica -> Conversione carattere di fine linea -> Formato UNIX. Senza questa accortezza, il file utilizza infatti il metodo di identificare il fine riga proprio dell'architettura Windows, incompatibile con il mondo Linux, risultando spesso inutilizzabile.

In ogni momento possiamo verificare quale carattere di fine riga è impiegato nel documento corrente osservando l'angolo in basso a destra: UNIX identifica correttamente la convenzione del mondo Linux, mentre Windows non dovrebbe mai esser mostrato per i file remoti

Alternativa "vi": usare Windows Notepad++ modificare file configurazione Linux CentOS/Ubuntu

"Permesso negato"..?

Se prevedete di modificare file di sistema è fondamentale specificare l'account "root" nella schermata di configurazione del profilo di connessione. Impiegando un utente deprivilegiato, infatti, molti file di configurazione verrebbero caricati in modalità sola-lettura: Notepad++ non permette infatti di aprire i file remoti tramite sudo, come invece si suol fare lavorando direttamente da console testuale.

In caso l'accesso via root non sia possibile, una soluzione possibile è di "rilassare" temporaneamente i permessi di accesso al file che si desidera modificare, permettendo la scrittura da parte di tutti gli account: chmod ugo+rw /percorso/file.txt dovrebbe portare al risultato cercato, mentre con chmod u=rw,go=r /percorso/file.txt si ritornerà ad una situazione di massima sicurezza.