nixp.ru v3.0

18 января 2017,
среда,
15:09:52 MSK

DevOps с компанией «Флант»
Аватар пользователя free_user
free_user написал 21 июля 2005 года в 14:45 (326 просмотров) Ведет себя как мужчина; открыл 16 тем в форуме, оставил 22 комментария на сайте.

Здравствуйте.

Стоит Slackware 10, с локальню KOI8-R,

при загрузке грузятся rc.keymap со строкой

loadkeys ru-ms.map

и rc.font cо стоками

setfont Cyr_a8×16

ну и так далее по примеру о русификации слаквари, что на никспе лежат

Странность: при запуске иксов (у меня x.org) — в консоли кракозябры вместо кирилицы, что бы от нее избавится приходится занова запускать rc,font

Это вот так вот из-за чего может быть??

Спасибо

Sasha2

Ну в эмуляторе консоли шрифт определяется нверно настройками в твоем оконном менеджере.

Ну а во вторых можно через меню этого эмулятора выбрать нужный шрифт.

Good luck

free_user

я не верно выразился, проблема эта возникает при переходе между консолями на которой работают иксы, и обыкновенными консолями…

т.е. загружаю консоль — со шрифтами все Ок, запускаю иксы, они грузанулись, я жму CTRL+ALT+F1 (например) — и там вмсето кирилицы крокозябли, пока снова скрипт rc.font не запустишь…

Sasha2

Отвечаю еще раз (уже кому-то отвечал)

Что то вроде того

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

Подкорректируй под свой случай

Удачи

Sasha2

Да еще вдогон

Если в системе нет chonsolechars

то тогда вместо него используй setfont

metal

Это не поможет все нормально будет только при логине, при переключении туда сюда шрифт все равно слетает. У меня setfont, может consolechars лучше справляется с установкой щрифта?

metal

Это не поможет все нормально будет только при логине, при переключении туда сюда шрифт все равно слетает. У меня setfont, может consolechars лучше справляется с установкой?

Sasha2

Нет обе команды работают одним и тем же образом.

А когда я говорил, что если нет setfont, то пробуй concolechars, это означает, что у тебя в систме установлен либо пакет kbd (команда setfont),

либо пакет consoletolls (команда consolechars).

Функциональность этих пакетов одинакова.

А у тебя наверно ничего не слетает, просто в консоли не установлен шрифт.

Тогда при входе в консоль, пробуй так

setfont Cyr_a8×16 -m koi2alt

loadkeys ru

Удачи

P.S. Да еще полазь по каталогу /usr/kbd (плюс доки почитай в /usr/share/docs/kbd), чтобы увидеть какие у тебя есть консольные шрифты, кодировки и раскладки клавиатуры.

metal

Нет шрифт в консоли установлен — с русским все хорошо, но если я переключусь в X и обратно, то шрифт слетает — предположительно становится по-умолчанию. Есть предположение что X устанавливают свой шрифт, но где и как я не нашел.

rgo

а во всех консолях слетает? Или только в той с которой X запущен?

Sasha2

Ну ты попробуй в своем домашнем каталоге в файл .bashrc добавить такой скрипт

if test ¨$TERM» = linux; then

setfont Cyr_a8×16 -m koi2alt

loadkeys -q ru

fi

Далее посмотрим, что получится

metal

X запущен через xdm, слетает во всех консолях, достаточно снова загрузить в одной и все нормально, подобный скрипт у меня прописан в /etc/profile, но он за пускается как и bashrc, только прм логине.

Что значит test ¨ ?

loadkeys -q ru — что значит -q — нет не в мане не в loadkeys —help. Хотя это не имеет значения, достаточно setfont Cyr_a8×16 -m koi2alt для востановления шрифта

Sasha2

Что это значит я не знаю.

Ну а если он у тебя слетает при запуске, значит ищи скрипт в файле типа .xdmrc, в котором происходит установка шрифта.

Что касается loadkeys -q ru, ну посмотри сам как работает эта команда и как работает просто loadkeys ru (q означает quiet, т.е. без вывода служебной информации).

rgo
metal
X запущен через xdm, слетает во всех консолях, достаточно снова загрузить в одной и все нормально, подобный скрипт у меня прописан в /etc/profile, но он за пускается как и bashrc, только прм логине.

что за версия X? Ядра?

metal
Что значит test ¨ ?

думаю это просто двойная кавычка

