---------------------- Xウインドウ上にalphaにあるmathematicaの画面を取り込んで 利用する方法 ---------------------- 通常はX11が動いているクライアント(私の場合Shiba2)から xhosts +Alpha.me.kochi-ct.ac.jp あるいは xhosts + #こちらはあらゆるXサーバからの書き込みを許可 を実行してからサーバマシンにtelnetでloginして mathematica -display Shiba2:0.0& の様に実行すればよい #クライアントマシンがShiba2の時 ところがDEC Alpha にインストールしたmathematicaを 上記手法によって起動すると,フォントが無い旨の ワーニングが出て,それでもなんとか起動はしてくれて 画面表示もされるが,記号パレットが一部分しか表示されない キー入力が一部不具合を生じる #[]がうまく認識されないのが致命的 などの問題が生じた そこで以下のような手続きを行い,問題を解決した ---------------------- ---------------------- まず起動スクリプトの確認(どこでワーニングが出るのか調査) DEC Alpha上のmathematicaの起動スクリプト ---------------------- /usr/local/bin/mathematica ---------------------- #!/bin/sh # # Mathematica 3.0.2 command file # # Copyright 1988 - 1997 Wolfram Research, Inc. # topdir=/usr/local/mathematica sysid=DEC-AXP #ファイルサーチパス設定 PATH=$topdir/Executables/$sysid:$PATH export PATH XUSERFILESEARCHPATH=$topdir/SystemFiles/FrontEnd/SystemResources/X/%N export XUSERFILESEARCHPATH #現在利用可能なフォントを調べて,その中に必要なフォントが #含まれているかどうかをチェック.必要なフォントは-wriの形式 havefonts=`xlsfonts -fn '-wri-*-*-*-*-*-*-*-*-*-*-*-*-*' 2>&1 | grep -c "wri"` #必要なフォントが足りなかったら追加作業を行う #フォントの種類はType1,PCF,それ以外にATM,Xがある font=$topdir/SystemFiles/Fonts/Type1 #変数fontに入れたフォント格納ディレクトリを #フォントサーチパスに追加する [ $havefonts -lt 2 ] && xset fp+ $font font=$topdir/SystemFiles/Fonts/PCF [ $havefonts -lt 2 ] && xset fp+ $font #追加したフォント情報を有効にするために #フォントデータベースを更新 xset fp rehash bindir=$topdir/SystemFiles/FrontEnd/Binaries/$sysid if [ ! -f $bindir/Mathematica ] ; then echo "Mathematica front end executable" echo "$bindir/Mathematica" echo "not found. Your Mathematica installation may be incomplete" echo "or corrupted." exit fi #mathematicaの実体であるMathematicaを起動 exec $bindir/Mathematica -topDirectory $topdir "$@" ---------------------- ワーニングはフォントの確認と追加の部分で出ていた ---------------------- Alphaのフォント格納ディレクトリ /usr/local/mathematica/SystemFiles/Fonts alpha.me.kochi-ct.ac.jp:xtest: ls AFM PCF Type1 X ---------------------- alpha.me.kochi-ct.ac.jp:xtest: ls X Math1-Bold.10.bdf Math1-Bold.11.bdf Math1-Bold.12.bdf Math1-Bold.13.bdf : : Math5Mono.9.bdf fonts.dir helvR.9.bdf ---------------------- FreeBSDのXF86(X11)ウインドウシステムにalphaにある X用フォントをShiba2に転送して追加してみる. ただしフォントはbdf形式(Bitmap Distribution Format) で配布されていることが多いので,そのままでは使えない. pcf形式(Portable Compiled Format)に変換する必要がある. ○秀和システム刊ここまでできるFreeBSD ○SOFTBANKS刊Linux/FreeBSD日本語環境の構築と活用P.58に記述あり ---------------------- ---------------------- 形式変換のためにはFreeBSDに標準添付されたbdftopcfを 使うが,すべてのフォント名に対してコマンドラインを 書くのが大変なので,コマンドライン書き出し用のperl スクリプトを書いた.以下 ---------------------- #!/usr/bin/perl while(<>){ @filename=split(/bdf/,$_); print "bdftopcf @filename[0]bdf > @filename[0]pcf\n" } ---------------------- フォントを入れてあったディレクトリには以下のような ファイルが入っていた.これはフォント名をX用に正確に記述 した一覧表のようなものだと思う. ---------------------- % more fonts.dir 301 Math2-Bold.18.bdf -wri-math2-bold-r-normal--18-180-75-75-p-110-adobe-fontspecific Math1Mono-Bold.8.bdf -wri-math1mono-bold-r-normal--8-80-75-75-m-50-adobe-fontspec ific : : Math5-Bold.15.bdf -wri-math5-bold-r-normal--15-150-75-75-p-80-adobe-fontspecific ---------------------- 以上のファイル形式変換したフォントをクライアントマシン(Shiba2) のXF86のフォントディレクトリ /usr/X11R6/lib/X11/fonts/miscにコピーして(root権限) 以下の作業を行ないフォントの組み込みを行なう ** 今回はXディレクトリのフォントのみを組み込んだが これ以外のType1フォントなども組み込んだ方が良いかもしれない ** ちなみに現在のフォントサーチパスを知りたければ xset q を実行して,これのFont Path:以降を見るべし ---------------------- font.dirの内容を自動更新するためのコマンド %mkfontdir /usr/X11R6/lib/X11/fonts/misc/ %xset fp rehash ---------------------- フォントが追加されたかどうか確認 /usr/X11R6/lib/X11/fonts/misc %more fonts.dir 373 6x12.pcf.Z -misc-fixed-medium-r-semicondensed--12-110-75-75-c-60-iso646.1991-irv : : Math2-Bold.18.pcf -wri-math2-bold-r-normal--18-180-75-75-p-110-adobe-fontspecifi c Math5Mono-Bold.8.pcf -wri-math5mono-bold-r-normal--8-80-75-75-m-40-adobe-fontspe cific : Math1-Bold.15.pcf -wri-math1-bold-r-normal--15-150-75-75-p-90-adobe-fontspecific ---------------------- Xウインドウでのフォントの確認 %xfontsel を実行するとGUI環境でフォントの選択と表示ができる ----------------------