coLinux

2009/09/15

XmingをインストールしてGUIアプリを使う

coLinuxの操作にはCUIのみで十分、という場合には必要のない作業です。

私はGnuplotでグラフ表示させたいので、GUIが必要になります。このような場合、Windows側にXサーバソフトをインストールし、coLinux側のGUIアプリを表示できるようにしておきます。

今回はXサーバソフトに「Xming」を使うことにします。

[Xmingのインストール]

Windows側のX環境を整えるには、XmingのほかにXming用のフォントをインストールする。インストールに関しては、以下のリンク先のページが詳しい(Xming/フォントのダウンロードサイトへのリンクもある)。

http://www.affrc.go.jp/ja/info/scs/guide/xwin/xming-inst.html

インストールが完了したら、Xmingを起動する前にcoLinux側でやっておくことがある。

[coLinux側にGUI環境をインストールする]

coLinux内のFedora(coFedora)は、基本的なパッケージしかインストールされていないので、インストールする必要がある。まず、

# yum grouplist hidden

このコマンドを実行する。実行すると、現在インストールされているグループと、そうでないグループが表示される(結構長いのでless等にパイプしたほうがいいかも)。

GUI環境をインストールする場合、基本的なX環境のみでいいなら「X Window System」、面倒だから統合デスクトップ環境入れてしまえと思うなら「GNOME Desktop Environment」や「KDE」、「XFCE」、「LXDE」等を選んで、

# yum -y groupinstall "GNOME Desktop Environment"

このようにgroupinstallを実行する。

インストールが済んだら、ついでに日本語環境も設定しておくことにする。

[日本語環境の設定]

まずは、

# yum -y groupinstall "Japanese Support"

を実行して日本語のサポートをインストールする。

次に、「/etc/sysconfig」内に、以下の内容を記述した「i18n」というファイルを作成する。

LANG="ja_JP.UTF-8"

保存したら、一度coLinuxを再起動させる。

[XmingとXLaunchの使い方]

基本的な使い方としては2通りある。

1つは、PuTTYなどでログインしているとき(当然Xポートフォワーディングは有効にしておく)にGUIアプリを使用する場合。このときは「Xming」を起動させておくだけでいい。Xmingが起動するとタスクバーに「X」のアイコンが表示される。この状態でGUIアプリを起動すれば、アプリのウィンドウが表示される。

もう1つの方法として、WindowsからGUIアプリを直接呼び出すことができる。これには「XLaunch」を使う。まず、「XLaunch」を起動する。

  1. 「Maltiple Windows」を選択して「次へ」
  2. 「Start a program」を選択して「次へ」
  3. 「Start program」の欄に、起動させるコマンドを入力
  4. 「Using PuTTY (plink.exe)」にチェック
  5. その下の三つの欄に上から「coLinuxのIPアドレス」、「ログインユーザ名」、「パスワード」を入力して「次へ」
  6. 「Additional parameters for Xming」でdpiを調整することができる。
    例) -dpi n   (nはdpiの値)
  7. 最後に「Save configuration」をクリックすると、今までの設定を保存できる。
    (以後、保存した設定ファイルから起動できる)

GUIアプリを立ち上げるとタスクバーに「X」のアイコンが表示され、アプリを終了しても残る。XLaunchを使う場合、このアイコンが表示されていると起動しないようなので、事前に終了させておく。

| | コメント (0) | トラックバック (0)

2009/09/11

coLinuxをWindowsサービスに登録する

coLinuxを毎度バッチファイルから起動するのは面倒なので、Windowsサービスとして登録してバックグラウンドで立ち上がるように設定します。

その前に、今までバッチファイルから起動していたのをconfファイルから起動するようにしておきましょう。confファイルというのは、バッチファイル内の「colinux-daemon.exe」以降の記述を書いておくファイルで、coLinuxのインストールディレクトリ内に置いておき、コマンドプロンプトから起動するときに使用します。以前はconfファイルの記述にXMLを使用していたのですが、今ではテキスト形式になったおかげで楽になりました。

では、さっそく作業を開始します。

[coLinuxをconfファイルから起動できるようにする]

まず、以下の内容(つまりバッチファイルに書いてある設定)を記述した「coFedora.conf」を作成し、coLinuxのインストールディレクトリ内に配置する。

kernel=vmlinux
initrd=initrd.gz
mem=256
cobd0="C:/coFedora/Fedora-10.img"
cobd1="C:/coFedora/swap.img"
root=/dev/cobd0
eth0=tuntap,,00:ff:bd:29:80:00
ro

eth0のところには上記のようにcoLinuxのeth0に対応したMACアドレスを書いておく。これを書かないと、サービスから起動したときに何故かeth0が認識されなくなってしまう(バッチファイルやコマンドプロンプトから起動するときは書かなくても認識される)。なので、事前にcoLinux内で「ifconfig」コマンドを実行し、MACアドレスを調べておくこと。

配置したら、次のようにして一度コマンドプロンプトから起動できることを確認しておく。

