【2/17】今年は「濃厚」技術トーク!@ITメールセミナー スラッシュドット    はてなブックマーク  Yahoo!ブックマークに登録  印刷

ゼロ円でできるXサーバ
Windows 2000で動かすXFree86
                [設定・運用編]

XFree86のインストールが終わったので、いよいよLinuxサーバに接続するための設定を行っていこう。接続の設定とともに、キーボードやフォントの設定を変更して実用度を向上させることも忘れてはならない。

北浦 訓行
2001/8/25

編注:この記事の公開以降もCygwinは発展を続けており、現状と合わない点も多くなりました。そこで、2003年3月時点の最新事情を踏まえた

真ゼロ円でできるXサーバ[Windows XP編]


を用意しました。こちらをご覧ください。

Cygwin/XFree86の設定

 startxwin.batやstartxwin.shを見るとCygwin/XFree86の設定がよく分かります。Xサーバを起動するのはXWin.exeです。Xサーバを起動するだけなら、次のようにします。

$ XWin -screen 0 800x600x256

 ただし、これだと何も表示されていないウィンドウが現れるだけです。続けて、xtermでbashを起動したり、ウィンドウマネージャ(デフォルトはtwm)を起動する必要があります。具体的には、以下のようなシェルスクリプトを作成し、Cygwinからこれを実行すればいいでしょう。

#! /bin/sh
XWin -screen 0 800x600x256 &
rxvt -e bash &
twm &
2行目 800×600ドット、256色モードでXを起動
3行目 rxvtでbashを起動
4行目 ウィンドウマネージャをtwmに設定

 これで、一応Xでbashが使えるようになります。XWin.exeのオプションは多岐にわたっているので、詳しくはman XWinを見たり、XWin -hを実行してヘルプを参照してください。

Cygwin/XFree86のキーアサインを106キーボードに

 Cygwin/XFree86でbashを起動すると、キー配列が101キーボードになってしまい、「&」や「~」といった記号が思うように入力できなくなります。通常のLinuxでは、kbdconfigなどのツールを使って106キーボードに設定すればいいのですが、Cygwin/XFree86ではXの起動プロセスが異なるため、この方法は使えません。

 Cygwin/XFree86のWebサイトにあるFAQには、非USキーボードに設定する方法が載っています。それによると、xmodmapコマンドでxmodmap.jpを読み込めばいいと書いてあるのですが、xmodmap.jpがどこにも存在しません

 そこで、xmodmap.jpを作成しましょう。作成の方法は簡単です。正常に動作しているLinux(筆者はTurbolinux 6.0 Workstationを使用)で、以下のコマンドを実行するだけです。

$ xmodmap -pke > xmodmap.jp

 できあがったxmodmap.jpをCygwin/XFree86が動作しているPCにコピーして、bashで以下のコマンドを実行すれば106キーボードの配列になります

$ xmodmap /tmp/xmodmap.jp
例では、便宜的にxmodmap.jpを/tmpに置いた

 Xの起動にstartxコマンドを使う場合は、ホームディレクトリに置いたxmodmap.jpを.Xmodmapという名前にリネームすれば自動的に読み込まれます。ただし、環境によってはstartxは動作が不安定になるようです(コラム:「XFree86のコンパイル」参照)。その場合は、シェルスクリプト(例えばstartxwin.sh)の中でxmodmapを実行してください。

#! /bin/sh
export DISPLAY=127.0.0.1:0.0
PATH=/usr/X11R6/bin:$PATH

# Cleanup from last run.
rm -rf /tmp/.X11-unix

XWin -screen 0 800x600x256 &
twm &
xmodmap xmodmap.jp &
xsetroot -solid aquamarine4
xterm -n xterm-1 -j -ls -sb -sl 500 -rightbar -geometry +0+0 -e bash &
exit

 Linuxが動作する環境をお持ちでない方のために、筆者が作成したxmodmap.jpを公開します。本来、xmodmap.jpには変更したいキーだけを定義すればいいはずですが、時間の関係で全キーの配列が定義されたままになっています。

