リモートでMathematica使用時のフォント問題

ここでは、「リモートでMathematica使用時のフォント問題」 に関する記事を紹介しています。
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
例のFedora7, Celeron 400Mhz, 192MBなマシンで作業中, ssh -X でつないだ先のMathematicaを起動しようとしたが,

% mathematica
xset: bad font path element (#96), possible causes are:
Directory does not exist or has wrong permissions
Directory missing fonts.dir
Incorrect font server address or syntax
xset: bad font path element (#96), possible causes are:
Directory does not exist or has wrong permissions
Directory missing fonts.dir
Incorrect font server address or syntax


というエラーが出て起動しない. コマタ
(2009 8/4追記:Mathematicaのバージョンは6あたりだった、と思う。環境が変わってしまったので確認できない)

エラーメッセージでググったら,
SODANというページが見つかった. このページの検索窓に"xset"と打ち込んで検索ボタンを押すと次の記事が出てくる. 助かった. 超感謝

【日付】 06/08/02
【ホスト名】 hop wine malt
【相談内容】
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


【指導内容】
本センターフォントサーバとの接続がうまくいっていないため
本件メッセージが出力されたと考えられる。
本件は学内からMacOS X Tigerの端末エミュレータを使用し
sshポートフォワーディングで接続している。

通常アプリケーションコマンド起動時に本センターフォントサーバに
ある該当フォントをセットするように本センターでは設定しているのだが
本件ではその部分がうまくいっていないと推察される。

アプリケーション起動前にxsetコマンドを利用して
コマンドラインで直接設定を試みてもらったがそれでもフォントがうまく設定
できないと報告があった。

こちらの環境ではすべて問題なく動いているため,
フォントサーバ自体に問題があることは考えにくい。

該当ポートの開閉,ポートフォワーディングの設定,他のOSでの状況など
質問者に調査依頼したが,なぜ本件質問者環境で本センターフォントサーバに
接続できないのか今のところ原因解明には至っていない

回避策としては
WOLFRAM RESEARCH Webページで公開されているフォントを
以下のページを参考にクライアントマシンにインストールし,
Mathematica利用時にはそのフォントを利用する

http://support.wolfram.com/mathematica/systems/unix/general/fonterrors.html

本件についてはこの方法で問題が回避されたと質問者から報告を受けている
以上



リンク先には
Linuxボックスからサーバに接続してMathematica を起動させようとしているのですが,Mathematica のフォントが表示されません.どうしたらよいのでしょうか.
というピンポイントな記事があって助かった.
(2009 8/4 追記:上記URLは見られなくなっている。WebArchiveから英語版をサルベージした。I am connecting from my Linux box to the server to run Mathematica, but the Mathematica fonts are not displayed. How do I resolve this issue?)

作業の流れは,
1.使ってるマシンにMathematicaのフォントが入っているかの確認
2.なければフォントをダウンロードして所定のディレクトリにコピー
3.XサーバーにMathematicaフォントが存在する場所を知らせる

3.のやり方は三通り紹介されているが, 自分の場合は最初のやり方で無事通った.


2009 8/4追記:消えると困るので引用しておく。(これもVer6のころの対処法、だと思われる)
I am connecting from my Linux box to the server to run Mathematica, but the Mathematica fonts are not displayed. How do I resolve this issue?

When trying to ssh to the remote Linux or Unix computer from your Linux machine, you may see the following error messages, indicating that Mathematica was unable to find the proper fonts:

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

In order to resolve this issue, you will need to either install fonts on your local machine, or tell the X font server where to access them.

If you are not sure if the Mathematica fonts are installed on your machine, please run the following command in a terminal window:

xlsfonts | grep wri

If nothing is output, then the Mathematica fonts are not installed on your machine. First, we will install the fonts to the local directory. The Mathematica fonts can be downloaded from the following links:


Unix


http://support.wolfram.com/mathematica/systems/unix/general/latestfonts.html


Linux


http://support.wolfram.com/mathematica/systems/linux/general/latestfonts.html

Please unpack the fonts. Under Linux, the standard font directory is

/usr/lib/X11/fonts

You will need to create a Mathematica directory in the above the location and place the fonts here. Please note that there will be Type1 and BDF subdirectories.

/usr/lib/X11/fonts/Mathematica/Type1

/usr/lib/X11/fonts/Mathematica/BDF

In the above subdirectories, please make sure the file fonts.dir is here. If it does not exist, please create the file, as follows:

mkfontdir

There are three ways to make the fonts available on your machine. First, we can use the xset command.

The following commands will add the corresponding directories to the font path that X server uses.

xset fp+ /usr/lib/X11/fonts/Mathematica/Type1

xset fp+ /usr/lib/X11/fonts/Mathematica/BDF

Please then run the following, which will cause the X server to reread font databases.

xset fp rehash

Please note that the xset command is executed in Mathematica start-up script. However, the script fails to find fonts in the following standard location:

$InstallationDirectory/SystemFiles/Fonts/Type1

$InstallationDirectory/SystemFiles/Fonts/BDF

You can alternatively create an exact same directory structure on your local computer and place the fonts there. Even if you do not have Mathematica installed locally, they will be found and used. Here, $InstallationDirectory is the path to the directory where Mathematica is installed on the remote computer (for Mathematica version 4.2 and prior, use $TopDirectory). The default directory is:

The directory structure can be created by running the following commands:

mkdir -p ${InstallationDirectory}/SystemFiles/

scp -r user@remotemachine:${InstallationDirectory}/SystemFiles/Fonts/

${InstallationDirectory}/SystemFiles/

You can also modify the configuration file of the X server. The standard file may be /etc/X11/XF86Config, or /etc/X11/xorg.conf, depending on your X server. In this file, search for the section "Files" and go to the following lines.

RgbPath "/usr/X11R6/lib/X11/rgb"

FontPath "unix/:7100"

Add one line for each of the newly created fonts directory:

RgbPath "/usr/X11R6/lib/X11/rgb"

FontPath "/usr/lib/X11/fonts/Mathematica/Type1"

FontPath "/usr/lib/X11/fonts/Mathematica/BDF"

FontPath "unix/:7100"

Please restart the X server. Note that logging out is not sufficient as you still continue to run the same X server. To restart the X server without restarting the computer, press Ctrl-Alt-Backspace. Once the X server is restarted, you may check if the fonts are available by running the following command:

xlsfonts | grep wri

The fonts can be made available through the local X font server. In the X server configuration file, /etc/X11/XF86Config, please check for the line below:

FontPath "unix/:7100"

This line tells the X server that any additional fonts, besides those listed in other FontPath directives, can be obtained from the font server. The unix keyword specifies that connection to the font server is done using the standard Unix socket, and 7100 is the standard port.

Besides the standard xfs server, there are alternative servers like xfstt, xfs-xtt etc. You will need to check the documentation for the specific server you are using. For xfs, the configuration file is usually /etc/X11/fs/config. In the xfs config file, you will need to append the paths to each of the newly added font directories to the value assigned to the variable catalogue:

catalogue = other_font_paths

/usr/lib/X11/fonts/Mathematica/Type1

/usr/lib/X11/fonts/Mathematica/BDF

Once you have added the paths to the new fonts, you need to restart the font server. This can be done by running the script that is used to start the font server with the keyword restart, as follows:

/etc/rc.d/init.d/xfs restart

/etc/init.d/xfs restart

After the font server is restarted, the availability of fonts can be checked by running the xlsfonts command.

Instead of installing fonts on your local computer, you may use the fonts available on another computer, usually the one on which Mathematica is installed. In order to do that, repeat the steps in order to make the fonts available through a font server. You will need to also make sure that the line below is commented out in the configuration file.

# no-listen = tcp

This will make sure that the font server will accept font requests both from its local computer, and from the network. Restart the font server on the remote computer.

On your local computer, please edit the X server config file. This file can be found in one of the following locations:

/etc/X11/XF86config

/etc/X11/xorg.conf

In the section Files, in addition to the line:

FontPath "unix/:7100"

Please add another line pointing to the computer running the font server:

FontPath "192.121.1.1/:7100"

Here 192.121.1.1 must be replaced with the actual IP address of the remote computer. The port number, 7100, in the local config file must be the same as the port that the remote font server uses.




そういや, [Ctrl]+[Alt]+[Backspace] って, Xサーバの再起動だったのか.







あと、フォント関連のFAQを拾ってきた。これはVer7で使えるのか?どっかに適用可能バージョンを書いてくれると親切だと思う俺は正常。
Mathematica の起動時に出力されるxsetエラーメッセージに,どのように対処すればよいですか.
UnixとLinuxのフォント
スポンサーサイト
コメント
この記事へのコメント
コメントを投稿する
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
http://tekitobibouroku.blog42.fc2.com/tb.php/79-7d2a81de
この記事にトラックバックする(FC2ブログユーザー)
この記事へのトラックバック
管理人の承認後に表示されます
2016/12/30(金) |
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。