andLinuxで、フォントサーバを使用してemacsのフォントを表示する

のように私も設定したく思いやり始めたけど思いのほか苦戦したのでメモ。

結論から言うとandLinuxインストール時に同時にインストールされるXming.exeだけだとどうしても、フォントサーバに触れなかった。そこで、Xlaunch_jp.exeを使うことにした。

まずは、andLinux上でフォントサーバの準備。andLinuxの日本語化を終えているので、ipafontやttf-sazanamiを新しく入れる必要性はない。ただし、/var/lib/defoma/x-ttcidfont-conf.dが存在していないのでx-ttcidfont-confをインストールする。

% sudo aptitude install xfs
% sudo aptitude install x-ttcidfont-conf

次に、/etc/X11/fs/configを編集。

% cd /etc/X11/fs/config
% sudo cp -p config config.org
% sudo vi config

編集内容は下記のとおり。

/etc/X11/fs% diff config.org config
13c13
< no-listen = tcp
---
> #no-listen = tcp
15c15
< catalogue = /usr/share/fonts/X11/misc/,/usr/share/fonts/X11/cyrillic/,/usr/share/fonts/X11/100dpi/:unscaled,/usr/share/fonts/X11/75dpi/:unscaled,/usr/share/fonts/X11/Type1/,/usr/share/fonts/X11/100dpi/,/usr/share/fonts/X11/75dpi/
---
> catalogue = /usr/share/fonts/X11/misc/,/usr/share/fonts/X11/cyrillic/,/usr/share/fonts/X11/100dpi/:unscaled,/usr/share/fonts/X11/75dpi/:unscaled,/usr/share/fonts/X11/Type1/,/usr/share/fonts/X11/100dpi/,/usr/share/fonts/X11/75dpi/,/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType

フォントサーバを再起動。

% sudo /etc/init.d/xfs restart

次は、Xmingを立ち上げるときにフォントサーバを見るように「-fp 192.168.200.150:7100」をオプションに加えればよいはずなのだけど、どうしてだかうまくいかない。Xming.logはこんな感じでフリーズ。

Welcome to the Xming X Server
Vendor: Colin Harrison
Release: 6.9.0.31
FreeType2: 2.3.4
Contact: http://sourceforge.net/forum/?group_id=156984

Xming\Xming.exe :0 -clipboard -multiwindow -logfile Xming.log -fp
tcp/192.168.200.150:7100

XdmcpRegisterConnection: newAddress 10.0.2.32
(++) FontPath set to "tcp/192.168.200.150:7100"
winAdjustVideoModeShadowGDI - Using Windows display depth of 32 bits per pixel
winAllocateFBShadowGDI - Creating DIB with width: 1024 height: 768 depth: 32
winInitVisualsShadowGDI - Masks 00ff0000 0000ff00 000000ff BPRGB 8 d 24 bpp 32
glWinInitVisuals:1596: glWinInitVisuals
glWinInitVisualConfigs:1503: glWinInitVisualConfigs glWinSetVisualConfigs:1581: glWinSetVisualConfigs
init_visuals:1055: init_visuals
null screen fn ReparentWindow
null screen fn RestackWindow
InitQueue - Calling pthread_mutex_init
InitQueue - pthread_mutex_init returned
InitQueue - Calling pthread_cond_init
InitQueue - pthread_cond_init returned
winInitMultiWindowWM - Hello
winInitMultiWindowWM - Calling pthread_mutex_lock ()
winMultiWindowXMsgProc - Hello
winMultiWindowXMsgProc - Calling pthread_mutex_lock ()
glWinScreenProbe:1390: glWinScreenProbe
fixup_visuals:1303: fixup_visuals
init_screen_visuals:1336: init_screen_visuals
(--) 5 mouse buttons found
(--) Setting autorepeat to delay=500, rate=31
(II) Loading US keyboard layout.
(--) winConfigKeyboard - Layout: "E0010411" (00000411)
(--) Using preset keyboard for "Japanese" (411), type "7"

後述する方法でうまくいったときのログはこんな感じ

Welcome to the Xming X Server
Vendor: Colin Harrison
Release: 6.9.0.31
FreeType2: 2.3.4
Contact: http://sourceforge.net/forum/?group_id=156984

Xming.exe :0 -multiwindow -clipboard -fp tcp/192.168.200.150:7100

