Терминальная кириллица

Когда я запускал команду xclock в терминале, я всегда получал следующее предупреждение:

Warning: Missing charsets in String to FontSet conversion

Я отредактировал свой файл ~/.bashrc и добавил в конец следующую строку:

export LC_ALL=C

И после этого моя консоль получила странное поведение - я могу удалить начальные символы, описывающие текущего пользователя и путь, где он расположен.

1113 Это случается, если я пишу что-то на кириллице. Когда я пытаюсь вставить первую букву кириллицы, все, что я написал до этого, заменяется символом . Затем я могу удалить начальные символы в моей консоли, продолжая нажимать кнопку backspace

enter image description here

Почему переменная LC_ALL повлиять на мой терминал и как я могу решить проблему с предупреждением xclock без ущерба для терминала?

1
задан 19 June 2019 в 15:18

1 ответ

Все оказалось действительно так, как сказал пользователь @egmont.

Когда переменная LC_ALL, определенная как C, устанавливает кодировку для всех приложений, предположительно, в ASCII (в общем, важно только, чтобы кодирование было изменено на другое, которое не поддерживает кириллицу)

Первоначально LC_ALL не был определен. Если это так, вы можете проверить это, набрав:

echo $LC_ALL

Переменная будет пустой, если вы получите пустую строку.

Предупреждение xclock , как я понимаю, появляется из-за этого - из-за отсутствия явно заданной кодировки

Если вы установите LC_ALL C, как указано в большинстве интернет-советов, вы четко указываете кодировку. И эта кодировка не UTF-8

Для решения проблемы вы должны явно указать кодировку, которая поддерживает кириллицу. Вы можете сделать это, добавив следующую строку в конец вашего файла ~/.bashrc:

export LC_ALL=C.UTF-8
0
ответ дан 19 June 2019 в 15:18

Другие вопросы по тегам:

Похожие вопросы: