2006年11月18日土曜日

【pdaXrom】Cygwin-XからpdaXromにアクセス

 母艦からGUIでpdaXromを操作するのにvncserverを使う方が多いようですが、vncはレスポンスが遅くて使いづらいので、私の場合Cygwin-Xで操作しています。

 Cygwin-Xだと、レスポンスがザウルス単体で使う場合とほとんど変わりないし、ザウルス本体と別画面になるので便利です。特にXfce4の場合はXGAで操作することも可能です・・・メモリがかなり苦しいですが(苦笑)

 これを使うと、もうvncはまだるっこしくて使えません(笑)

 ただし、通常のログインだと、
1.Cygwin-Xを起動する
2.CygwinのシェルからCygwin-X上でxtermを起動して、"xhost +"と打ち込んでXサーバーへのリモートアクセスを可能にする。
3.sshでザウルスにログインする
4.ザウルス上で環境変数DISPLAYを設定して、Xfce4を起動する
という少々面倒な操作が必要です。

 そこで、バッチファイルを作成して、ワンクリックで1~4まで処理できるようにしてみました。

1.Cygwin-Xをインストールする
 私はKNOPPIXを常用しているので、CDに付属のCygwin-Xを利用しました。もちろん、Cygwinのサイトからダウンロードしても使えます。
 Xサーバー用にしかCygwin-Xを使わないなら、Defaultの設定+X11だけで十分です。

2.sshでザウルスにパスワードなしでログインできるようにする。
 こちらのDSAによる認証方法を読んでください(手抜きですみません)

 sshでログイン時にとても便利です。

3.sshでログインと同時にXクライアントを起動する
 sshでザウルスにログインしたら、Xクライアントの起動スクリプトを作成します。
 作成方法は簡単!
# cp ~/.xinitrc xclient.sh
みたいにしてシェルプログラムを作成します。そして、エディタで開いて先頭部分に、
export DISPLAY=(母艦のIPアドレス):0.0
というようにXサーバーのIPと画面IDを設定します。
 ちなみに、私の場合、IPは192.168.0.1がADSLのゲートウェイアドレスとして使われているので、母艦のIPを172.16.0.1にしています。画面0はcolinuxからKnoppix等を起動する時に使うので、画面1を設定しています。というわけで、
export DISPLAY=172.16.0.1:1.0
にしています。

 なお、このスクリプトが正常に動作するか確認したかったら、Cygwinのシェルを起動して、
$ export DISPLAY=172.16.0.1:1.0
$ XWin :1 -screen 0 640x480
(画面0だったら XWin :0 -screen 0 640x480 です)
$ xterm
Xサーバー上でxtermが起動するので、そのコンソール上で、
$ xhost +
と入力。
再び、Cygwinのシェルで、
$ ssh root@(ザウルスのIP) /home/root/xclient.sh
と入力して、ウィンドウマネージャが起動すれば成功です。

4.Xサーバー起動バッチを作成する
 これもKINOPPIXの起動バッチを参考にしました。
@echo off
REM ↓使う画面IDで変更してください
SET DISPLAY=127.0.0.1:1.0

SET CYGWIN_ROOT=\cygwin
SET RUN=%CYGWIN_ROOT%\bin\run -p /usr/X11R6/bin
SET PATH=.;%CYGWIN_ROOT%\bin;%CYGWIN_ROOT%\usr\X11R6\bin;%PATH%
SET XAPPLRESDIR=/usr/X11R6/lib/X11/app-defaults
SET XCMSDB=/usr/X11R6/lib/X11/Xcms.txt
SET XKEYSYMDB=/usr/X11R6/lib/X11/XKeysymDB
SET XNLSPATH=/usr/X11R6/lib/X11/locale

if not exist %CYGWIN_ROOT%\tmp\.X11-unix\X0 goto CLEANUP-FINISH
attrib -s %CYGWIN_ROOT%\tmp\.X11-unix\X0
del %CYGWIN_ROOT%\tmp\.X11-unix\X0

if exist %CYGWIN_ROOT%\tmp\.X11-unix rmdir %CYGWIN_ROOT%\tmp\.X11-unix

if "%OS%" == "Windows_NT" goto OS_NT

echo startxwin.bat - Starting on Windows 95/98/Me

goto STARTUP


echo startxwin.bat - Starting on Windows NT/2000/XP/2003


%RUN% XWin :1 -screen 0 640x480 -clipboard -silent-dup-error
run xhost.exe +
run /usr/bin/ssh root@(ザウルスのIP) /home/root/xclient.sh
 なんで%RUN%だったりrunだったりするのか、よくわからないので修正していません(笑)
 この内容をpdaxrom.batのようなファイル名で保存し、母艦のメニューなりデスクトップなりにショートカットを作成すれば、後はワンクリックでCygwin-X+pdaXrom環境が起動します。

 ちなみに、xhost +で母艦のXサーバーアクセスを許可しているのは、ザウルスと母艦をクロスケーブルで直接接続しているからで、本来は+に続けてアクセスを許可するリモートホストのIP(つまりザウルスのIP)を入力する必要があります。

人気blogランキングへ

Linux Zaurus SL‐C3000 Super Guide

0 件のコメント:

コメントを投稿