LinuxForum.Fans
Тема

Некорректные символы в выводе less и других команд

Автор: nohup 10 сообщений 5741 просмотров
#85246

При загруженной генте в текстовом режиме в выводе некоторых команд встречаются вопросительные знаки, в графическом эмуляторе терминала все корректно,
а если сделать chroot в генту из другого дистра, то можно видеть это:
[console]comp / # man emerge

EMERGE(1) Portage EMERGE(1)

ESC[1mNAMEESC[0m
emerge - Command-line interface to the Portage system

ESC[1mSYNOPSISESC[0m
ESC[1memerge ESC[22m[ESC[4moptionsESC[24m] [ESC[4mactionESC[24m] [ESC[4mebuildESC[24m | ESC[4mtbz2fileESC[24m | ESC[4mfileESC[24m | ESC[4m@setESC[24m | ESC[4matomESC[24m] ...

ESC[1memerge --sync ESC[22m| ESC[1m--versionESC[0m

ESC[1memerge --info ESC[22m[ESC[4matomESC[24m]

ESC[1memerge --search ESC[4mESC[22msomestringESC[0m

ESC[1memerge --help ESC[22m[ESC[1m--verboseESC[22m]

ESC[1mDESCRIPTIONESC[0m

. . .
[/console]
и так со всеми man'ами.
Получается просматривать маны с помощью more.

Помогает env-update && source /etc/profile, но после логаута-логина man и less опять работают криво.
Делал export LESSCHARSET=koi8-r, не помогает, созданная переменная исчезает при повторном логине.

вот мой вывод locale:

text
LANG=ru_RU.utf8
LC_CTYPE="ru_RU.utf8"
LC_NUMERIC="ru_RU.utf8"
LC_TIME="ru_RU.utf8"
LC_COLLATE="ru_RU.utf8"
LC_MONETARY="ru_RU.utf8"
LC_MESSAGES="ru_RU.utf8"
LC_PAPER="ru_RU.utf8"
LC_NAME="ru_RU.utf8"
LC_ADDRESS="ru_RU.utf8"
LC_TELEPHONE="ru_RU.utf8"
LC_MEASUREMENT="ru_RU.utf8"
LC_IDENTIFICATION="ru_RU.utf8"
LC_ALL=

Читал эту http://ru.gentoo-wiki.com/wiki/HOWTO_ru_RU.utf8_Gentoo_way статью, пробовал то, что пишут, ситуация пока не улучшается.
Заранее благодарен за помощь.

#85543

Похоже на escape-последовательности. Как вернуть их в цвет - не знаю.

#86559

Но почему тогда при каждом новом логине в шелл помогает env-update && source /etc/profile ?

#86924
nohup написал:
Но почему тогда при каждом новом логине в шелл помогает env-update && source /etc/profile ?

потому-что вы неправильно логинитесь - проверьте файлы конфигурации, source /etc/profile должен запускаться автоматически (уж не знаю, через какую *** оно в gentoo прописано). Переменные окружения у вас не установлены, и этими командами вы их устанавливаете вручную.

#86956

Спасибо, как я понял, при chroot из другого дистра делать env-update && source /etc/profile обязательно, чтобы перейти в окружение gentoo.
Чтобы решить проблему с вопросительными знаками в текстовом режиме генты нужно еще копаться с конфигами локалей/keymaps/кодировок?

#87004

nohup, ну а скажем,
[console]dispatch-conf[/console]
делали? oO

#87021
nohup написал:
как я понял, при chroot из другого дистра делать env-update && source /etc/profile обязательно, чтобы перейти в окружение gentoo.

угу. с чего-бы это вдруг chroot станет менять окружение? оно просто меняет корень диска и выполняет какую-то команду (обычно /bin/sh). естественно, чуть-ли не всё окружение становится недействительным. Впрочем, чтение man chroot вам поможет (ИМХО проще нормально установить систему и не мучатся. Лично я использую chroot не чаще 2х раз в году)

#88770

Вопросы в консоли скорей всего из-за неустановленных кириллических шрифтов, если ничего не путая, то надо установить terminus-fonts и подправить какой-то конфиг... Посмотрите howto по русификации в вики.

#89768

После некоторых телодвижений у команд в выводе вроде пропали вопросительные знаки, но я смог убить конфиг манов smile и теперь они стали нечитабельны на 100%.
Также существует следующая проблема:
Гента на некоторые команды, например usermod, пишет, что команда не найдена, а при chroot в нее из другого дистра нормально отрабатывает.

#91065
nohup написал:
После некоторых телодвижений у команд в выводе вроде пропали вопросительные знаки, но я смог убить конфиг манов smile и теперь они стали нечитабельны на 100%.

man man: -C config_file
Specify the configuration file to use; the default is /usr/lib/man.conf. (See man.conf(5).)

nohup написал:
Гента на некоторые команды, например usermod, пишет, что команда не найдена, а при chroot в нее из другого дистра нормально отрабатывает.

[console]echo $PATH[/console]
разный в разных дистрах - я опять без понятия, где он у вас выставляется. Поможет заклинание
[console]grep -r "PATH=" /etc[/console]

Войдите или зарегистрируйтесь, чтобы ответить.