コラム:XFree86のコンパイル
 Cygwin用に用意されたバイナリでstartxの挙動が不安定な場合は、XFree86 4.1.0をソースからコンパイルすることで解決する可能性がある。ただし、ダウンロードやコンパイルには時間がかかるので覚悟が必要だ。

 XFree86をコンパイルする場合は、本家(http://www.xfree86.org/) のFTPサイトにあるソースを利用する(ftp://ftp.xfree86.org/pub/XFree86/4.1.0/source/)。ここにある

・X410src-1.tgz
・X410src-2.tgz
・X410src-3.tgz

の3ファイル(合計約54.1Mbytes)をダウンロードし、/tmpなどで展開する。するとxcというディレクトリができるので、ここに移動して

$ make World
$ make install

を実行する。これでXFree86のインストールは完了だ。ちなみに、make Worldとmake installが終わるのに、Pentium III-766MHzのマシンでも3時間強を要した(編集局)。

Linuxサーバへのアクセス

 さて、いよいよ主目的の1つであるLinuxサーバへのアクセスです。ここでは、192.168.0.15というIPアドレスを持つCygwin/XFree86から、192.168.0.5というIPアドレスを持つLinuxのサーバにアクセスしてみます。

$ xhost 192.168.0.5 ←Xサーバ(Cygwin/XFree86)への接続を許可するホストを登録
192.168.0.5 being added to access control list
$ telnet 192.168.0.5 ←Linuxサーバに接続
Trying 192.168.0.5...
Connected to 192.168.0.5.
Escape character is '^]'.

Vine Linux 2.1.5 (Calon-Segur)
Kernel 2.2.18-0v14.2 on an i686
login: nori
Password:
Last login: Fri Aug 17 11:30:06 from 192.168.0.15
$ export DISPLAY=192.168.0.15:0.0 ←Linuxサーバからの出力(表示)をCygwin/XFree86に送るように設定
$ xterm & ←xtermをバックグラウンドで起動

 Linuxサーバにtelnetでログインして、出力先をCygwin/XFree86に設定します。そしてxtermを起動すると、Linuxサーバ上で起動したxtermの画面がCygwin/XFree86上に表示されます。これで、Linuxサーバの操作をすべてCygwin/XFree86から行えることになります。

画面10 左上のウィンドウがCygwin/XFree86のrxvtで、左下のウィンドウがLinuxサーバのxterm(画像をクリックすると拡大表示します)

 残念なことに、現在のCygwin/XFree86はWindowsのIMEから漢字を入力することができません。これについては、今後のバージョンアップに期待するしかなさそうです。

sshで安全にアクセスする

 上では、Cygwin/XFree86からサーバにtelnetでアクセスする方法を紹介しました。LANの内部で使用する分にはtelnetでも構いませんが、外部からアクセスするにはセキュリティの面で心配です。そんなときはsshを利用します。CygwinにはOpenSSHが標準でインストールされているので、そのままsshを使用することができます。

 ここでは、デフォルトの設定で使用できるホストベース認証を行います。ホストベース認証によるログインでもパスワードは暗号化して送信されるので、パスワードが漏えいする心配はありません。

 sshでアクセスするには、上記の「telnet 192.168.0.5」の部分を「ssh 192.168.0.5」に変えるだけです。もちろんサーバ側の設定も必要ですが、最近のディストリビューションであれば最低限の設定はしてあるので、そのままsshでアクセスできます。Red Hat系ならばntsysvコマンドで、Turbolinuxの場合はturboserviceコマンドでsshdが起動しているかどうかを調べ、起動していない場合は起動してください。

 ではsshによる接続の手順です。xhostでホストを登録し、sshでサーバにアクセスします。

$ xhost 192.168.0.5 ←Xサーバ(Cygwin/XFree86)への接続を許可するホストを登録
$ ssh 192.168.0.5 ←sshで192.186.0.5に接続
The authenticity of host '192.168.0.5 (192.168.0.5)' can't be established.
DSA key fingerprint is 5a:69:c2:85:16:1d:44:75:80:ff:92:b3:14:0a:ca:45.
Are you sure you want to continue connecting (yes/no)? yes ←「yes」と入力
Warning: Permanently added '192.168.0.5' (DSA) to the list of known hosts.
noriyu-k@192.168.0.5's password: ←サーバーのパスワードを入力
Last login: Tue Aug 21 17:26:57 2001 from localhost.localdomain
Welcome to Turbolinux.
$ ←サーバーのbashが表示される
$ export DISPLAY=192.168.0.15:0.0 ←Linuxサーバからの出力(表示)をCygwin/XFree86に送るように設定
$ xterm & ←xtermをバックグラウンドで起動

インストール編へ
1/4

Index
真ゼロ円でできるXサーバ
Windows 2000で動かすXFree86[設定・運用編]
  インストール編
Cygwin/XFree86の設定
 Cygwin/XFree86のキーアサインを106キーボードに
  Linuxサーバへのアクセス
 sshで安全にアクセスする
  XDMCPによるグラフィカルログイン
 XDMCPのためのLinuxの設定
 XDMCPによるリモートセッションの開始
 フォントサーバでLinuxのフォントを使う
  Cygwin/XFree86でウィンドウマネージャを動かそう
 軽量ウィンドウマネージャ「Blackbox」
 定番ウィンドウマネージャ「Window Maker」
  Appendix

Linux Square全記事インデックス


 Linux Squareフォーラム Windowsとの共存/連携関連記事
特集:ゼロ円でできるデュアルブート
LinuxとWindowsを共存させる

Windows 98とLinuxの最も基本的なデュアルブート環境を構築しながら、OSの共存に必要な基礎知識を紹介する
特集:続ゼロ円でできるデュアルブート
LinuxとWindows 2000を共存させる

今回はLinuxとWindows 2000の組み合わせに挑戦しよう。Windows 2000のOS LoaderにLinuxを登録する方法を紹介する
特集:ゼロ円でできるXサーバ
WindowsでLinuxをリモート操作(前編)

Windows用Xサーバは高価だ。しかしライセンスフリーのVNCなら低コストでリモート操作環境を構築できる。その方法を紹介しよう
特集:ゼロ円でできるXサーバ
WindowsでLinuxをリモート操作(後編)

今回は多ユーザー環境などに適応させるカスタマイズ方法や、inetd経由でVNCサーバを自動起動させる方法を紹介しよう
特集:真ゼロ円でできるXサーバ
Windows 2000で動かすXFree86[インストール編]

Windows上にGNU環境を作るCygwinを使って、Windows 2000でXFree86を動かしてみよう。これで完全なフリーのXサーバが手に入る
特集:真ゼロ円でできるXサーバ
Windows 2000で動かすXFree86[設定・運用編]
Cygwin/XFree86でLinuxサーバにアクセスしよう。sshによる接続や日本語入力、Win2kでWindow Makerを動かす方法まで
特集:真ゼロ円でできるXサーバ
Cygwin/XFree86最新事情と日本語化

多くのパッケージが標準setup.exeでインストールできるようになったCygwin。今回は日本語化を中心に環境構築方法を解説
特集:真ゼロ円でできるXサーバ
Cygwin/XFree86でKDE & GNOMEを使おう
Cygwin/XFree86の準備ができたので、Xサーバとして活用しよう。後半ではKDEとGNOMEを動かすための方法を解説
Linux Squareフォーラム全記事インデックス

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します

ホワイトペーパーTechTargetジャパン

Linux Square フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

スキルアップ/キャリアアップ(JOB@IT)



- PR -
- PR -

お勧め求人情報

キャリアアップ 〜JOB@IT
@IT Special -PR-
  企業の仮想化に足りない“発想”とは?
仮想化運用管理のキモは意外なところに!

New!
  操作もマニュアルも分かりやすい!
ユーザー視点で開発されたPC管理ツール

New!
  仮想化すればコストは削減できるか?
仮想化に必要な「3つの視点」を解説する

  セキュリティを知り尽くす上野氏が登壇!
@ITメールソリューションLive! in Tokyo

  運用管理の課題を“2つの観点”から分析
ユーザー満足度の高い「仮想環境」とは?

  世界に通用するストレージの作り方とは?
製品に込めた思いを富士通の開発者に聞く

  OSSで手間も時間も、障害も減った――
「マピオンの事例」オープンソース活用法

  「ノートPCの持ち出し禁止」で大丈夫?
情報漏えいを防ぐ管理手法とインフラは?

  1日の処理を1秒に――MySQLの達人が語る
「コスト削減」できるチューニング

  ドキュメント作成を自動化して、SEの作業
効率を大幅アップ! Visio 2007の魅力

  急速に広がるHyper-Vでのサーバ仮想化
そのベストプラクティスをデルが解説

  @IT主催セミナーで語られた、「担当者に
求められるセキュリティ対策」をレポート

  @IT「Windows 7」 特設サイトオープン!
最新情報・移行ノウハウを公開しています