C:\Program Files\coLinux>colinux-daemon.exe @coFedora.conf


[coLinuxをWindowsサービスに登録する]

起動が確認できたら、いよいよサービスに登録。次のコマンドを実行する(ダブルクォーテーション内に任意のサービス名を入れる)。

>colinux-daemon.exe @coFedora.conf --install-service "coLinux"

なお、Vistaの場合はコマンドプロンプトを管理者権限で起動して上記のコマンドを実行する。サービス登録に成功すると次のように表示されるはずである。

C:\Program Files\coLinux>colinux-daemon.exe @coFedora.conf --install-service "co
Linux"
Cooperative Linux Daemon, 0.7.4
Daemon compiled on Wed Apr 15 18:59:08 2009

daemon: installing service 'coLinux'
daemon: service command line: "C:\Program Files\coLinux\colinux-daemon.exe" @coF
edora.conf --run-service "coLinux"
daemon: setting restart options
daemon: service installed.

成功したらサービスを開始してcoLinuxを立ち上げてみる。方法は以下ようなコマンド

net start "coLinux"

から起動するか、「コントロールパネル」 → 「管理ツール」 → 「サービス」を開いて、登録したサービス名を右クリックして「開始」をクリックする。

サービスを開始してcoLinuxが立ち上がること(バックグランドで起動するので、コンソールは表示されない)と、ネットワークがつながること(eth0が認識されていること、SSHで接続できること)を確認しておく。問題なければ「サービス」でサービス名のプロパティから自動起動に設定しておく。なお、登録したサービスを削除するには次のようにする。

>colinux-daemon.exe --remove-service "coLinux"

| | コメント (0) | トラックバック (0)

2009/09/10

coLinuxにPuTTYからSSHでアクセスする

ネットワークの設定が完了したので、使いにくいcoLinuxコンソールで作業するのをやめて、今後は端末エミュレータを使って作業していくことにします。

[ユーザの作成、パスワードの設定]

端末エミュレータからログインできるように

  • ログインユーザを作成する
  • rootのパスワードを設定する

以上の2つをやっておく。ユーザを作成するには以下のようにする。

  1. coLinuxコンソールを使って、rootでログイン
  2. # adduser username でユーザusername(任意のユーザ名)を追加
  3. # passwd username でユーザusernameのパスワードを設定

また、rootのパスワードを設定するには以下のようにする。

  1. rootでログイン
  2. passwd でrootのパスワードを設定

ユーザを作成したら、ログインできることを確かめておく。

[PuTTYをインストール]

端末エミュレータにはPuTTYを使用する。

http://yebisuya.dip.jp/Software/PuTTY/

このサイトから「PuTTYごった煮版」をダウンロードしてインストールする。インストールが完了したら、PuTTYで設定したIPアドレス「192.168.100.2」にアクセスし、さっき作成したユーザアカウントでリモートログインできることを確かめる。

PuTTYは左側にある「カテゴリ」からいろいろ設定できる。ここでは、特に必要と思う設定を挙げておく。

「ウィンドウ」 → 「変換」 → 「文字コードの設定(R)」
→ プルダウンメニューから「UTF-8/Auto-Detect Japanese」を選択


「接続」 → 「SSH」 → 「X11」
→ 「X11フォワーディングを有効にする(E)」にチェックを入れる

X11フォワーディングの設定は、Xを使わないなら当然必要ない。

| | コメント (0) | トラックバック (0)

2009/09/09

coLinuxのネットワーク設定

coLinuxで使えるネットワーク接続手段は、slirp と tuntap と pcap-bridge の3種類で、デフォルトではslirpを使用する設定になっていますが、slirpがよく分らなかったので、tuntapで接続する設定をします。(slirpでの接続は特に問題なくできる)

tuntapでのネットワークの設定はcoLinux、Windowsの両方で以下のような設定を行う必要があります。

・coLinux側の設定
   eth0にIPアドレスを割り振る。
・Windows側の設定
   TAP-Win32インターフェース(coLinuxインストール時に一緒にインストールされている)にIPアドレスを割り当て、NATの設定を行う。

[coLinux上のFedora(coFedora)側の設定]

coFedoraは英字配列キーボードであることを期待するので、日本語キーボードの場合は

# loadkeys jp106

で日本語キーボードに設定しておく。そしたら、まずeth0に固定アドレスを割り当てる。

/etc/sysconfig/network-scripts/ifcfg-eth0

をviで次のように編集。

# Realtek ...
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
TYPE=Ethernet
#ここから追加
IPADDR=192.168.100.2
NETMASK=255.255.255.0
GATEWAY=192.168.100.1

次にホスト名を設定する。

/etc/sysconfig/network

を次のように編集。

NETWORKING=yes
HOSTNAME=coFedora

最後にDNSの設定。

/etc/resolv.conf

を次のように編集。

nameserver 192.168.100.1

これでcoFedora側の設定は完了なので、一度coLinuxを再起動しておく。

[Windows Vista側の設定]

