locale: Cannot set LC_ALL to default locale probleem oplossen

Meestal stel je je Linux desktop systeem in op de Nederlandse taal. Servers stel je meestal in op de Engelse taal. Als je vanaf je desktop met Nederlandse taal via SSH verbinding maakt met je server, dan krijg je meldingen als: “locale: Cannot set LC_ALL to default locale“. Al deze meldingen hebben gemeen dat ze aangeven dat er iets met locale niet goedgaat. Om dit probleem op te lossen zijn er twee mogelijkheden:

  1. Client (desktop) ssh configuratie aanpassen door het uitschakelen van het doorsturen van de locale variabele op de server;
  2. Server ssh configuratie aanpassen door geen locale variabelen van de client (desktop) te accepteren.

Client (desktop) ssh configuratie aanpassen door het uitschakelen van het doorsturen van de locale variabele op de server

Een eerste oplossing is om de configuratie van de client (je desktop) zo in te stellen dat deze geen waarden van locale meer stuurt naar de server. Op het SSH configuratiebestand op je desktop:

sudo nano /etc/ssh/ssh_config

Zoek in dit bestand naar de onderstaande regel en zet het ‘# ‘ teken voor deze regel.:

SendEnv LANG LC_*

Sla nu het ssh configuratiebestand van je desktop op.

Server ssh configuratie aanpassen door geen locale variabelen van de client (desktop) te accepteren

Een tweede oplossing in om in de configuratie van de ssh server in te stellen dat de instellingen van locale van je desktop niet meegenomen moeten worden met de SSH sessie op de server. Open het SSH configuratiebestand op je server:

sudo nano /etc/ssh/sshd_config

Zoek daarna naar de volgende regel:

AcceptEnv LANG LC_*

Verander deze regel in:

AcceptEnv no

Sla het configuratiebestand op en herstart de SSH server met:

sudo systemctl restart ssh