| 
 
 
 
 Легенда:
  новое сообщение 
  закрытая нитка 
  новое сообщение 
  в закрытой нитке 
  старое сообщение   | 
Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
Новичкам также крайне полезно ознакомиться с данным документом.
|  |  |  |  |  |  |  | уже ближе =)  04.01.04 21:18  Число просмотров: 2681 Автор: fly4life <Александр Кузнецов> Статус: Elderman
 Отредактировано 04.01.04 21:55  Количество правок: 2
 |  
| Спасибо, конечно же, за разъяснения про сервисы, но я и это знаю =). Да и проблема в моём случае не в старте сервиса. Сервис keytable запущен (ведь, если бы он не был запущен, то шрифты не загрузилиь бы даже для консоли, в которую система загружается). 
 А в скрипте /etc/rc.d/init.d/keytable действительно прописана команда /sbin/setsysfont, но т.к. у меня ядро переходит в runlevel 3, то и грузятся системные шрифты туда, куда происходит загрузка (т.е. в tty1).
 Как всё-таки в этом скрипте (или каком другом) заставить грузиться эти шрифты не только в tty1, но и вообще в tty$i?
 |  | <operating systems> |  
| [Linux] грабли с фрейм буфером  30.12.03 00:57 Автор: fly4life <Александр Кузнецов> Статус: Elderman
 |  
| Скомпилил ядро с поддержкой frame buffer'а. Выставил расширение для консоли 1024х768 и всё бы ничего, но есть один неприятный косяк =(. Русские буквы нормально отображаются только в первой консоли (той, в которую выкидывает после загрузки и которая tty1). Во всех остальных вместо русских букв отображаются квадратики. Можно ли это исправить и если да, то как?
 |  
|  |  | отлично =). И врправду, помогло. Спасибо =)  30.12.03 12:00 Автор: fly4life <Александр Кузнецов> Статус: Elderman
 |  
|  |  
|  |  |  | Ндя... Проблема оказалась гораздо шире, чем я надеялся...  31.12.03 12:29 Автор: fly4life <Александр Кузнецов> Статус: Elderman
 |  
