Даже если в вашей удаленной системе задан языковой стандарт X, и вы подключаетесь с удаленного хоста, для которого задан языковой стандарт Y, ваш языковой стандарт (Y) может быть волшебным образом перенесен в удаленную систему для текущего сеанса (как TERM).
см. SendEnv LANG LC_*
в man ssh_config
.
Таким образом, ваше удаленное Java-приложение может получать различные настройки локали в зависимости от того, как вы его запускаете.
Если он запускается как системная служба после перезагрузки на хосте A, он получит свои естественные настройки локали на хосте A (LANG = "C"), но если вы войдете с другого хоста B через ssh, с другими настройками локали (LANG = «pl_PL» на хосте B) Java-приложение, запущенное из этого сеанса ssh на хосте A, может получить (в зависимости от конфигурации ssh) языковые настройки с хоста B.
_______________ ______________
[ remote host A ] [ local host B ]
[ LANG="C" ] - - - - [ssh]- - - - [ LANG="pl_PL" ]
[ java app ] [ xterm ]
[_______________] [______________]