free_user
написал 21 июля 2005 года в 14:45 (676 просмотров)
Ведет себя
как мужчина; открыл 16 тем в форуме, оставил 22 комментария на сайте.
Здравствуйте.
Стоит Slackware 10, с локальню KOI8-R,
при загрузке грузятся rc.keymap со строкой
loadkeys ru-ms.map
и rc.font cо стоками
setfont Cyr_a8×16
ну и так далее по примеру о русификации слаквари, что на никспе лежат
Странность: при запуске иксов (у меня x.org) — в консоли кракозябры вместо кирилицы, что бы от нее избавится приходится занова запускать rc,font
Это вот так вот из-за чего может быть??
Спасибо
Последние комментарии
-
OlegL, 17 декабря в 15:00 → Перекличка 21
-
REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
-
fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
-
Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
-
Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
![ecobeing ecobeing](/uploads/ad/image/d543f002e66d5f1767eb81016544b976336e76e5.png)
Экология и вегетарианство на благо всем живым существам Планеты.
Ну в эмуляторе консоли шрифт определяется нверно настройками в твоем оконном менеджере.
Ну а во вторых можно через меню этого эмулятора выбрать нужный шрифт.
Good luck
я не верно выразился, проблема эта возникает при переходе между консолями на которой работают иксы, и обыкновенными консолями…
т.е. загружаю консоль — со шрифтами все Ок, запускаю иксы, они грузанулись, я жму CTRL+ALT+F1 (например) — и там вмсето кирилицы крокозябли, пока снова скрипт rc.font не запустишь…
Отвечаю еще раз (уже кому-то отвечал)
Что то вроде того
consolechars Cyr_a8×16 -m koi2alt
loadkeys ru
Переключение по правому Ctrl
Эти команды должны запускаться при запуске консоли.
Пэтому можно прописать их в ~/.bashrc
Но есть одна тонкость есть консоль сама (Ctrl+Alt+F1…F6)
А есть консоль в X (konsole)
Поэтому надо эти строки записать в if, проверив переменную TERM
Вообще начин с тог, что посмотри чем отличается вывод echo $TERM в разных консолях.
Затем найди синтаксис оператора if и все сделай сам.
Опираться нужно
1. man consolechars
2. man loadkeys
3. man bash
Подкорректируй под свой случай
Удачи
Да еще вдогон
Если в системе нет chonsolechars
то тогда вместо него используй setfont
Это не поможет все нормально будет только при логине, при переключении туда сюда шрифт все равно слетает. У меня setfont, может consolechars лучше справляется с установкой щрифта?
Это не поможет все нормально будет только при логине, при переключении туда сюда шрифт все равно слетает. У меня setfont, может consolechars лучше справляется с установкой?
Нет обе команды работают одним и тем же образом.
А когда я говорил, что если нет setfont, то пробуй concolechars, это означает, что у тебя в систме установлен либо пакет kbd (команда setfont),
либо пакет consoletolls (команда consolechars).
Функциональность этих пакетов одинакова.
А у тебя наверно ничего не слетает, просто в консоли не установлен шрифт.
Тогда при входе в консоль, пробуй так
setfont Cyr_a8×16 -m koi2alt
loadkeys ru
Удачи
P.S. Да еще полазь по каталогу /usr/kbd (плюс доки почитай в /usr/share/docs/kbd), чтобы увидеть какие у тебя есть консольные шрифты, кодировки и раскладки клавиатуры.
Нет шрифт в консоли установлен — с русским все хорошо, но если я переключусь в X и обратно, то шрифт слетает — предположительно становится по-умолчанию. Есть предположение что X устанавливают свой шрифт, но где и как я не нашел.
а во всех консолях слетает? Или только в той с которой X запущен?
Ну ты попробуй в своем домашнем каталоге в файл .bashrc добавить такой скрипт
if test ¨$TERM» = linux; then
setfont Cyr_a8×16 -m koi2alt
loadkeys -q ru
fi
Далее посмотрим, что получится
X запущен через xdm, слетает во всех консолях, достаточно снова загрузить в одной и все нормально, подобный скрипт у меня прописан в /etc/profile, но он за пускается как и bashrc, только прм логине.
Что значит test ¨ ?
loadkeys -q ru — что значит -q — нет не в мане не в loadkeys --help. Хотя это не имеет значения, достаточно setfont Cyr_a8×16 -m koi2alt для востановления шрифта
Что это значит я не знаю.
Ну а если он у тебя слетает при запуске, значит ищи скрипт в файле типа .xdmrc, в котором происходит установка шрифта.
Что касается loadkeys -q ru, ну посмотри сам как работает эта команда и как работает просто loadkeys ru (q означает quiet, т.е. без вывода служебной информации).
что за версия X? Ядра?
думаю это просто двойная кавычка
Slackware 10.1 -> current, Xorg 6.8.1 -> Xorg 6.8.2, использую kernel 2.4.31. С другими ядрами тоже самое, если грабли в ядре, то все ядра которые я использовал были с ними. Скорее всего проблема в X. В slackware 9.1 ничего такого не было. Вот интересный вопрос к free_user какая у него видюха? У меня эта проблема наблюдается на ноутбуке roverbook w510, с встроеным интеловским видео.
Да какие тут грабли могут быть, где-то есть файл со скриптом, запускаемый вместе с его оконным менеджером, который и устнавливает стремный фонт и стремную раскладку клавиатуры. Вот его надо и искать.
Чуть мелочь какая-то — сразу грабли в ядре.
Нужная раскладка ведь в принципе может работать — может.
Значит нужно найти то место, где ее инициализировать, а не в ядро сразу кидаться.
Ну если б дело было в скрипте, то после запуска оконного менеджера можно было бы установить шрифт и все ok, но это не помогает, переключаемся в X и обратно (ALT+F7,CTRL+ALT+F1) и все шрифта нет. Я пытался найти скрипт с setfont, ничего не нашел. Я думаю сбрасывают его X, как с этим бороться не представляю.
То что нет файла с setfont вообще не удивительно.
Сам шрифт может вообще быть означен как некоторая переменная.
А вот при входе в консоль, выходе из нее, входе в X и сновы выходе из него совершается огромное число событий (с точки зрения компьютера), и запускаются сотни скриптов.
Да и для того чтобы изменить фонт вряд ли команда setfont единственная. Наверняка еще с десяток имеется подобных команд.
Тут я к сожалению ничего не могу подсказать.
Однако, если шрифт ты можешь установить в какой-то момент, и он работает, значит есть возможность полноценной работы с ним. И дело точно не в ядре. Ядро такими мелочами не ведает. Искать все же нужно этот скрипт (или место, где таковой отсутствует)
Да ты можешь сделать
cd /usr/src/linux
make menuconfig
и пройти по опциям ядра.
Ты точно не найдешь ничего похожего, чтобы что-то отвечало за какой-то шрифт в консоли
Sasha2:
Тут видишь странность какая, если бы шрифт слетал в одной консоли… он же слетает во всех, и я не думаю что такой скрипт можно было бы случайно присобачить к запуску X. А специально — зачем? X сервер вообще не должен интересоваться кодировкой консоли из которой он запускаеться, и уж тем более кодировками на соседних консолях. Тем более что для этого рутовские права нужны. Они есть у X сервера, но не будет он этим заниматься специально. Либо бага, либо они с ядром друг друга недопонимают, либо… x3 что там ещё может быть.
metal:
Я недопонял X.org 6.8.2? а 6.8.1 нормально работает?
Да почему нет можно, и почему обязательно ко входу, можно например и к выходу. Да к чему угодно можно.
Я вообще думаю ведь этот xdm — это какой-то убогий менеджер, ну явно не kdm и gdm.
И внешний вид у него стремный.
Там наверно и у него каки-то свои требования к шрифтам.
Вот он где-то и переставляет.
Ну нет же такгого ни в KDE ни в Gnome
У меня не xdm не меняет никаких шрифтов в консоли. И в соседних тоже.
Текущая версия Xorg 6.8.2, такая проблема была сразу после установки slackware 10.1. Насчет ядра, оно ведает драйвером консоли и всякие setfont обращаются имено к ниму, однако ядра абсолютно по-барабану и на X и на bash и на любые другие пользовательские приложения, если его просят установить шрифт для драйвера консоли оно устанавливает, так что я думаю ядро само по себе здесь ни причем. Насчет xdm, он работает только при входе и он не может влиять на что-то после него. Сегодня попробую вообще запустить X через xinit и посмотрим что получиться. Я думаю дело в X, но я не нашел никаких скриптов или еще чего нибудь которые вызывались бы при переключении консолей.
Вот интересный кусок лога:
?????????????????????(WW) Open APM failed (/dev/apm_bios) (No such device)
(II) I810(0): xf86BindGARTMemory: bind key 4 at 0×00fdf000 (pgoffset 4063)
(II) I810(0): xf86BindGARTMemory: bind key 0 at 0×07fff000 (pgoffset 32767)
(II) I810(0): xf86BindGARTMemory: bind key 1 at 0×07ffb000 (pgoffset 32763)
(II) I810(0): xf86BindGARTMemory: bind key 3 at 0×07fea000 (pgoffset 32746)
(II) I810(0): xf86BindGARTMemory: bind key 2 at 0×07ffa000 (pgoffset 32762)
(II) I810(0): Display plane A is disabled and connected to Pipe A.
(II) I810(0): Display plane B is enabled and connected to Pipe B.
(II) I810(0): Enabling plane B.
(II) I810(0): Display plane A is now disabled and connected to Pipe A.
(II) I810(0): Display plane B is now enabled and connected to Pipe B.
(II) I810(0): PIPEACONF is 0×80000000
(II) I810(0): PIPEBCONF is 0×80000000
(II) I810(0): Mode bandwidth is 61 Mpixel/s
(II) I810(0): maxBandwidth is 1440 Mbyte/s, pipe bandwidths are 316 Mbyte/s, 0 Mbyte/s
(II) I810(0): LFP compensation mode: 0×6
(II) USB Mouse: ps2EnableDataReporting: succeeded
(WW) I810(0): Setting the original video mode instead of restoring
the saved state
(WW) I810(0): Successfully set original devices
(II) I810(0): xf86UnbindGARTMemory: unbind key 4
(II) I810(0): xf86UnbindGARTMemory: unbind key 0
(II) I810(0): xf86UnbindGARTMemory: unbind key 1
(II) I810(0): xf86UnbindGARTMemory: unbind key 3
(II) I810(0): xf86UnbindGARTMemory: unbind key 2
Теперь надо понять как это лечить
framebuffer в ядре vesa, или тот , что для i810?
Для i810, но он мне не особо нужен — я его и не настраивал. Настрою или выкину из ядра; или настрою и выкину:)