metal

Slackware 10.1 -> current, Xorg 6.8.1 -> Xorg 6.8.2, использую kernel 2.4.31. С другими ядрами тоже самое, если грабли в ядре, то все ядра которые я использовал были с ними. Скорее всего проблема в X. В slackware 9.1 ничего такого не было. Вот интересный вопрос к free_user какая у него видюха? У меня эта проблема наблюдается на ноутбуке roverbook w510, с встроеным интеловским видео.

Sasha2

Да какие тут грабли могут быть, где-то есть файл со скриптом, запускаемый вместе с его оконным менеджером, который и устнавливает стремный фонт и стремную раскладку клавиатуры. Вот его надо и искать.

Чуть мелочь какая-то — сразу грабли в ядре.

Нужная раскладка ведь в принципе может работать — может.

Значит нужно найти то место, где ее инициализировать, а не в ядро сразу кидаться.

metal

Ну если б дело было в скрипте, то после запуска оконного менеджера можно было бы установить шрифт и все ok, но это не помогает, переключаемся в X и обратно (ALT+F7,CTRL+ALT+F1) и все шрифта нет. Я пытался найти скрипт с setfont, ничего не нашел. Я думаю сбрасывают его X, как с этим бороться не представляю.

Sasha2

То что нет файла с setfont вообще не удивительно.

Сам шрифт может вообще быть означен как некоторая переменная.

А вот при входе в консоль, выходе из нее, входе в X и сновы выходе из него совершается огромное число событий (с точки зрения компьютера), и запускаются сотни скриптов.

Да и для того чтобы изменить фонт вряд ли команда setfont единственная. Наверняка еще с десяток имеется подобных команд.

Тут я к сожалению ничего не могу подсказать.

Однако, если шрифт ты можешь установить в какой-то момент, и он работает, значит есть возможность полноценной работы с ним. И дело точно не в ядре. Ядро такими мелочами не ведает. Искать все же нужно этот скрипт (или место, где таковой отсутствует)

Sasha2

Да ты можешь сделать

cd /usr/src/linux

make menuconfig

и пройти по опциям ядра.

Ты точно не найдешь ничего похожего, чтобы что-то отвечало за какой-то шрифт в консоли

rgo

Sasha2:

Тут видишь странность какая, если бы шрифт слетал в одной консоли… он же слетает во всех, и я не думаю что такой скрипт можно было бы случайно присобачить к запуску X. А специально — зачем? X сервер вообще не должен интересоваться кодировкой консоли из которой он запускаеться, и уж тем более кодировками на соседних консолях. Тем более что для этого рутовские права нужны. Они есть у X сервера, но не будет он этим заниматься специально. Либо бага, либо они с ядром друг друга недопонимают, либо… x3 что там ещё может быть.

metal:

Я недопонял X.org 6.8.2? а 6.8.1 нормально работает?

Sasha2

Да почему нет можно, и почему обязательно ко входу, можно например и к выходу. Да к чему угодно можно.

Я вообще думаю ведь этот xdm — это какой-то убогий менеджер, ну явно не kdm и gdm.

И внешний вид у него стремный.

Там наверно и у него каки-то свои требования к шрифтам.

Вот он где-то и переставляет.

Ну нет же такгого ни в KDE ни в Gnome

rgo

У меня не xdm не меняет никаких шрифтов в консоли. И в соседних тоже.

metal

Текущая версия Xorg 6.8.2, такая проблема была сразу после установки slackware 10.1. Насчет ядра, оно ведает драйвером консоли и всякие setfont обращаются имено к ниму, однако ядра абсолютно по-барабану и на X и на bash и на любые другие пользовательские приложения, если его просят установить шрифт для драйвера консоли оно устанавливает, так что я думаю ядро само по себе здесь ни причем. Насчет xdm, он работает только при входе и он не может влиять на что-то после него. Сегодня попробую вообще запустить X через xinit и посмотрим что получиться. Я думаю дело в X, но я не нашел никаких скриптов или еще чего нибудь которые вызывались бы при переключении консолей.

metal

Вот интересный кусок лога:

?????????????????????(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

Теперь надо понять как это лечить

8084

framebuffer в ядре vesa, или тот , что для i810?

metal

Для i810, но он мне не особо нужен — я его и не настраивал. Настрою или выкину из ядра; или настрою и выкину:)

ecobeingecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.