Нужный вам «пользователь» называется LSM :Модуль безопасности Linux. Наиболее известны SELinux и AppArmor.
Таким образом, вы можете запретить некоторым двоичным файлам (и их дочерним процессам )выполнять определенные действия (, даже если их UID равенroot
). Но вы можете разрешить эти операции getty
и его дочерним процессам, чтобы выполнять их вручную.
Попробуйте LC_ALL=it_IT.UTF-8
и LANGUAGE=it_IT.UTF-8
в дополнение к LANG=it_IT.UTF-8
.
Проверьте, правильно ли настроена ваша текущая локаль, с помощью locale
.
Также проверьте, доступна ли локаль it_IT.UTF-8
с помощью locale -a
.
просто установка LANGUAGE=it_IT.UTF-8
— это все, что мне нужно было сделать, чтобы изменить текст для сообщений, подобных сообщениям на страницах help
или man
. Имейте в виду, что LANGUAGE
устанавливает язык (s )для сообщений, для которых существует перевод (s ). Так что ls --help
может быть не совсем на итальянском языке.
Для этого требуется несколько вещей:
it_IT.UTF-8
. Проверитьlocale -a | grep it
ls
, обычно что-то вроде /usr/share/locale/it/LC_MESSAGES/coreutils.mo
в системе GNU, такой как CentOS ). LANG
должна быть экспортирована в среду, чтобы ls
иметь к ней доступ(export LANG
). $LANGUAGE
имеет приоритет над переменными LANG
и LC_*
(, если LC_MESSAGE
, LANG
или LC_ALL
не установлены в C/ Локаль POSIX ). Поэтому, если у вас есть LANGUAGE=fr:en:it
, вы будете получать сообщения на французском языке, если они доступны, даже если вы установите все остальное на it_IT.UTF-8
.LC_MESSAGES
имеет приоритет над LANG
и LC_ALL
имеет приоритет над всем остальным (, кроме LANGUAGE
, если это не C
/ POSIX
, как показано выше ). Вывод locale
должен дать вам сводку текущих настроек. env -i | grep -e LANG -e LC_
должен предоставить вам список переменных, -связанных с окружением , которые в настоящее время установлены.