まずは、アドレスの設定。「ネットワークと共有センター」から「ネットワーク接続の管理」を開くと、「TAP-Win32 Adapter」と記述されたアイコンがある(デバイス名は環境により異なる)ので、これのプロパティを表示させる。

「ネットワーク」タブの項目から「インターネットプロトコルバージョン4(TCP/IPv4)を選択して「プロパティ」ボタンをクリック。

IPアドレスの設定画面で、IPアドレスに「192.168.100.1」、サブネットマスクに「255.255.255.0」を入力する。他の項目は空白でOK。

後は、好みにあわせてデバイス名を変更するもよし。

次に、NATの設定。NATの設定は有線/無線で排他利用になるので、よく使う接続に対して行う。(設定方法はどちらも同じ)
まず、「ローカルエリア接続」、「ワイヤレスネットワーク接続」のどちらかのプロパティを表示させる。

「共有」タブの「ネットワークのほかのユーザーに、このコンピュータのインターネット接続をとおしての接続を許可する」にチェックを入れる。「ホームネットワーク接続」の欄にはTAP-Win32に相当するデバイス名を選択する。

Tapshare_2

[ネットワーク接続のテスト]

以上の設定が完了したら、ネットワークがちゃんと使えるかどうか確認してみる。

1.coLinuxとWindows間の通信テスト
   coLinuxから、Windows(TAP-Win32、192.168.100.1)にpingコマンドで通信。

# ping 192.168.100.1

これを実行して応答があればOK。応答がない場合は設定を見直す必要がある。

2.coLinuxから外部ネットワークへの通信テスト
   次は、coLinuxから外のネットワークに通信できるかテストしてみる。接続先として例えば、google.co.jp とか、d.hatena.ne.jp にpingを打ってみる。

# ping google.co.jp

無事に応答が返ってくればネットワーク設定は完了。

ただ、環境によっては設定に間違いがなくても応答が帰ってこない場合がある。その場合は、Windowsファイヤーウォールの「詳細設定」タブ内の「ネットワーク接続の設定」にあるTAP-Win32インターフェイスに対応する項目のチェックを外しておく。

| | コメント (0) | トラックバック (0)

2009/09/08

coLinux on Windows Vista

2年前にWEB+DB vol.40の伊藤直也氏の記事を読んで以来、一度はcoLinuxを試してみようと思っていましたが、当時coLinuxの敷居が高く思えた(少なくともではない)ことや、VMwareのほうが魅力的だったこともあって、これまでスルーしてました。

ところが、最近になってVMwareに魅力を感じなくなってきて(PlayerのTools未収録化、ServerのWebコンソールの使いづらさなど)、WindowsとLinuxをよりシームレスに操作できる環境が欲しくなったので、coLinuxを試してみることにしました。

今回は、coLinux + Fedora 10 をWindows Vistaにインストールしてみようと思います。

[coLinuxのインストール]

http://www.colinux.org/snapshots/から最新の安定版をダウンロード。
現在の最新版は、stable-coLinux-20090415.exe(ver 0.7.4-rc2)。

インストーラを管理者として実行。途中の「Choose Components」では、

・Bridged Ethernet(WinPcap)
・Root Filesystem image Download

のチェックをはずす(Root FilesystemはDebianやGentooを選択する場合にチェック)。インストール先はデフォルトのまま。インストール途中に警告が出るが、インストールを選択して先に進む。

[Filesystem imageのインストール]

http://sourceforge.net/projects/colinux/files/から、好みのディストリビューションのイメージをダウンロードしてくる。ここではFedora10をインストールするので、Fedora-10-20090228.exeをダウンロードした。

上記のファイルを実行すると、destination folder(インストール先)を聞いてくるので、入力する。今回は、

C:\coFedora

としてインストールした(これには少し時間がかかる)。インストール完了後、C:\coFedora内を見てみると、start-Fedora-10.batというファイルがあるので、これを以下のように編集する。

cd "C:\Program Files\coLinux\"
colinux-daemon.exe kernel=vmlinux initrd=initrd.gz mem=256 cobd0="C:/coFedora/Fedora-10.img" cobd1="C:/coFedora/swap.img" root=/dev/cobd0 eth0=tuntap ro

もしイメージをCドライブ以外にインストールした場合には、ファイル先頭に「C:」という行を追加しておく。

変更後、このバッチファイルを実行してcoLinuxを起動してみる。途中で以下のような警告が出る場合があるが、そのときは「ブロックを解除する」をクリックする。

Colinuxwarning1_2

coLinux上のFedora(以後、coFedora)が起ち上がると、コンソールにログインプロンプトが表示されるので、rootと入力してEnterを押すとログインできる。rootのパスワードはまだ設定されていない。

coLinuxが動作することが確認できたら、とりあえずシャットダウン。コマンドは

# shutdown -h now

シャットダウンが完了すると、コンソールに

System halted.

と表示されるので、コンソールの「File」メニュー内の「Quit」をクリックする。これでコンソールとコマンドプロンプトが終了する。

| | コメント (0) | トラックバック (0)