| Куда ж теперь прописывать всё это дело (описанное в хаутушке), чтобы шрифты во всех консолях восстанавливались при загрузке системы? Беглый осмотр загрузочных скриптов мне не дал ответа =(. 
 П.С. ASPLinux 9
 |  
|  |  |  |  | /etc/sysconfig/i18n  04.01.04 09:01 Автор: amirul <Serge> Статус: The Elderman
 Отредактировано 04.01.04 09:02  Количество правок: 1
 |  
| > Куда ж теперь прописывать всё это дело (описанное в > хаутушке), чтобы шрифты во всех консолях восстанавливались
 > при загрузке системы? Беглый осмотр загрузочных скриптов
 > мне не дал ответа =(.
 Там устанавливаются три переменные. Не помню точно какие (ищи где нить в манах или в вебе), но вроде SYSFONT (та, что тебе надо), SYSFONTACM (перекодировка из ядерной кодовой таблицы в экранную) и LANG - локаль.
 
 Для большего понимания лучше смотреть /sbin/setsysfont или /bin/unicode_start (если установлена utf-8 локаль)
 |  
|  |  |  |  |  | Про /etc/sysconfig/i18n всё известно и понятно.  04.01.04 13:36 Автор: fly4life <Александр Кузнецов> Статус: Elderman
 |  
| > Там устанавливаются три переменные. Не помню точно какие > (ищи где нить в манах или в вебе), но вроде SYSFONT (та,
 > что тебе надо), SYSFONTACM (перекодировка из ядерной
 > кодовой таблицы в экранную) и LANG - локаль.
 > Для большего понимания лучше смотреть /sbin/setsysfont или
 > /bin/unicode_start (если установлена utf-8 локаль)
 
 С переменными ты не ошибся. Я знаю, что команда setsysfont включает в консоли системный шрифт, который задан в переменной SYSFONT файла /etc/sysconfig/i18n (получается аналог команды setfont /lib/kbd/consolefonts/Cyr_a8x16.psfu.gz, о которой писал ZaDNiCa). Но меня интересует, в каком скрипте загружаются эти фонты.
 
 Правда, подумывал как более изощренным (и в лоб) способом решить проблему свою. Т.е. написать скрипт, который бы присваивал консолям tty$i системные шрифты и запихать этот скрипт отдельным скриптом в автозагрузку, либо вообще приписать в конец rc.local. Но как связать эти самые tty-ки и команду setsysfont я хз =(.
 |  
|  |  |  |  |  |  | /etc/rc.d/init.d/keytable вроде  04.01.04 19:02 Автор: amirul <Serge> Статус: The Elderman
 |  
| > С переменными ты не ошибся. Я знаю, что команда setsysfont > включает в консоли системный шрифт, который задан в
 > переменной SYSFONT файла /etc/sysconfig/i18n (получается
 > аналог команды setfont
 > /lib/kbd/consolefonts/Cyr_a8x16.psfu.gz, о которой писал
 > ZaDNiCa). Но меня интересует, в каком скрипте загружаются
 > эти фонты.
 Сделай ntsysv из под root-а, чтобы посмотреть какие сервисы стартуют при загрузке. Называются /etc/rc.d/rcN.d/Sddservice_name, где N - в rcN.d - runlevel, в который переходит ядро (3 для текстового и 5 для X), S - означает, что данный сервис нужно стартовать при переходе в данный ранлевел (K - значит, что надо останавливать его при выходе из ранлевела), dd - две цифры, служат для упорядочивания старта/стопа сервисов, ну а с service_name думаю и так все понятно
 
 > Правда, подумывал как более изощренным (и в лоб) способом
 > решить проблему свою. Т.е. написать скрипт, который бы
 > присваивал консолям tty$i системные шрифты и запихать этот
 > скрипт отдельным скриптом в автозагрузку, либо вообще
 > приписать в конец rc.local. Но как связать эти самые tty-ки
 > и команду setsysfont я хз =(.
 Вот тут меня и терзают смутные сомнения. Я то рассказывал совершенно бегиннерские вещи, а ты вроде и так это знаешь. Но все равно попробуй сделать
 
 #service keytable start (или вроде того - читай ман по service :-))
 
 И вообще посмотри, включен ли у тебя сервис keytable при помощи
 
 #ntsysv
 |  
|  |  |  |  |  |  |  | уже ближе =)  04.01.04 21:18 Автор: fly4life <Александр Кузнецов> Статус: Elderman
 Отредактировано 04.01.04 21:55  Количество правок: 2
 |  
| Спасибо, конечно же, за разъяснения про сервисы, но я и это знаю =). Да и проблема в моём случае не в старте сервиса. Сервис keytable запущен (ведь, если бы он не был запущен, то шрифты не загрузилиь бы даже для консоли, в которую система загружается). 
 А в скрипте /etc/rc.d/init.d/keytable действительно прописана команда /sbin/setsysfont, но т.к. у меня ядро переходит в runlevel 3, то и грузятся системные шрифты туда, куда происходит загрузка (т.е. в tty1).
 Как всё-таки в этом скрипте (или каком другом) заставить грузиться эти шрифты не только в tty1, но и вообще в tty$i?
 |  
|  |  |  |  |  |  |  |  | Странно  05.01.04 00:04 Автор: amirul <Serge> Статус: The Elderman
 |  
| > А в скрипте /etc/rc.d/init.d/keytable действительно > прописана команда /sbin/setsysfont, но т.к. у меня ядро
 > переходит в runlevel 3, то и грузятся системные шрифты
 > туда, куда происходит загрузка (т.е. в tty1).
 У меня setsysfont переводит всю консоль (а не только виртуальные терминалы) в нужный режим (проставляет ему шрифты/таблицы перекодировки).
 
 > Как всё-таки в этом скрипте (или каком другом) заставить
 > грузиться эти шрифты не только в tty1, но и вообще в tty$i?
 Если setsysfont переводит только один терминал, то самый тупой вариант добавить ее куда нить в .loginrc или что-то подобное. До логина все равно на экране вряд ли будет много кириллицы
 |  
|  |  |  |  |  |  |  |  |  | если дургого способа нету, то этот, вроде, рабочий =)  05.01.04 01:09 Автор: fly4life <Александр Кузнецов> Статус: Elderman
 |  
| > Если setsysfont переводит только один терминал, то самый > тупой вариант добавить ее куда нить в .loginrc или что-то
 > подобное. До логина все равно на экране вряд ли будет много
 > кириллицы
 
 Если добавить в конец /etc/bashrc (просто у меня у всех пользователей в качестве рабочей оболочки стоит bash) строку /sbin/setsysfont, то при логоне обычным пользователем происходит ругань (Permission denied) и пользователь логинится, но шрифты не загружаются. Но а при логоне рутом - всё ок. Правда, при следующем логоне обычного пользователя (уже после логона рута и его выхода) в ту же консоль ругань, естесственно, остаётся, но и загруженные шрифты тоже остаются.
 
 Зато, если дописать в конец всё того же /etc/bashrc вместо /sbin/setsysfont строку /bin/setfont /lib/kbd/consolefonts/Cyr_a8x16.psfu.gz, то даже под обычным пользователем загружается нужный шрифт и никакой ругани нету =). Во как.
 
 Спасибо за идею =)
 |  