XdmcpRegisterConnection: newAddress 192.168.200.1
(++) FontPath set to "tcp/192.168.200.150:7100"
winAdjustVideoModeShadowGDI - Using Windows display depth of 32 bits per pixel
winAllocateFBShadowGDI - Creating DIB with width: 1024 height: 768 depth: 32
winInitVisualsShadowGDI - Masks 00ff0000 0000ff00 000000ff BPRGB 8 d 24 bpp 32
glWinInitVisuals:1596: glWinInitVisuals
glWinInitVisualConfigs:1503: glWinInitVisualConfigs glWinSetVisualConfigs:1581: glWinSetVisualConfigs
init_visuals:1055: init_visuals
null screen fn ReparentWindow
null screen fn RestackWindow
InitQueue - Calling pthread_mutex_init
InitQueue - pthread_mutex_init returned
InitQueue - Calling pthread_cond_init
InitQueue - pthread_cond_init returned
winInitMultiWindowWM - Hello
winInitMultiWindowWM - Calling pthread_mutex_lock ()
winMultiWindowXMsgProc - Hello
winMultiWindowXMsgProc - Calling pthread_mutex_lock ()
glWinScreenProbe:1390: glWinScreenProbe
fixup_visuals:1303: fixup_visuals
init_screen_visuals:1336: init_screen_visuals
(--) 5 mouse buttons found
(--) Setting autorepeat to delay=500, rate=31
(II) Loading US keyboard layout.
(--) winConfigKeyboard - Layout: "E0010411" (00000411)
(--) Using preset keyboard for "Japanese" (411), type "7"
winInitMultiWindowWM - pthread_mutex_lock () returned.
winInitMultiWindowWM - pthread_mutex_unlock () returned.
winInitMultiWindowWM - DISPLAY=127.0.0.1:0.0
winMultiWindowXMsgProc - pthread_mutex_lock () returned.
winMultiWindowXMsgProc - pthread_mutex_unlock () returned.
winMultiWindowXMsgProc - DISPLAY=127.0.0.1:0.0
winProcEstablishConnection - Hello
winInitClipboard ()
winProcEstablishConnection - winInitClipboard returned.
winClipboardProc - Hello
DetectUnicodeSupport - Windows XP
winClipboardProc - DISPLAY=127.0.0.1:0.0
winMultiWindowXMsgProc - XOpenDisplay () returned and successfully opened the display.
winInitMultiWindowWM - XOpenDisplay () returned and successfully opened the display.
winClipboardProc - XOpenDisplay () returned and successfully opened the display.

このように違う理由はさっぱりわからない。

いろいろなページをみるとXmingの設定はXlaunchで成功している人が多いのでXlaunchを導入する。Xming - PC X Serverから、Xlaunch_jp.zipをダウンロードし、解凍する。解凍した中身をandLinuxをインストールしたフォルダの中にあるXmingフォルダに持っていく。(C:\Program Files\andLinuxandLinuxをインストールしていたら、C:\Program Files\andLinux\XmingにXlaunch_jp.zipの中身を移動させる。)

Xmingが起動しておらず、かつ、andLinuxが動いている状態で、XLaunch_jp.exeを実行する。

  • 複数ウィンドウ」を選択、次へ
  • 「クライアントを起動しない」を選択、次へ
  • クリップボード」にチェック、フォントサーバに「192.168.200.150」を入力し、次へ
  • 「保存」して、完了する

すると、andLinuxのXCFPanelが出現するので、ターミナルを開き、xsetqでどこのフォントをチェックしているかを調べる。私の環境では下記のようになり、フォントサーバからフォント情報を取得しているのがわかる。

% xset -q
Keyboard Control:
  auto repeat:  on    key click percent:  0    LED mask:  00000000
  auto repeat delay:  500    repeat rate:  31
  auto repeating keys:  00ffffffdffffbbf
                        fedfffdfffdfe5ef
                        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:
  tcp/192.168.200.150:7100
Bug Mode: compatibility mode is disabled
DPMS (Energy Star):
  Server does not have the DPMS Extension

あとは、[・ _ゝ・]日記を書くはやみずさん:Ubuntu 6.10 Edgy Eft で日本語TeX環境を構築 + Emacsのフォント設定にある、.emacsでのフォントの設定を丸ごといただき、emacsのフォントの設定終了。

あとは、WindowsandLinux上のemacs間のコピー&ペーストの問題を解決すればかなり使える環境になる。