Легенда:
   новое сообщение
    закрытая нитка
    новое сообщение
    в закрытой нитке
    старое сообщение
         
		 | 
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
 - Новичкам также крайне полезно ознакомиться с данным документом.
   
  |   |   |   |   |   |   |   |   | 
если дургого способа нету, то этот, вроде, рабочий =)  05.01.04 01:09  Число просмотров: 2692
 Автор: fly4life <Александр Кузнецов> Статус: Elderman
 | 
 
> Если setsysfont переводит только один терминал, то самый > тупой вариант добавить ее куда нить в .loginrc или что-то > подобное. До логина все равно на экране вряд ли будет много > кириллицы 
 Если добавить в конец /etc/bashrc (просто у меня у всех пользователей в качестве рабочей оболочки стоит bash) строку /sbin/setsysfont, то при логоне обычным пользователем происходит ругань (Permission denied) и пользователь логинится, но шрифты не загружаются. Но а при логоне рутом - всё ок. Правда, при следующем логоне обычного пользователя (уже после логона рута и его выхода) в ту же консоль ругань, естесственно, остаётся, но и загруженные шрифты тоже остаются.
 
 Зато, если дописать в конец всё того же /etc/bashrc вместо /sbin/setsysfont строку /bin/setfont /lib/kbd/consolefonts/Cyr_a8x16.psfu.gz, то даже под обычным пользователем загружается нужный шрифт и никакой ругани нету =). Во как.
 
 Спасибо за идею =)
 | 
 
| 
<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? Что же меняет этот самый фрейм буфер?
 | 
 
 
  
 
 | 
 |