Это потому, что who -a
никогда не читает /var/log/btmp
, who
читает /var/run/utmp
и показывает текущего вошедшего пользователя (пользователей).
С другой стороны, /var/log/btmp
хранит неудачные попытки входа.
Я воспроизвел ситуацию, сделав следующее:
Зашел на tty5
(может быть любой tty
)
Ввел пользователя, которого не существует в системе
Ввел случайный пароль
Запрос на вход снова показывает неправильный пароль
Но в /var/log/btmp
есть запись
UNKNOWN tty5 Mon Mar 21 16:16 still logged in
Через некоторое время это стало:
UNKNOWN tty5 Mon Mar 21 16:16 gone - no logout
Отредактируйте ваш /etc/locale.gen
, затем раскомментируйте следующую строку:
en_GB.UTF-8 UTF-8
Выполнить:
locale-gen en_GB.UTF-8 UTF-8
update-locale en_GB.UTF-8 UTF-8
export LANGUAGE=en_GB.UTF-8
export LC_ALL=en_GB.UTF-8
Проверьте это; locale
:
LANG=en_GB.UTF-8
LANGUAGE=en_GB.UTF-8
LC_CTYPE="en_GB.UTF-8"
LC_NUMERIC="en_GB.UTF-8"
LC_TIME="en_GB.UTF-8"
LC_COLLATE="en_GB.UTF-8"
LC_MONETARY="en_GB.UTF-8"
LC_MESSAGES="en_GB.UTF-8"
LC_PAPER="en_GB.UTF-8"
LC_NAME="en_GB.UTF-8"
LC_ADDRESS="en_GB.UTF-8"
LC_TELEPHONE="en_GB.UTF-8"
LC_MEASUREMENT="en_GB.UTF-8"
LC_IDENTIFICATION="en_GB.UTF-8"
LC_ALL=en_GB.UTF-8
Предложение Стивена Китта: не устанавливайте LC_ALL
и LANGUAGE
, потому что они вам здесь не нужны.
Протестировано, этот подход тоже работает.