Linuxボックスからサーバに接続してMathematica を起動させようとしているのですが,Mathematica のフォントが表示されません.どうしたらよいのでしょうか.
 LinuxのマシンからリモートのLinuxあるいはUnixコンピュータにsshしようとすると, Mathematica が適切なフォントを見付けることができないことを示す次のエラーメッセージが表示されるかもしれません. xset: bad font path element (#38), possible causes are:
Directory does not exist or has wrong permissions
Directory missing fonts.dir
Incorrect font server address or syntax
Unable to find font with family Courrier, weight Plain, slant Plain, and size 9. Substituting fixed.
The Mathematica fonts are not properly installed in your system. Without these fonts, typeset mathematical expressions cannot be displayed properly
この問題を解決するためには,お使いのローカルマシンにフォントをインストールするか,Xフォントサーバにフォントのアクセス先を指示する必要があります. お使いのマシンにMathematica フォントがインストールされているかどうかが不明の場合は,ターミナルウィンドウで次のコマンドを実行してみてください. xlsfonts | grep wri 出力に何も表示されない場合は,お使いのマシンにMathematica フォントがインストールされていないということを意味します.まずローカルディレクトリにフォントをインストールする必要があります.Mathematica フォントは以下のリンクからダウンロードすることができます. ダウンロードしたフォントを解凍してください.Linuxでは,以下が標準フォントディレクトリです. 上記のディレクトリ内に ディレクトリを作成して,フォントを入れてください.サブディレクトリがあるはずです. 上のサブディレクトリ内に fonts.dirというファイルがあることを確認してください.もしもない場合には,ファイルを次のコマンドを使って作成してください. mkfontdir お使いのマシンでフォントが使えるようにする方法は3つあります.1つ目の方法は,xsetコマンドを使う方法です. 以下のコマンドを使って,関連するディレクトリをXサーバが使用するフォントパスに加えることができます. xset fp+ /usr/lib/X11/fonts/Mathematica/Type1 xset fp+ /usr/lib/X11/fonts/Mathematica/BDF その後以下を実行してください.Xサーバがフォントのデータベースをもう一度読み取るはずです. xset fp rehash xsetコマンドはMathematica のスタートアップスクリプトで実行されます.しかし,このスクリプトは以下の標準位置にあるフォントを見付けることができません. 2つ目の方法として,全く同じディレクトリ構造をローカルコンピュータに作成して,そこにフォントを置くという方法があります.Mathematica がローカルマシンにインストールされていない場合にでもフォントを見付けて使用することができるようになります.ここで$TopDirectory はMathematica がリモートコンピュータにインストールされる場合のディレクトリへのパスです.デフォルトのディレクトリは次の通りです. ディレクトリ構造は以下のコマンドを実行して作成することができます. mkdir -p ${TopDirectory}/SystemFiles/ scp -r user@remotemachine:${TopDirectory}/SystemFiles/Fonts/ ${TopDirectory}/SystemFiles/ 3つ目の方法は,Xサーバの環境設定ファイルを変更するという方法です. お使いのXサーバによって,標準ファイルはである場合があります.このファイル内に "Files"セクションを見付けて,次の行を見付けてください. RgbPath "/usr/X11R6/lib/X11/rgb" FontPath "unix/:7100" 新しく作成されたディレクトリについてそれぞれ1行ずつ加えてください. RgbPath "/usr/X11R6/lib/X11/rgb" FontPath "/usr/lib/X11/fonts/Mathematica/Type1" FontPath "/usr/lib/X11/fonts/Mathematica/BDF" FontPath "unix/:7100" 次にXサーバを再起動させます.ログアウトするだけでは,同じXサーバを実行し続けることになるので,十分ではないことにご注意ください.コンピュータを再起動せずに Xサーバを再起動するには, Ctrl-Alt-Backspaceを押します.Xサーバが再起動されたら,次のコマンドを実行してフォントが使用できるかどうかを確認してください. xlsfonts | grep wri フォントはローカルXフォントサーバを通して使用できるようになります. Xサーバの環境設定ファイルである FontPath "unix/:7100" この行はXサーバに他の unixのキーワードは,フォントサーバへの接続が標準UNIXソケットを使ってなされることと, 7100が標準ポートであることを指定します. 標準のxfsサーバの他に, xfstt,xfs-xtt等の別のサーバもあります. お使いのサーバがどのタイプであるかについては,その特定サーバのドキュメントで確認してください.xfsでは,環境設定ファイルは通常, xfs ファイルの中に,新たに追加されたそれぞれのフォントディレクトリへのパスを変数カタログに割り当てられた値に付加する必要があります. catalogue = other_font_paths /usr/lib/X11/fonts/Mathematica/Type1 /usr/lib/X11/fonts/Mathematica/BDF 新しいフォントへのパスを追加した後,フォントサーバを再起動させてください.これは,フォントサーバをキーワードrestartを使って起動させるのに使用する下のスクリプトを実行して行うことができます. /etc/rc.d/init.d/xfs restart /etc/init.d/xfs restart フォントサーバが再起動されたら,フォントが使用できるかどうかをxlsfontsコマンドを実行することによってチェックすることができます. ローカルコンピュータにフォントをインストールする代わりに,別のコンピュータ(通常Mathematica がインストールされているコンピュータ)で使用することができるフォントを使うこともできます.このフォントを使用するためには,フォントサーバを通じてフォントが使用できるようにする手順を繰り返してください.また環境設定ファイルに次の行が記載されていることを確認してください. # no-listen = tcp このコマンドによって,フォントサーバがローカルコンピュータからでもネットワークからでもフォント要求を受けられるようにします.リモートコンピュータのフォントサーバを再起動してください. ローカルコンピュータ上で,Xサーバの環境設定ファイルを編集してください.このファイルは次のどちらかの場所にあります. Filesセクション内に,以下の行 FontPath "unix/:7100" に加えて,フォントサーバを実行しているコンピュータを指す次の1行を書き加えてください. FontPath "192.121.1.1/:7100" ここで192.121.1.1は,リモートコンピュータの実際のIPアドレスに置き換えてください.ローカルのポート番号7100は,リモートフォントサーバが使用するポートと同じものでなければなりません. Download this FAQ as a Mathematica 5.2 Notebook
Questions or comments? Send email to support@wolfram.com.
|