* [devel] XFS - кому он нужен? или продожение шрифтовой темы @ 2006-03-22 13:44 Valery V. Inozemtsev 2006-03-22 14:13 ` Michael Shigorin 0 siblings, 1 reply; 12+ messages in thread From: Valery V. Inozemtsev @ 2006-03-22 13:44 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 3001 bytes --] Добрый день. В очередно раз поднялся вопрос о потере иксами сокета фонт сервера при его рестарте и в очередной раз я задумался над тем как от него отказаться с минимальными потерями. на этот раз плодотворно. На вопрос "кому он нужен" ответ однозначный - тем кто раздает шрифты с ОДНОГО сервера по сети. Вопрос второй - зачем загружать шрифты Х серверу? По большому счету незачем, те приложения которые поддерживают fontconfig прекрасно обходятся и без этого. Но пока существуют приложения не поддерживающие fontconfig, шрифты Х серверу придется загружать. Использовать для этого XFS совершенно не обязательно. Достаточно вот такого скрипта: /etc/X11/xinit.d/xfonts ------------------------------------------------------------------- #!/bin/sh XFS= if [ -r /etc/sysconfig/xfs ]; then source /etc/sysconfig/xfs case "$XFS" in yes|Yes|YES|true|True|TRUE|on|On|ON|Y|y|1) exit 0 ;; esac fi FONTPATH=`chkfontpath -l | sed -ne 's,\(.*\):\ \(.*\),\2,p'` [ -n "$FONTPATH" ] || exit 0 for F in $FONTPATH; do xset fp+ "$F" done xdpyinfo | grep -q FontCache && xset fp rehash ------------------------------------------------------------------- единственное что придется сделать - добавить один параметр в /etc/sysconfig/xfs Остается открытым вопрос как сделать так что бы шрифты были доступны приложениям не поддерживающим fontconfig сразу после установки. это тоже решается, например вот таким скриптом в %post ------------------------------------------------------------------------------ XFS= if [ -r /etc/sysconfig/xfs ]; then source /etc/sysconfig/xfs case "$XFS" in yes|Yes|YES|true|True|TRUE|on|On|ON|Y|y|1) exit 0 ;; esac fi XPID=`pidof X` FONTPATH=$1 [ -n "$FONTPATH" ] || exit 0 if [ -n "$XPID" ]; then for N in $XPID; do SERVER=`awk -F: '{print(substr($2,1,1))}' /proc/$N/cmdline` [ -n "$SERVER" ] || continue AUTH=`awk -F-auth '{print($2)}' /proc/$N/cmdline` [ -n "$AUTH" ] || continue export XAUTHORITY=$AUTH if xset q | grep -q "$FONTPATH"; then ACTION="-fp" else ACTION="fp+" fi xset -display :$SERVER $ACTION "$FONTPATH" > /dev/null 2>&1 xdpyinfo -display :$SERVER | grep -q FontCache && xset -display :$SERVER fp rehash done fi ------------------------------------------------------------------------------ хотя я не думаю что это так уж актуально Хотелось бы услышать мнение заинтересованной общественности и в дальнейшем прийти к консенсесу P.S. Для того что бы иксы не теряли сокет xfs при его рестарте по моему будет достаточно удалить 25-ю строку (rm -rf /tmp/.font-unix) в /etc/init.d/xfs -- Valery V. Inozemtsev [-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [devel] XFS - кому он нужен? или продожение шрифтовой темы 2006-03-22 13:44 [devel] XFS - кому он нужен? или продожение шрифтовой темы Valery V. Inozemtsev @ 2006-03-22 14:13 ` Michael Shigorin 2006-03-22 14:30 ` Valery V. Inozemtsev 0 siblings, 1 reply; 12+ messages in thread From: Michael Shigorin @ 2006-03-22 14:13 UTC (permalink / raw) To: ALT Devel discussion list On Wed, Mar 22, 2006 at 04:44:31PM +0300, Valery V. Inozemtsev wrote: > В очередно раз поднялся вопрос о потере иксами сокета фонт > сервера при его рестарте Есть такое. (когда не reload) > Использовать для этого XFS совершенно не обязательно. > Достаточно вот такого скрипта: /etc/X11/xinit.d/xfonts Похоже на правду. > Остается открытым вопрос как сделать так что бы шрифты были > доступны приложениям не поддерживающим fontconfig сразу после > установки. это тоже решается, например вот таким скриптом в > %post [...] хотя я не думаю что это так уж актуально *term вроде пока актуальны, а у нас не все столько за собой таскают, как xterm. aterm полегче будет. Надо, в общем. > Хотелось бы услышать мнение заинтересованной общественности и в > дальнейшем прийти к консенсесу Можешь где-нить выложить перед тем, как в сизиф плескать? В кролики пойду. > P.S. Для того что бы иксы не теряли сокет xfs при его рестарте > по моему будет достаточно удалить 25-ю строку (rm -rf > /tmp/.font-unix) в /etc/init.d/xfs Давай. -- ---- WBR, Michael Shigorin <mike@altlinux.ru> ------ Linux.Kiev http://www.linux.kiev.ua/ ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [devel] XFS - кому он нужен? или продожение шрифтовой темы 2006-03-22 14:13 ` Michael Shigorin @ 2006-03-22 14:30 ` Valery V. Inozemtsev 2006-03-22 14:39 ` Michael Shigorin 0 siblings, 1 reply; 12+ messages in thread From: Valery V. Inozemtsev @ 2006-03-22 14:30 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 2268 bytes --] В сообщении от 22 марта 2006 17:13 Michael Shigorin написал(a): > On Wed, Mar 22, 2006 at 04:44:31PM +0300, Valery V. Inozemtsev wrote: > > В очередно раз поднялся вопрос о потере иксами сокета фонт > > сервера при его рестарте > > Есть такое. (когда не reload) по reload не удаляется /tmp/.font-unix > > > Использовать для этого XFS совершенно не обязательно. > > Достаточно вот такого скрипта: /etc/X11/xinit.d/xfonts > > Похоже на правду. у меня сейчас в xorg.conf вообще нет секции Files и $ xset q ... Font Path: /usr/share/fonts/bitmap/misc/,/usr/share/fonts/bitmap/misc:unscaled,/usr/share/fonts/bitmap/100dpi:unscaled,/usr/share/fonts/bitmap/75dpi:unscaled,/usr/share/fonts/ttf/TrueType,/usr/share/fonts/type1/Type1,/usr/share/fonts/type1/urw,/usr/share/fonts/j2se-sun,/usr/share/fonts/default/TrueType-freefont,/usr/share/fonts/bitmap/terminus Bug Mode: compatibility mode is disabled DPMS (Energy Star): Standby: 180 Suspend: 240 Off: 300 DPMS is Enabled Monitor is On Font cache: hi-mark (KB): 5120 low-mark (KB): 3840 balance (%): 70 File paths: Config file: /etc/X11/xorg.conf Modules path: /usr/lib/X11/modules Log file: /var/log/Xorg.0.log > > > Остается открытым вопрос как сделать так что бы шрифты были > > доступны приложениям не поддерживающим fontconfig сразу после > > установки. это тоже решается, например вот таким скриптом в > > %post [...] хотя я не думаю что это так уж актуально > > *term вроде пока актуальны, а у нас не все столько за собой > таскают, как xterm. aterm полегче будет. Надо, в общем. во-первых, мне не хотелось бы в %post делать такой скрипт, во-вторых не так часто меняются терминальные шрифты, можно и иксы рестартануть > > > Хотелось бы услышать мнение заинтересованной общественности и в > > дальнейшем прийти к консенсесу > > Можешь где-нить выложить перед тем, как в сизиф плескать? сегодня планирую плеснуть xorg-x11-xfs с измененным инитскриптом и конфигом, но этого никто не заметит > В кролики пойду. первый кролик это я сам > > > P.S. Для того что бы иксы не теряли сокет xfs при его рестарте > > по моему будет достаточно удалить 25-ю строку (rm -rf > > /tmp/.font-unix) в /etc/init.d/xfs > > Давай. вообще я просто предлагал это проверить -- Valery V. Inozemtsev [-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [devel] XFS - кому он нужен? или продожение шрифтовой темы 2006-03-22 14:30 ` Valery V. Inozemtsev @ 2006-03-22 14:39 ` Michael Shigorin 2006-03-22 18:38 ` Valery V. Inozemtsev 0 siblings, 1 reply; 12+ messages in thread From: Michael Shigorin @ 2006-03-22 14:39 UTC (permalink / raw) To: ALT Devel discussion list On Wed, Mar 22, 2006 at 05:30:08PM +0300, Valery V. Inozemtsev wrote: > > > В очередно раз поднялся вопрос о потере иксами сокета фонт > > > сервера при его рестарте > > Есть такое. (когда не reload) > по reload не удаляется /tmp/.font-unix Дык. > > > Использовать для этого XFS совершенно не обязательно. > > > Достаточно вот такого скрипта: /etc/X11/xinit.d/xfonts > > Похоже на правду. > у меня сейчас в xorg.conf вообще нет секции Files и > $ xset q > ... > Font Path: Только тогда надо не забыть отметить данную фичу в пакетных xorg.conf и fs/config (может, и в описании xfs). > > > Остается открытым вопрос как сделать так что бы шрифты были > > > доступны приложениям не поддерживающим fontconfig сразу > > > после установки. это тоже решается, например вот таким > > > скриптом в %post [...] хотя я не думаю что это так уж > > > актуально > > *term вроде пока актуальны, а у нас не все столько за собой > > таскают, как xterm. aterm полегче будет. Надо, в общем. > во-первых, мне не хотелось бы в %post делать такой скрипт, Ну так он вообще напоминает макрос (или helper для него). > во-вторых не так часто меняются терминальные шрифты, можно и > иксы рестартануть А вот этим-то мне предложения отказаться от xfs и не нравились -- последний раз, когда наступил на подобное "не часто", было весьма неприятно рестартовывать. > > > P.S. Для того что бы иксы не теряли сокет xfs при его > > > рестарте по моему будет достаточно удалить 25-ю строку (rm > > > -rf /tmp/.font-unix) в /etc/init.d/xfs > > Давай. > вообще я просто предлагал это проверить Заремарил, поживём. -- ---- WBR, Michael Shigorin <mike@altlinux.ru> ------ Linux.Kiev http://www.linux.kiev.ua/ ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [devel] XFS - кому он нужен? или продожение шрифтовой темы 2006-03-22 14:39 ` Michael Shigorin @ 2006-03-22 18:38 ` Valery V. Inozemtsev 2006-03-22 19:35 ` Dmitry V. Levin 2006-03-22 20:09 ` Vitaly Lipatov 0 siblings, 2 replies; 12+ messages in thread From: Valery V. Inozemtsev @ 2006-03-22 18:38 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1.1: Type: text/plain, Size: 451 bytes --] > > > *term вроде пока актуальны, а у нас не все столько за собой > > > таскают, как xterm. aterm полегче будет. Надо, в общем. > > > > во-первых, мне не хотелось бы в %post делать такой скрипт, > > Ну так он вообще напоминает макрос (или helper для него). скрипт в атаче. кто нибудь, объясните в двух словах как из него сделать макрос, а то смотрю на то что у меня есть в /etc/rpm/macros.d и до конца не могу вкуриться -- Valery V. Inozemtsev [-- Attachment #1.2: fonts.sh --] [-- Type: application/x-shellscript, Size: 714 bytes --] [-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [devel] XFS - кому он нужен? или продожение шрифтовой темы 2006-03-22 18:38 ` Valery V. Inozemtsev @ 2006-03-22 19:35 ` Dmitry V. Levin 2006-03-22 20:55 ` Michael Shigorin 2006-03-24 8:20 ` Valery V. Inozemtsev 2006-03-22 20:09 ` Vitaly Lipatov 1 sibling, 2 replies; 12+ messages in thread From: Dmitry V. Levin @ 2006-03-22 19:35 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 505 bytes --] On Wed, Mar 22, 2006 at 09:38:13PM +0300, Valery V. Inozemtsev wrote: > > > > *term вроде пока актуальны, а у нас не все столько за собой > > > > таскают, как xterm. aterm полегче будет. Надо, в общем. > > > > > > во-первых, мне не хотелось бы в %post делать такой скрипт, > > > > Ну так он вообще напоминает макрос (или helper для него). > > скрипт в атаче. кто нибудь, объясните в двух словах как из него сделать > макрос, Записать скрипт в файл и в макросе вызывать его. -- ldv [-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [devel] XFS - кому он нужен? или продожение шрифтовой темы 2006-03-22 19:35 ` Dmitry V. Levin @ 2006-03-22 20:55 ` Michael Shigorin 2006-03-24 8:20 ` Valery V. Inozemtsev 1 sibling, 0 replies; 12+ messages in thread From: Michael Shigorin @ 2006-03-22 20:55 UTC (permalink / raw) To: ALT Devel discussion list On Wed, Mar 22, 2006 at 10:35:06PM +0300, Dmitry V. Levin wrote: > > > > во-первых, мне не хотелось бы в %post делать такой скрипт, > > > Ну так он вообще напоминает макрос (или helper для него). ^^^^^^ > > скрипт в атаче. кто нибудь, объясните в двух словах как из > > него сделать макрос, > Записать скрипт в файл и в макросе вызывать его. Что и предлагалось. -- ---- WBR, Michael Shigorin <mike@altlinux.ru> ------ Linux.Kiev http://www.linux.kiev.ua/ ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [devel] XFS - кому он нужен? или продожение шрифтовой темы 2006-03-22 19:35 ` Dmitry V. Levin 2006-03-22 20:55 ` Michael Shigorin @ 2006-03-24 8:20 ` Valery V. Inozemtsev 2006-03-24 9:58 ` Sergey Vlasov 1 sibling, 1 reply; 12+ messages in thread From: Valery V. Inozemtsev @ 2006-03-24 8:20 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1.1: Type: text/plain, Size: 675 bytes --] В сообщении от 22 марта 2006 22:35 Dmitry V. Levin написал(a): > On Wed, Mar 22, 2006 at 09:38:13PM +0300, Valery V. Inozemtsev wrote: > > > > > *term вроде пока актуальны, а у нас не все столько за собой > > > > > таскают, как xterm. aterm полегче будет. Надо, в общем. > > > > > > > > во-первых, мне не хотелось бы в %post делать такой скрипт, > > > > > > Ну так он вообще напоминает макрос (или helper для него). > > > > скрипт в атаче. кто нибудь, объясните в двух словах как из него сделать > > макрос, > > Записать скрипт в файл и в макросе вызывать его. в атаче файлы с макросами и с хелпером к нему, исправления/добвления приветствуются -- Valery V. Inozemtsev [-- Attachment #1.2: xfont --] [-- Type: text/plain, Size: 851 bytes --] %_fontsdir %_datadir/fonts %_bitmapfontsdir %_fontsdir/bitmap %_type1fontsdir %_fontsdir/type1 %_ttffontsdir %_fontsdir/ttf %_otffontsdir %_fontsdir/otf %_speedofontsdir %_fontsdir/speedo %add_bitmapfont_path() %_bindir/mkfontdir %1; \ %_bindir/fc-cache %1; \ %prefix/lib/rpm/xfontpath.sh -a %1 \ %add_type1font_path() %_bindir/mkfontscale %1; \ %_bindir/mkfontdir %1; \ %_bindir/fc-cache %1; \ %prefix/lib/rpm/xfontpath.sh -a %1 %add_ttffont_path() %_sbindir/ttmkfdir -d %1 -o %1/fonts.dir 2>/dev/null; \ %_sbindir/ttmkfdir -d %1 -o %1/fonts.scale 2>/dev/null; \ %_bindir/fc-cache %1; \ %prefix/lib/rpm/xfontpath.sh -a %1 %add_otffont_path() %add_ttffont_path %add_bitmapfont_path_first() %_bindir/mkfontdir %1; \ %_bindir/fc-cache %1; \ %prefix/lib/rpm/xfontpath.sh -fa %1 %remove_font_path() %prefix/lib/rpm/xfontpath.sh -r %1 [-- Attachment #1.3: xfontpath.sh --] [-- Type: application/x-shellscript, Size: 1710 bytes --] [-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [devel] XFS - кому он нужен? или продожение шрифтовой темы 2006-03-24 8:20 ` Valery V. Inozemtsev @ 2006-03-24 9:58 ` Sergey Vlasov 2006-03-24 10:35 ` Valery V. Inozemtsev 0 siblings, 1 reply; 12+ messages in thread From: Sergey Vlasov @ 2006-03-24 9:58 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 4331 bytes --] On Fri, Mar 24, 2006 at 11:20:12AM +0300, Valery V. Inozemtsev wrote: > В сообщении от 22 марта 2006 22:35 Dmitry V. Levin написал(a): > > On Wed, Mar 22, 2006 at 09:38:13PM +0300, Valery V. Inozemtsev wrote: > > > > > > *term вроде пока актуальны, а у нас не все столько за собой > > > > > > таскают, как xterm. aterm полегче будет. Надо, в общем. > > > > > > > > > > во-первых, мне не хотелось бы в %post делать такой скрипт, > > > > > > > > Ну так он вообще напоминает макрос (или helper для него). > > > > > > скрипт в атаче. кто нибудь, объясните в двух словах как из него сделать > > > макрос, > > > > Записать скрипт в файл и в макросе вызывать его. > > в атаче файлы с макросами и с хелпером к нему, исправления/добвления > приветствуются > > -- > Valery V. Inozemtsev > %_fontsdir %_datadir/fonts > > %_bitmapfontsdir %_fontsdir/bitmap > %_type1fontsdir %_fontsdir/type1 > %_ttffontsdir %_fontsdir/ttf > %_otffontsdir %_fontsdir/otf > %_speedofontsdir %_fontsdir/speedo > > %add_bitmapfont_path() %_bindir/mkfontdir %1; \ > %_bindir/fc-cache %1; \ > %prefix/lib/rpm/xfontpath.sh -a %1 \ ';' здесь писать не нужно - '\' после обработки макросов превратится в конец строки, который потом и попадёт в shell. Кроме того, не лучше ли будет засунуть все эти команды в скрипт, добавив к нему опции, указывающие тип шрифта? И стоит ли экономить '_' - не лучше ли назвать этот макрос %add_bitmap_font_path ? > %add_type1font_path() %_bindir/mkfontscale %1; \ > %_bindir/mkfontdir %1; \ > %_bindir/fc-cache %1; \ > %prefix/lib/rpm/xfontpath.sh -a %1 > > %add_ttffont_path() %_sbindir/ttmkfdir -d %1 -o %1/fonts.dir 2>/dev/null; \ > %_sbindir/ttmkfdir -d %1 -o %1/fonts.scale 2>/dev/null; \ > %_bindir/fc-cache %1; \ > %prefix/lib/rpm/xfontpath.sh -a %1 А что мешает здесь сначала сгенерировать fonts.scale с помощью ttmkfdir, а потом, как и в других случаях, вызвать mkfontdir? > %add_otffont_path() %add_ttffont_path > > %add_bitmapfont_path_first() %_bindir/mkfontdir %1; \ > %_bindir/fc-cache %1; \ > %prefix/lib/rpm/xfontpath.sh -fa %1 > > %remove_font_path() %prefix/lib/rpm/xfontpath.sh -r %1 > #!/bin/sh > > PROG="${0##*/}" > > XFS= > USEXFS=0 > XSET= > ADD=0 > FONTPATH= > CHKFONTPATH= > > Usage() > { > [ "$1" = 0 ] || exec >&2 > cat <<EOF > Usage: $PROG option[s] directory > > Valid options are: > -a, --add=DIRECTORY Add directory to font path > -r, --remove=DIRECTORY Remove directory from font path Именно так - с параметром? Или всё-таки --add или --remove для задания режима работы, а каталог отдельно? > -f, --first Make --add to put the directory first (not last) > in the path > EOF > > [ -n "$1" ] && exit "$1" || exit > } > > [ -n "$*" ] || Usage > > TEMP=`getopt -n "$PROG" -o a:r:f -l add:,remove:,first -- "$@"` || Usage > eval set -- "$TEMP" > > if [ -r /etc/sysconfig/xfs ]; then > source /etc/sysconfig/xfs > case "$XFS" in > yes|Yes|YES|true|True|TRUE|on|On|ON|Y|y|1) > USEXFS=1 > ;; > esac > fi > > while :; do > case "$1" in > -a|--add) > shift > [ -n "$XSET" ] || XSET="fp+" > ADD=1 > [ -n "$CHKFONTPATH" ] || CHKFONTPATH="-q -a" > FONTPATH="$1" > shift > ;; > -r|--remove) > shift > XSET="-fp" > ADD=0 > CHKFONTPATH="-q -r" > FONTPATH="$1" > shift > ;; > -f|--first) > XSET="+fp" > ADD=1 > CHKFONTPATH="-q -fa" > shift > ;; > --) > shift > break > ;; > esac > done > > eval /usr/sbin/chkfontpath "$CHKFONTPATH" "$FONTPATH" >/dev/null 2>&1 > > if [ "$USEXFS" = 0 ]; then > XPID=`pidof X` > if [ -n "$XPID" ]; then > for n in $XPID; do > SERVER=`awk -F: '{print(substr($2,1,1))}' /proc/$n/cmdline` > [ -n "$SERVER" ] || continue > AUTH=`awk -F-auth '{print($2)}' /proc/$n/cmdline` > [ -r "$AUTH" ] || continue > export XAUTHORITY="$AUTH" > FP=`xset -display :"$SERVER" q | grep -q "$FONTPATH"; echo $?` > if [ "$FP" = 1 -o "$ADD" = 0 ]; then > xset -display :"$SERVER" "$XSET" "$FONTPATH" > /dev/null 2>&1 > fi > xdpyinfo -display :"$SERVER" | grep -q FontCache && > xset -display :"$SERVER" fp rehash > done > fi > fi Выглядит как набор кривых хаков :( [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [devel] XFS - кому он нужен? или продожение шрифтовой темы 2006-03-24 9:58 ` Sergey Vlasov @ 2006-03-24 10:35 ` Valery V. Inozemtsev 2006-03-24 11:20 ` Sergey Vlasov 0 siblings, 1 reply; 12+ messages in thread From: Valery V. Inozemtsev @ 2006-03-24 10:35 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 3335 bytes --] > > %add_bitmapfont_path() %_bindir/mkfontdir %1; \ > > %_bindir/fc-cache %1; \ > > %prefix/lib/rpm/xfontpath.sh -a %1 \ > > ';' здесь писать не нужно - '\' после обработки макросов превратится в > конец строки, который потом и попадёт в shell. угу, исправлю > > Кроме того, не лучше ли будет засунуть все эти команды в скрипт, добавив к > нему опции, указывающие тип шрифта? да, надо подумать > > И стоит ли экономить '_' - не лучше ли назвать этот макрос > %add_bitmap_font_path ? думаю не стоит, исправлю > > %add_ttffont_path() %_sbindir/ttmkfdir -d %1 -o %1/fonts.dir 2>/dev/null; > > \ %_sbindir/ttmkfdir -d %1 -o %1/fonts.scale 2>/dev/null; \ > > %_bindir/fc-cache %1; \ > > %prefix/lib/rpm/xfontpath.sh -a %1 > > А что мешает здесь сначала сгенерировать fonts.scale с помощью ttmkfdir, а > потом, как и в других случаях, вызвать mkfontdir? тоже верно, исправлю > > #!/bin/sh > > > > PROG="${0##*/}" > > > > XFS= > > USEXFS=0 > > XSET= > > ADD=0 > > FONTPATH= > > CHKFONTPATH= > > > > Usage() > > { > > [ "$1" = 0 ] || exec >&2 > > cat <<EOF > > Usage: $PROG option[s] directory > > > > Valid options are: > > -a, --add=DIRECTORY Add directory to font path > > -r, --remove=DIRECTORY Remove directory from font path > > Именно так - с параметром? Или всё-таки --add или --remove для задания > режима работы, а каталог отдельно? не думаю что это принципиально > > > -f, --first Make --add to put the directory first (not last) > > in the path > > EOF > > > > [ -n "$1" ] && exit "$1" || exit > > } > > > > [ -n "$*" ] || Usage > > > > TEMP=`getopt -n "$PROG" -o a:r:f -l add:,remove:,first -- "$@"` || Usage > > eval set -- "$TEMP" > > > > if [ -r /etc/sysconfig/xfs ]; then > > source /etc/sysconfig/xfs > > case "$XFS" in > > yes|Yes|YES|true|True|TRUE|on|On|ON|Y|y|1) > > USEXFS=1 > > ;; > > esac > > fi > > > > while :; do > > case "$1" in > > -a|--add) > > shift > > [ -n "$XSET" ] || XSET="fp+" > > ADD=1 > > [ -n "$CHKFONTPATH" ] || CHKFONTPATH="-q -a" > > FONTPATH="$1" > > shift > > ;; > > -r|--remove) > > shift > > XSET="-fp" > > ADD=0 > > CHKFONTPATH="-q -r" > > FONTPATH="$1" > > shift > > ;; > > -f|--first) > > XSET="+fp" > > ADD=1 > > CHKFONTPATH="-q -fa" > > shift > > ;; > > --) > > shift > > break > > ;; > > esac > > done > > > > eval /usr/sbin/chkfontpath "$CHKFONTPATH" "$FONTPATH" >/dev/null 2>&1 > > > > if [ "$USEXFS" = 0 ]; then > > XPID=`pidof X` > > if [ -n "$XPID" ]; then > > for n in $XPID; do > > SERVER=`awk -F: '{print(substr($2,1,1))}' /proc/$n/cmdline` > > [ -n "$SERVER" ] || continue > > AUTH=`awk -F-auth '{print($2)}' /proc/$n/cmdline` > > [ -r "$AUTH" ] || continue > > export XAUTHORITY="$AUTH" > > FP=`xset -display :"$SERVER" q | grep -q "$FONTPATH"; echo $?` > > if [ "$FP" = 1 -o "$ADD" = 0 ]; then > > xset -display :"$SERVER" "$XSET" "$FONTPATH" > /dev/null 2>&1 > > fi > > xdpyinfo -display :"$SERVER" | grep -q FontCache && > > xset -display :"$SERVER" fp rehash > > done > > fi > > fi > > Выглядит как набор кривых хаков :( мне оно тоже не нравится, поэтому я и предлагал не заморачиваться с доступностью шрифтов скразу после установки в прогах не поддерживающих fontconfig. однако оно работает -- Valery V. Inozemtsev [-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [devel] XFS - кому он нужен? или продожение шрифтовой темы 2006-03-24 10:35 ` Valery V. Inozemtsev @ 2006-03-24 11:20 ` Sergey Vlasov 0 siblings, 0 replies; 12+ messages in thread From: Sergey Vlasov @ 2006-03-24 11:20 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 3139 bytes --] On Fri, Mar 24, 2006 at 01:35:58PM +0300, Valery V. Inozemtsev wrote: > > > #!/bin/sh > > > > > > PROG="${0##*/}" > > > > > > XFS= > > > USEXFS=0 > > > XSET= > > > ADD=0 > > > FONTPATH= > > > CHKFONTPATH= > > > > > > Usage() > > > { > > > [ "$1" = 0 ] || exec >&2 > > > cat <<EOF > > > Usage: $PROG option[s] directory > > > > > > Valid options are: > > > -a, --add=DIRECTORY Add directory to font path > > > -r, --remove=DIRECTORY Remove directory from font path > > > > Именно так - с параметром? Или всё-таки --add или --remove для задания > > режима работы, а каталог отдельно? > > не думаю что это принципиально Тогда Usage неправильный - каталог не указывается как отдельный параметр. Ну и можно придраться к отсутствию обработки ситуации, когда опция --add или --remove (или вообще обе) присутствует в командной строке несколько раз. > > > -f, --first Make --add to put the directory first (not last) > > > in the path > > > EOF > > > > > > [ -n "$1" ] && exit "$1" || exit > > > } > > > > > > [ -n "$*" ] || Usage > > > > > > TEMP=`getopt -n "$PROG" -o a:r:f -l add:,remove:,first -- "$@"` || Usage > > > eval set -- "$TEMP" > > > > > > if [ -r /etc/sysconfig/xfs ]; then > > > source /etc/sysconfig/xfs > > > case "$XFS" in > > > yes|Yes|YES|true|True|TRUE|on|On|ON|Y|y|1) > > > USEXFS=1 > > > ;; > > > esac > > > fi > > > > > > while :; do > > > case "$1" in > > > -a|--add) > > > shift > > > [ -n "$XSET" ] || XSET="fp+" > > > ADD=1 > > > [ -n "$CHKFONTPATH" ] || CHKFONTPATH="-q -a" > > > FONTPATH="$1" > > > shift > > > ;; > > > -r|--remove) > > > shift > > > XSET="-fp" > > > ADD=0 > > > CHKFONTPATH="-q -r" > > > FONTPATH="$1" > > > shift > > > ;; > > > -f|--first) > > > XSET="+fp" > > > ADD=1 > > > CHKFONTPATH="-q -fa" > > > shift > > > ;; > > > --) > > > shift > > > break > > > ;; > > > esac > > > done > > > > > > eval /usr/sbin/chkfontpath "$CHKFONTPATH" "$FONTPATH" >/dev/null 2>&1 > > > > > > if [ "$USEXFS" = 0 ]; then > > > XPID=`pidof X` > > > if [ -n "$XPID" ]; then > > > for n in $XPID; do > > > SERVER=`awk -F: '{print(substr($2,1,1))}' /proc/$n/cmdline` > > > [ -n "$SERVER" ] || continue > > > AUTH=`awk -F-auth '{print($2)}' /proc/$n/cmdline` > > > [ -r "$AUTH" ] || continue > > > export XAUTHORITY="$AUTH" > > > FP=`xset -display :"$SERVER" q | grep -q "$FONTPATH"; echo $?` > > > if [ "$FP" = 1 -o "$ADD" = 0 ]; then > > > xset -display :"$SERVER" "$XSET" "$FONTPATH" > /dev/null 2>&1 > > > fi > > > xdpyinfo -display :"$SERVER" | grep -q FontCache && > > > xset -display :"$SERVER" fp rehash > > > done > > > fi > > > fi > > > > Выглядит как набор кривых хаков :( > > мне оно тоже не нравится, поэтому я и предлагал не заморачиваться с > доступностью шрифтов скразу после установки в прогах не поддерживающих > fontconfig. однако оно работает Надо будет придумать, как сделать при запуске X что-нибудь такое, чтобы это работать перестало ;) [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [devel] XFS - кому он нужен? или продожение шрифтовой темы 2006-03-22 18:38 ` Valery V. Inozemtsev 2006-03-22 19:35 ` Dmitry V. Levin @ 2006-03-22 20:09 ` Vitaly Lipatov 1 sibling, 0 replies; 12+ messages in thread From: Vitaly Lipatov @ 2006-03-22 20:09 UTC (permalink / raw) To: ALT Devel discussion list On Wednesday 22 March 2006 21:38, Valery V. Inozemtsev wrote: > > > > *term вроде пока актуальны, а у нас не все столько за > > > > собой таскают, как xterm. aterm полегче будет. Надо, в > > > > общем. > > > > > > во-первых, мне не хотелось бы в %post делать такой скрипт, > > > > Ну так он вообще напоминает макрос (или helper для него). > > скрипт в атаче. кто нибудь, объясните в двух словах как из > него сделать макрос, а то смотрю на то что у меня есть в > /etc/rpm/macros.d и до конца не могу вкуриться Я бы не хотел чтобы это него сделали макрос. Скорее назвать осмысленно и вызывать из макроса. -- Lav Виталий Липатов Санкт-Петербург GNU! ALT Linux Team! WINE! LaTeX! LyX! http://freesource.info ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2006-03-24 11:20 UTC | newest] Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2006-03-22 13:44 [devel] XFS - кому он нужен? или продожение шрифтовой темы Valery V. Inozemtsev 2006-03-22 14:13 ` Michael Shigorin 2006-03-22 14:30 ` Valery V. Inozemtsev 2006-03-22 14:39 ` Michael Shigorin 2006-03-22 18:38 ` Valery V. Inozemtsev 2006-03-22 19:35 ` Dmitry V. Levin 2006-03-22 20:55 ` Michael Shigorin 2006-03-24 8:20 ` Valery V. Inozemtsev 2006-03-24 9:58 ` Sergey Vlasov 2006-03-24 10:35 ` Valery V. Inozemtsev 2006-03-24 11:20 ` Sergey Vlasov 2006-03-22 20:09 ` Vitaly Lipatov
ALT Linux Team development discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \ devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru public-inbox-index devel Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git