|  |  |  |  |  |  |  |  |  |  | Можно suid-нуть setsysfont  05.01.04 11:29 Автор: amirul <Serge> Статус: The Elderman
 |  
| > пользователем происходит ругань (Permission denied) и Или даже /etc/rc.d/init.d/keytable
 Думаю то что непривилегированный пользователь сможет перезагружать системные шрифты (но не редактировать их) сильно большой дырой в безопасности не будет. И в bashrc прописать
 . /etc/rc.d/init.d/keytable restart >/dev/null &2>/dev/null
 
 > Зато, если дописать в конец всё того же /etc/bashrc вместо
 > /sbin/setsysfont строку /bin/setfont
 > /lib/kbd/consolefonts/Cyr_a8x16.psfu.gz, то даже
 > под обычным пользователем загружается нужный шрифт и
 > никакой ругани нету =). Во как.
 
 > Спасибо за идею =)
 Странный у тебя все таки дистр :-)))
 |  
|  |  |  |  |  |  |  |  |  |  | зато теперь в иксовых консолях идёт ругань (putfont: PIO_FONT: Invalid argument)  =((  05.01.04 02:28 Автор: fly4life <Александр Кузнецов> Статус: Elderman
 |  
|  |  
|  |  |  |  |  |  |  |  |  |  |  | Напиши скрипт  05.01.04 11:31 Автор: amirul <Serge> Статус: The Elderman
 |  
| И если не установлен $DISPLAY, то делай setsysfont, а если установлен, то не делай :-)) 
 Епты. Какой замуженный workaround :-)
 |  
|  |  |  |  |  |  | echo -ne "\033(K" > /dev/tty$n  04.01.04 14:44 Автор: :-) <:-)> Статус: Elderman
 |  
| А разве описанная в хаутушке сия "магическая последовательность" не работает? 
 
for n in 1 2 3 4 5 6; do
	echo -ne "\033(K" > /dev/tty$n
done
 ---
 В Slackware это прописывается обычно в /etc/rc.d/rc.font
 |  
|  |  |  |  |  |  |  | echo -ne "\033(K" > /dev/tty$n.  04.01.04 15:56 Автор: fly4life <Александр Кузнецов> Статус: Elderman
 Отредактировано 04.01.04 16:09  Количество правок: 1
 |  
| > А разве описанная в хаутушке сия "магическая > последовательность" не работает?
 > > for n in 1 2 3 4 5 6; do
> 	echo -ne "\033(K" > /dev/tty$n
> done
>
 ---
 
 Нет, вот именно, что echo -ne "\033(K" не работает (я это способ попробовал самым первым, ещё до указания хаутушки), а setsysfont выручает, но в привидённом тобой примере не сработает.
 
 П.С. ещё не пойму, почему, если не выставлять в консоли никакого режима vga (попросту не использовать FB), а просто оставить консоль поумолчанию 80х25, то с русскими шрифтами всё Ok? Что же меняет этот самый фрейм буфер?
 |  
 
 
 |  |