この前、VNC serverでXのフォントサーバを使うと云々・・・
ってのがあったので、今度は、ごく普通に、Xサーバ(Xorg)でXのフォントサーバを使ってみました。
昔聞いた、xfsを使うとメモリ使用量が減るという噂が本当なのか確認したかったのですが、やってみたところ、ほとんど変わりませんでした。あははははは
Xサーバ起動後、firefoxなどいくつかのアプリを起動した時点で、topコマンドで見た、大雑把な値。
xfsなしで300MB程度、xfsありで294MB。
もっとも、residentはずっと小さくて、それぞれ41MB、34MBでした。
その程度の差は、どうでもいいかな。
ただ、ものすごぉ~く気のせいのような気がしているのですが、xfsを使ったほうが、なんとなく、本当になんとなく、firefoxがサクサク軽く動くような気がしました。
それまで数日間立ち上げっぱなしだった環境を、一度、Xサーバを終了し、立ち上げなおしたせいで、なんかがすっきりさっぱりしただけなのかも。
☆ ☆ ☆
■ FreeBSDでxfsを使うようにする設定手順
せっかくFreeBSDでxfsを使う方法を調べたので、メモとして残しておきます。
xfsの起動スクリプトは、
/usr/X11R6/etc/rc.d/xfs.sh
になります。/etc/rc.confに
xfs_enable="YES"
を書き足します。
xfsの設定ファイルは、/usr/X11R6/lib/X11/fs/configにあります。とりあえず、こんな感じにしてみました。
% cat /usr/X11R6/lib/X11/fs/config
# font server configuration file
# $Xorg: config.cpp,v 1.3 2000/08/17 19:54:19 cpqbld Exp $
clone-self = on
use-syslog = off
catalogue = /usr/X11R6/lib/X11/fonts/misc/,/usr/X11R6/lib/X11/fonts/TTF/,/usr/X11R6/lib/X11/fonts/Type1/,/usr/X11R6/lib/X11/fonts/CID/,/usr/X11R6/lib/X11/fonts/75dpi/,/usr/X11R6/lib/X11/fonts/100dpi/,/usr/X11R6/lib/X11/fonts/bitstream-vera/,/usr/X11R6/lib/X11/fonts/cyrillic/,/usr/X11R6/lib/X11/fonts/local/
error-file = /var/log/xfs.log
# in decipoints
default-point-size = 120
default-resolutions = 75,75,100,100
configファイルを設定したあと、
# /usr/X11R6/etc/rc.d/xfs.sh start
で、すぐに、xfsを起動できます。
もっともそれだけではxfsは使われないので、xfsを利用するようにフォントパスを指定する必要があります。xset fpコマンドで指定してもいいわけですが、xorg.confで設定してもいいです。
xorg.confで書く場合は
FontPath "unix/localhost:7100"
という感じになります。そのほかのFontPathは不要なので
# FontPath "/usr/X11R6/lib/X11/fonts/misc/"
# FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
# FontPath "/usr/X11R6/lib/X11/fonts/100dpi/"
というように、#をつけてコメントアウトしてしまいます。
ただし、本当に全部コメントアウトしてしまったら、firefoxなど、TrueTypeフォントを使っていたXアプリが、
Gdk-WARNING **: Missing charsets in FontSet creation
Gdk-WARNING **: ISO8859-1
Gdk-WARNING **: JISX0208.1983-0
Gdk-WARNING **: JISX0201.1976-0
** WARNING **: Failed to open font: "-kochi-gothic-medium-r-normal-*-*-110-*-*-c-*-jisx0208.1983-0".
というようなエラーを出すようになってしまいました。なるほど、xfsって、TrueTypeフォントには対応していないのでしょうか?
そこで、とりあえず、xorg.confでこれだけは残しておきました。
FontPath "/usr/X11R6/lib/X11/fonts/TrueType/"
昔(XFree86 3.3.6くらいだったか)、X-ttとかいって、TrueType用のパッチをあてて使っていたことがありましたが、同様にxfs-ttとかいうのもありました。
Xorgの場合、なんかをconfigファイルにかけばいいだけなのかも・・・?ま、いーや。xfsを使い続けるつもりないし・・・
☆ ☆ ☆
■ xfsでTCPソケットを使わないようにする
上記のようにした場合、sockstatコマンドで調べると、こんな具合になります。
% sockstat | grep xfs
root xfs 41287 3 tcp6 *:7100 *:*
root xfs 41287 4 tcp4 *:7100 *:*
root xfs 41287 5 stream /tmp/.font-unix/fs7100
root xfs 41287 6 stream /tmp/.font-unix/fs7100
最近は、余計なネットワークポートは開くな、というのがセオリーらしいので、xfsがTCPで7100を開いているのはいやだ!と思う人もいるかもしれません。
ちゃんと、そういう使い方もできるようになっています。
とりあえずXサーバを終了。
/usr/X11R6/lib/X11/fs/configに
no-listen = tcp
を書き加えてから、xfsを再起動します。
# /usr/X11R6/etc/rc.d/xfs.sh restart
この時点でsockstatで調べてみると、
% sockstat | grep xfs
root xfs 41942 3 stream /tmp/.font-unix/fs7100
root xfs 41942 4 stream /tmp/.font-unix/fs7100
となって、UNIX domain socketしか開いていません。
そして、xorg.confでのフォントパスの指定を、
FontPath "unix/localhost:7100"
から
FontPath "unix/:7100"
に変更します。
余談。いやぁ~、xfsのマニュアルを見ても、unix/:7100という書き方はぜんぜんわかりませんでしたよ。
/のあとに何を書くのか?
:のあとに何をかくのか?って。だって、ソケットのパス名は「/tmp/.font-unix/fs7100」になってますからねぇ。個人的には謎の書式だと思うのですが。
こうやっておいてから、startxでXを起動。xset qで見ると、たとえばこんな感じ(これはTrueTypeフォントのパスを抜いてあります)。
# xset q
Keyboard Control:
auto repeat: on key click percent: 0 LED mask: 00000000
auto repeat delay: 500 repeat rate: 30
auto repeating keys: 00ffffffdffffbbf
fadfffdfffdfe5ef
ffffffffffffffff
ffffffffffffffff
bell percent: 50 bell pitch: 400 bell duration: 100
Pointer Control:
acceleration: 2/1 threshold: 4
Screen Saver:
prefer blanking: yes allow exposures: yes
timeout: 600 cycle: 600
Colors:
default colormap: 0x20 BlackPixel: 0 WhitePixel: 16777215
Font Path:
unix/:7100
Bug Mode: compatibility mode is disabled
DPMS (Energy Star):
Standby: 1200 Suspend: 1800 Off: 2400
DPMS is Enabled
Monitor is On
File paths:
Config file: /usr/X11R6/lib/X11/xorg.conf
Modules path: /usr/X11R6/lib/modules
Log file: /var/log/Xorg.0.log
「Font Path」のところに現在のフォントパス設定が表示されています。
☆
2~3日、xfsを使ってみましたが、xfs使っても使わなくても違いがわかんないので、使わないことにしちゃうかも(笑)。だってFreeBSDでは、デフォルトは使用しない、になってるし。
0 件のコメント:
コメントを投稿