[devel] XFS - кому он нужен? или продожение шрифтовой темы
Valery V. Inozemtsev
=?iso-8859-1?q?shrek_=CE=C1_freesource=2Einfo?=
Ср Мар 22 16:44:31 MSK 2006
Добрый день.
В очередно раз поднялся вопрос о потере иксами сокета фонт сервера при его
рестарте и в очередной раз я задумался над тем как от него отказаться с
минимальными потерями. на этот раз плодотворно.
На вопрос "кому он нужен" ответ однозначный - тем кто раздает шрифты с ОДНОГО
сервера по сети.
Вопрос второй - зачем загружать шрифты Х серверу? По большому счету незачем,
те приложения которые поддерживают 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
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 191 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20060322/dcd5c22d/attachment-0001.bin>
Подробная информация о списке рассылки Devel