Ubuntu 18.04 Server / Come cambiare la lingua del sistema
Per cambiare la lingua predefinita di Ubuntu 18.04 Server, prepara i dati della locale e i pacchetti di traduzione, configura update-locale e accedi nuovamente. Questa guida usa il coreano, ko_KR.UTF-8, come esempio e distingue i valori salvati nel file da quelli attivi nella sessione corrente.
Controllare la configurazione e crearne una copia
La locale, cioè l’insieme delle impostazioni regionali, determina la lingua dei programmi, la codifica dei caratteri, i formati di date e numeri e le regole di ordinamento. Questa guida riguarda il terminale di Ubuntu 18.04 Server. I metodi di immissione e la disposizione della tastiera del desktop si configurano separatamente.
La manutenzione di sicurezza standard di Ubuntu 18.04 LTS è terminata a maggio 2023. Se gestisci un server esistente, verifica anche la copertura della manutenzione di sicurezza estesa con Ubuntu Pro o il piano di aggiornamento del sistema operativo. Consulta il ciclo ufficiale delle versioni di Ubuntu per i dettagli del supporto.
Accedi con un account dotato di privilegi sudo ed esegui i comandi separatamente. locale mostra le impostazioni della sessione attuale, locale -a elenca le locale disponibili e l’ultimo comando visualizza il file con le impostazioni predefinite del sistema.
locale
locale -a
cat /etc/default/locale
Se la sessione mostra LANG=en_US.UTF-8, la locale predefinita è l’inglese statunitense. Controlla anche le variabili seguenti: possono sostituire singole categorie oppure tutte le impostazioni.
| Variabile | Funzione e aspetti da controllare |
|---|---|
LANG |
Locale predefinita usata quando una categoria non ha un’impostazione specifica. |
LC_*, per esempio LC_MESSAGES |
Imposta una categoria specifica, come messaggi, date o numeri, con precedenza su LANG per quella categoria. |
LC_ALL |
Sostituisce tutte le categorie della locale. In genere è adatta a eseguire temporaneamente un comando con impostazioni precise, anziché come valore predefinito permanente. |
LANGUAGE |
Definisce le preferenze di traduzione dei messaggi nei programmi che usano GNU gettext. Non cambia tutti i formati di date e numeri; controllala se la lingua dei messaggi non è quella prevista. |
Il manuale locale(7) di Ubuntu 18.04 spiega i ruoli e la precedenza di queste variabili, incluso l’uso di LANGUAGE per i messaggi tradotti. Un programma senza traduzione coreana può continuare a mostrare messaggi in inglese anche con la locale coreana.
Prima di modificare il file predefinito, creane una copia di sicurezza. Se il nome indicato sotto esiste già, scegline un altro per non sovrascrivere una copia precedente. Al ripristino, usa il nome del file effettivamente salvato.
sudo cp -a /etc/default/locale /etc/default/locale.backup
Preparare la locale coreana e le traduzioni
I dati della locale e i messaggi tradotti svolgono funzioni diverse. Scrivere il nome di una locale nel file non installa i dati necessari né le traduzioni di tutti i programmi. Aggiorna prima l’elenco dei pacchetti e installa gli strumenti per le locale e il pacchetto della lingua coreana.
sudo apt-get update
sudo apt-get install locales language-pack-ko
sudo locale-gen ko_KR.UTF-8
locale -a
Passa al comando successivo solo quando il precedente termina senza errori. Se l’elenco finale contiene ko_KR.utf8, la locale coreana UTF-8 è disponibile. L’elenco può usare .utf8, mentre gli esempi di configurazione usano .UTF-8. locale-gen genera i dati; scegliere la lingua predefinita del sistema richiede un passaggio separato. Vedi il manuale di locale-gen per Ubuntu 18.04.
Se un pacchetto non viene trovato o il download fallisce, risolvi prima gli errori di apt-get update e verifica i repository e la connessione di rete. Imporre soltanto un nome di locale dopo un’installazione fallita può causare avvisi nei comandi successivi.
Cambiare la lingua predefinita del sistema
Usa la configurazione seguente se vuoi adottare la locale coreana come impostazione predefinita sia per la lingua sia per i formati di date e numeri.
sudo update-locale --reset LANG=ko_KR.UTF-8
cat /etc/default/locale
--reset elimina da /etc/default/locale le variabili non indicate nel comando. Evita così che le precedenti voci LANGUAGE o LC_* di quel file sostituiscano il valore coreano predefinito. Se usi intenzionalmente un’altra regione per alcune categorie, non applicare l’opzione senza adattarla: conserva le impostazioni necessarie e modifica solo le variabili interessate.
Il file di configurazione deve contenere la voce seguente. Possono essere presenti anche commenti generati automaticamente.
LANG=ko_KR.UTF-8
update-locale controlla i valori e modifica il file predefinito, ma non cambia le variabili d’ambiente di una shell già in esecuzione. Il manuale di update-locale per Ubuntu 18.04 descrive questo comportamento e l’opzione --reset.
Accedere nuovamente e verificare il risultato
Se usi SSH, chiudi la connessione e apri una nuova sessione. Normalmente non serve riavviare il server, ma le sessioni e i programmi già aperti possono conservare l’ambiente precedente. Ricollegarsi a tmux o screen non dimostra che sia stato caricato un nuovo ambiente di accesso. Per i servizi di sistema, controlla anche la rispettiva configurazione d’ambiente.
Esegui i comandi seguenti nella nuova sessione.
locale
locale charmap
La configurazione di base è attiva se compare LANG=ko_KR.UTF-8, se le categorie non sostituite usano la locale coreana e se la codifica è UTF-8. Un valore vuoto come LC_ALL= non è un errore: indica che non è impostata una sostituzione globale. Consulta il manuale del comando locale per interpretare l’ambiente effettivo.
Confronta la formattazione visualizzando la stessa data con due locale. Questi esempi impostano la locale solo per ciascun comando e non modificano il file predefinito.
LC_ALL=C date -d '2026-01-02' '+%A %B'
LC_ALL=ko_KR.UTF-8 date -d '2026-01-02' '+%A %B'
Il primo comando dovrebbe mostrare i nomi inglesi Friday January; il secondo i nomi del giorno della settimana e del mese della locale coreana installata. La lingua delle date e il fuso orario sono impostazioni diverse. Se è l’ora stessa a essere errata, consulta come impostare il fuso orario su Ubuntu 18.04 Server.
Cosa controllare se l’impostazione non viene applicata
- Avvisi relativi alla locale: verifica che
locale -aelenchi la locale configurata. In caso contrario, ricontrolla l’installazione dei pacchetti e la generazione dei dati. Aggiungere un nome nel file non crea i dati mancanti. - Il file indica il coreano, ma la sessione usa un’altra lingua: esamina LC_ALL, le variabili LC_* e LANGUAGE con
locale. Cerca anche impostazioni specifiche in~/.profile,~/.bashrce/etc/environment. Modifica solo il necessario e accedi nuovamente. - La lingua cambia solo tramite SSH: SendEnv sul client e AcceptEnv sul server possono trasmettere LANG e LC_*. Confronta la locale del client con quelle generate sul server. Consulta la configurazione del client OpenSSH e quella del server OpenSSH. Non modificare indiscriminatamente l’accesso remoto e non riavviare SSH solo per correggere una differenza di lingua.
- Solo alcuni messaggi rimangono in inglese: verifica che il programma offra una traduzione coreana e controlla LANGUAGE. Un singolo messaggio in inglese non significa che l’intera configurazione della locale sia fallita.
- Il coreano appare come quadratini o caratteri illeggibili: controlla la codifica UTF-8 del terminale SSH e il supporto del font per il coreano. Cambiare la locale del server non installa font o metodi di immissione coreani sul client.
Ripristinare la configurazione originale o passare all’inglese
Per tornare allo stato iniziale, ripristina la copia creata prima della modifica e accedi nuovamente. Verranno ripristinate anche le impostazioni regionali specifiche contenute nella copia.
sudo cp -a /etc/default/locale.backup /etc/default/locale
cat /etc/default/locale
Per scegliere l’inglese statunitense UTF-8 come nuovo valore predefinito, anziché ripristinare lo stato precedente, genera la relativa locale e aggiorna la configurazione. I comandi seguenti reimpostano anche le singole voci di locale nel file predefinito: esamina prima le eccezioni da conservare.
sudo locale-gen en_US.UTF-8
sudo update-locale --reset LANG=en_US.UTF-8
Dopo il nuovo accesso, verifica con locale e locale charmap. Se un valore diverso continua a comparire solo tramite SSH, controlla le variabili dell’utente e la trasmissione dell’ambiente SSH, anziché sovrascrivere ripetutamente il file con la copia di sicurezza.




