VineLinux

2014/10/14

ゼビウスちっくなゲーム、XBat を ジョイスティック対応させる

私は ナムコ の ゼビウス がいまだに好きです。ヘタですけど。

そんなわけで、VineLinux のパッケージでインストールできる xbat も 大好きです。
xbat は、ゼビウスそっくりなのですが、実はゼビウスのぱちもんではなく、ゼビウスのぱちもんのバトルスのぱちもんなんだそうです。(笑)

xbat、今遊んでも面白いのですが、大きな欠点があります。それは、ジョイスティックに対応していないこと。
昔、MSXのグラディウスをキーボードで遊んでいたオイラには、キーボード操作は平気なのですが、キーの同時認識の問題で誤動作するのが困りもの。これでやられるとストレスが溜まるのです。

で、ネットでxbatのジョイスティック化なんか誰かやってないかな、と思ったら、やっぱやってる人がいました。(笑)
Oga's Linux Tools

ジョイスティック対応のパッチだそうで、キー入力部分のソースを入れ替えてmakeすればいいそうです。
そんなわけで、試してみました。
環境は、VineLinux6.2 です。

上記「Oga's Linux Tools」から、xbatのソースとパッチをダウンロードします。
とりあえず、README.jp を読んでみます。
なんと、作られたのが 1997年!
私がまだPCとは全く縁の無い仕事をしていて、Windowsの存在を知らなかった時代のソースだったとは。

話しがそれました。
読んでみると、
  Imakefileを編集してから
    % xmkmf -a
    % make
    % make install
とする、と書いてあります。

INSTALL.jp を読むと、
  Imakefile中のUNIONは、CPUがインテル並び(DEC Alphaなど)の場合 1 にして下さい。
  デフォルトは 0 です。
って書いてあります。
今の時代、1以外ありあえないっしょ。1に修正します。

  もし、インストールしたくない場合は、Imakefile中の
    SCORE_DIR,IMAGE_DIR,MAP_DIR、BINDIR
    を、 ./ にするなどして下さい。
って書いてあったので、これもその通りにしました。

ちなみにVineLiuxの xbat のリソースは
/usr/share/games/Xbat
にあるので、ここにしてもOKです。パッケージのバイナリと交換するならこれもアリかと。

で、パッチの inkey.c を上書きして
上記通りに
$ xmkmf -a
$ make
と makeしてみましたが、「make: Nothing to be done for `all」 となってmake できませんでした。
なんでだー!?

とりあえず、作成された Makefile を見てみると、xbat: って所でコンパイルしているみたい。
そんなわけで、
$ make xbat
ってしてみたら、コンパイルできました!
ちなみに、最初からやり直すときは make clean ですね。

で、ジョイスティックを繋いで コンパイルした xbat をダブルクリックして動かしてみましたが、ジョイスティックが反応しません。
なんでだー!?
inkey.c のパッチを見てみると、
9行目が
 char joydev[256] = "/dev/js0";
ってなっています。
/dev/js0 を見てみたのですが、そんなデバイスはありません。
調べてみると、VineLinuxは /dev/input/js0 にありました。

で、さっきの行を /dev/input/js0 に修正して再度 make してみました。

で、ジョイスティックを繋いで動かしてみましたが、ジョイスティックが反応しません。
なんでだー!?
こうなると、いろいろ疑心暗鬼になってきます。
そもそもドライバが違うんじゃないか!?とか。

ところで /dev/input/js0 って反応しているのか? と思い、
$ tar -f /dev/input/js0
ってやってみると、何も表示されず。やっぱ反応して無いじゃん!って思ったのですが、よく考えると
$ cat /dev/input/js0
ってしなくては見れないのでした・・・。ログを調査する仕事をしてるとついやってしまうのです・・・。

$ cat /dev/input/js0
ってやると、ジョイスティックに反応しているので問題なさそうです。
なんでじゃー!?
と思ってもう一度 xbat を起動したら、反応してました。(汗)

原因はよく解らないのですが、
$ cat /dev/input/js0
として一回ジョイスティックが反応していることを確認すると xbat も反応するようになるようです。
よし!ジョイスティックを手に入れたオイラに怖いものはないぜ!

Ubuntu14.04に、ビルドしたバイナリと、マップのデータなどのリソースをコピーした所、問題なく動きました。
けっこう32bit用のライブラリを入れているからかもしれませんが。
そんなわけで、Ubuntuで動画を撮ってみました。
ヘタレですが、いちおうエリア16っぽい所を超えました。


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

2014/05/11

Let'snote CF-R3 に Vine Linux 6.2 をインストールする

WindowsXP のサポート切れに伴い、嫁が長年使っていた Let'snote CF-R3 をもらいました。

元々、データは全般的にNASに保存して使っていたからデータ移行の必要もなく、ハードディスク内をバッサリ削除して良いとの事だったので、使いたい時にすぐに使えるWeb用マシンにしようと思いました。
我が家では、嫁も小1の子供もタブレットを持っていて(子供のはチャレンジタッチなんだけど)、自分だけタブレット無し生活なので、使いたい時にパッと使えるマシンが欲しかったのです。

で、Linux は Vine Linux にしました。
ここ最近、WindowsXP 代替OSとして Ubuntu を勧める記事をよく見たけど、PentiumM全盛期だった時代のOSにUbuntuは無いでしょ。ってずっと思っていました。
ブラウザとメールしか使わないような人なら、Vine Linux が使いやすいんじゃないかなあ。インストール後、特に設定なく使えるし、画面だってXP使ってた人には解りやすいし。と思ってましたが、結局そういう記事を見ませんでした。何故なんだろう???

で、そんなわけで、Vine Linux をインストールします。
Vine Linux のページからイメージをダウンロードします。
Let'snote CF-R3 にはCDドライブが無いので、USBに入れてインストールします。
USBに入れる方法は、VineLinuxのドキュメントに載っています。
私んちにはLinuxマシンがいくつかあるので、catコマンドで作成しました。

ちなみにUSBメモリが無かったので8GのSDカードに入れたのですが、その後2G程度にしか認識しなくなり焦りました。
SDカードを再フォーマットすればいいのですが、SDアソシエーションが仰るには専用ツールでフォーマットするように推奨しているので、SDアソシエーションのページにある専用ツールを使うのが無難です。
でも、Linux用が無いのが玉に瑕。

で、次に問題なのが、Let'snote CF-R3 でUSBからブートする方法です。
普通は、BiosからUSBを選択すれば起動するのですが、起動設定にUSBのCDはあれどもUSBメモリらしき項目が見つからないのです。
今までてっきりUSBブートできないものと思い込んでいたのですが、ネットで調べたら起動選択デバイスのハードディスクの所にありました。
判るか!こんなの!
ま、それが事前に判っていたので、Linux入れようと思った理由です。

Vine Linux のインストールは、ドキュメントのインストールガイド通りにすればいいです。
XPが使えなくなったと言っても、リカバリ領域を消すのは躊躇しました。
パーティション切るときに注意しなくてはいけないのかな?と思ったのですが、Let'snoteはBiosに細工がしてあって、リカバリ領域をBiosレベルで認識できないようにしているとのことで、安心して全領域削除しました。
後でBiosを見ると、きちんとリカバリ項目が出ていたので問題ないのだろうと思います。(未確認)

デフォルトのインストールだとわざわざディスクをLVMとして扱うので、ここは直接ext4でフォーマットしました。

インストールが終わって起動したら、あっさり動きました。
これでハイバーネートできれば完璧ですが、システム→シャットダウン からハイバーネートを選択しても終了しません。
これって、過去に Vine Linux のメーリングリストで見たことあったような、と思って検索したら、
[vine-users:082461] Re: ハイバネートに失敗
と同じ症状でした。
そこで、

#/bin/bash
sudo sync
sudo sh -c "echo 1 > /proc/sys/vm/drop_caches"

ってな内容のファイルを実行権限を付けてデスクトップに置いておいて、必要な時に実行することにしました。
これで、ハイバーネートできるようになり、いつでもすぐに使えるWebマシーンができて満足です。

その後は、パネルとか増やしてゴテゴテさせると自分好みになりました。
パネルにいろいろ出ているのが好きなのです。
Screenshot


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

2009/12/31

Linux で Kega Fusion を使う

お気に入りのメガドライブエミュレータの KEGA Fusion が3.63にバージョンアップしていました。
Windowsでは有名なエミュレータですが、なんと3.62以降、Linux版、Mac版まで作ってくれています。
Linux版の出来が大変良かったので記事にしてみました。Linuxでセガエミュレータを使いたい人には朗報です。

まず、VineLinux5にインストールしてみました。
RPMとかはなく、tar.gzだけです。でも解凍するとバイナリファイル1個だけなのでインストールは簡単です。
ユーザーのhomeにでも解凍してダブルクリックすると、Windows版同様に使えます。
VineでSelfBuildで提供してくれているGENSやDGENより軽くて良く出来ています。
Pentium3の1Ghz、グラフィックが Matrox MillenniumG450 な環境で快適に動きました。(GENSだとメガドラのゲームでガクガク。)

Kega Fusion自体の設定も簡単で、
Options の
Perfect Sync にチェックを入れる。(シルフィードが動くようになる)
Use Alternate Timing もチェック
Sleep While Waiting もチェック(CPU使用率が下がる)
ぐらいです。
ジョイスティックも普通に使えます。(ボタンの設定は必要ですが。)

ただし、メガドライブはBIOS無しで動きますが、メガCDや32XはBIOS必須です。
シルフィードが問題なく動くのには感動しました。
(画面はUbuntuでのスクリーンショットです。)
Silpheed


次に、ノートPCのUbuntu9.10にインストールしてみました。
動作に問題無し。バーチゃレーシング(メガドラ版)もこの通り。
Virtuaracing
PentiumM733(1.10Ghz)&オンボードグラフィック(855GME)ってなスペックでもCPU使用率9割ぐらいで動きます。

ただ、パッケージでは無いので当然のことながらメニューには登録されません。
そこで自力でメニューに登録しました。
メニュー(「アプリケーション」と書いてある所)を右クリック、「メニューの編集」を選択すると、メニューを追加できます。
昔のGNOMEはメニューの編集が大変だったけれども、今は簡単にできます。

メニューに表示するアイコンが必要ですが、Kega Fusion には付いてきません。Windows版だとKマークなんですけどね。
そこで、ネットでメガドライブのアイコンを探した所、作っている方っていらっしゃるのですね。
アイコンの部屋からクールなメガドライブアイコンをダウンロードしてきました。
Screen
こんな感じです。

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

2009/10/12

VineLinux5.0インストール

ついに8/24にVineLinux5.0がリリースされました。
9月ごろにインストールしていたのですが、その後仕事が忙しくなり記事にできていませんでした。

頑なに文字コードにEUC-JPを使っていたVineですが、今回のバージョンからはさすがにUTF-8になりました。
そんなわけで、タダでもアップグレードに成功したこと無いのに、ましてや文字コードが変わって簡単に行くわけが無いと思ったので、アップグレードを試さず、いきなりクリーンインストールをしました。

と言っても、普段、AzureusというかVuseを使ってBitTorrentでファイルをダウンロードしたり、RDServiceを使って東芝のハードディスクレコーダーから動画をコピーしたりすることに使っており、この2つが簡単に導入できるなら、クリーンインストールでも全然問題ありません。むっちゃ個人的な問題ですが。

そんな訳でイチからクリーンインストールしたのですが、ややこしい所も無く画面の指示に従ってインストールするだけでした。
いちおう、インストールマシンのスペックです。

CPU      Pentium3 1Ghz
マザーボード ASUS TUSL2-C-WOA
メモリ      512M
グラフィックボード Matrox MillenniumG450
LANカード  Pragmatic UE1211D-TX (100BASE-TX)
SCSIホストアダプタ Adaptec AHA-2940J
モニタ MITSUBISHI Diamondcrysta RDT176S


デフォルトではFirefoxでFlashが使えません。プラグインのインストールに失敗します。
synapticで、Flashとかで検索すると install-assist-flash-plugin というのが見つかるので、これをインストールすれば使うことができます。

VineLinuxからWindowsの共有フォルダを見た時に文字化けする場合、
/etc/samba/smb.conf の
[global]の dos charset を CP850 から CP932 に変更すると化けなくなります。

テキストエディタが gedit から Leafpad に変わったのはちょっと戸惑いました。
gedit がどんどん高機能化していくので、シンプルな Leafpad になった、ということなんでしょうか?


○RDServiceのインストールについて
これは東芝のハードディスクレコーダのRDシリーズを持っている人にしか使い道が無いソフトなんですが、ハードディスクレコーダ間の動画コピー機能を利用してPCにコピーするものです。
RDServiceはJavaを使用するのでJavaのインストールが必要です。
synapticでjavaを検索すると、java-1.6.0-sun というパッケージが見つかるのでそれをインストールします。
ちなみに私はJavaのプログラミングもするので、JDKをインストールしました。
これは、java-1.6.0-sun-devel というパッケージ名になります。

RDServiceのページから RDService_1.0b5.zip をダウンロードしてインストールします。
私はいつも /usr/local/sbin/RDService にインストールしています。
root権限で
# unzip RDService_1.0b5.zip
と解凍すればインストール完了です。
Javaのバイナリで配布されているので、コンパイルなどは必要ありません。

RDService の起動用スクリプトがそのままでは使えないので、
#cd /usr/local/sbin/RDService
#vi RDService
として起動スクリプトを開き、以下のように書き換えました。
#!/bin/bash
java -jar ${0%/*}/RDService.jar -s -p 5500:5509 -d /ファイルを格納したいディレクトリまでのフルパス $@

書き換えたら、root権限で # ./RDService とするとRDServiceが起動します。

FTPサーバはもともとインストールされていないのか、特に止めておく必要がありませんでしたが、環境によっては必要かもしれません。
また、ファイアウォールを使用している場合は、
tcp 21
udp 137
udp 5500-5509
を開けておく必要があります。

ちなみにVine3.1時代の記事はここです。


○Vuseのインストールについて
これもJavaを使いますので、あらかじめJavaのインストールが必要です。
sourceforge.jpのazureusのページからlinux用のバイナリをダウンロードします。
ちなみに私がダウンロードしたのは Vuze_4.2.0.8_linux.tar.bz2 です。
ユーザーのホームディレクトリにファイルを置いて
$ tar jxf Vuze_4.2.0.8_linux.tar.bz2
で解凍し、
$ cd vuze
$ ./azureus
(または $ ./vuze)
で起動できます。
ここまで、すべてユーザー権限でOKです。

vuzeもファイアウォールの設定が必要です。
vuzeはデフォルトでUPnPのプラグインがあるのでUPnP対応ルータなら特に設定しなくてもそのまま使えるんだけど、そうするとVine側のファイアウォールが対応できなくて結局通信できません。
UPnPで接続するならVineのファイアウォールは止めておく必要があります。
それか、使用するポートを固定しVineのファイアウォールでそのポートを使えるように設定し、ルータのポートフォワーディングを使うか、ですね。


○SAMBAの設定について
全部インストールでは最初からSAMBAがインストールされていますが、サービスは動いていません。
システム→システム管理→サービスから、smbを有効にする必要があります。
SAMBAのWeb設定ツールの SWEAT が入っていないのでsynapticからインストールすると、xinetdもインストールされます。
ただし、xinetdは有効なサービスになっていながらインストール直後は起動していないので、サービス の画面で起動させる必要があります。
また、デフォルトではSWATを使用できない設定になっているので、
/etc/xinetd.d/swat

disable = yes を disable = no に修正する必要があります。
その後、ブラウザで http://localhost:901/ を開けばSWATで設定できます。
SWATへは、rootでログインしないと細かい設定ができないので注意です。

自分のホームディレクトリを見れるようにします。
まず、GLOBALS で workgroup をWindowsのものと一致させます。
次に、SHARES の「ファイル共有の選択」のドロップダウンに既にhomesというのができているので選択。
ブラウジングオプションのbrowseableがoffになっているのでonにするとウィンドウズのマイネットワークから見えるようになります。
PASSWORD を選択し、使用するユーザーを一度「新規ユーザー追加」で登録しておく必要があります。
これは、Linuxのユーザーと同じ必要があります。

ファイアウォールを有効にしている場合に開けるポートは、パソコンおやじさんのページに詳しく載っていました。
http://www.aconus.com/~oyaji/suse9.2/samba_suse9.2.htm
ファイアウォールのSAMBAをONにするだけでは、マイネットワークから見えなかったので、「その他のポート」から上記を入力する必要があります。


Vine4.0以降GUI周りが非常に使い易くなった印象なのですが、その印象と反比例して利用者が減少しているのが残念です。
今までは「日本語環境の充実」、という売りで国内ではかなりの情報量を誇っていましたが、他のディストリの国際化対応が進みLinuxの普及が進むにしたがって、逆にそのメリットが生かせなくなってしまいました。
昔はLinuxの書籍と言えばVine関係というぐらい充実していましたが、今はVineの書籍をさっぱり見かけません。

ウィキペディアでも散々な書かれ方をしています。

でも、メーリングリスト等を見る限り活動は活発で、まだまだ頑張って欲しいと思います。

見た目の使いやすさと共に、Linuxの教科書的な作りをしている解りやすいディストリ、というのもVineの利点だと思います。
グラフィカルな起動画面になったけどF2キー押下でいつでも今まで通りの起動画面が見れるといった、使いやすさだけに特化するのでは無い所に好感が持てます。
今後は、初心者でも動かせるマニアックなOS、という方向に進んでいくのでしょうかね???(今までもそうだったんだけど。)

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

2009/07/26

VineLinux4.2でSSLの証明書を更新する

嫁の弟から、「そっちのWebDAVサーバに写真を上げておいたから」と連絡があり、サーバにアクセスするも、SSLの証明書が正しくないというポップアップが出続け、アクセスできませんでした。
これは、証明書の期限が切れた時に起こる現象です。
そういえば、去年の今ごろWebサーバをVineLinux4.2に替えたから、1年経って証明書が切れたんだな・・・。

Windowsは証明書のドメインが間違っている場合、期限が切れるとアクセスさせてくれません。
嫁の弟はMac使いだから、この制限に掛からずにファイルをUPできたようです。

さて、VineLinux2.6で証明書を更新する方法は、過去に記事にしたのですが、同じ方法が使えるのでしょうかね?

で、そもそも証明書がどこにあるのか、と思い、/etc/apache2/conf ディレクトリを覗いてみると、直下に ssl.crt というディレクトリがあり、その中に Makefile.crt ってなファイルがありました。
もしや、make して証明書を作るのか????
よく考えたら /etc/apache2/conf にも Makefile のリンク が置いてあって、前から何に使うものか疑問でした。
Makefileのリンク先を見てみると、/usr/share/ssl/certs/Makefile になっています。
うーん、SSL証明書関係のものと見てまず間違い無いでしょう。
まったく!バージョンごとにやり方をころころ変えるな!angry
(でも、解るとこっちの方がはるかに楽です。)

そこで、VineLinux4.2で証明書を作る方法を検索したのですがヒットせず・・・。
でも、CentOSでの例ならいくつかヒットしました。
参考にしたのは、Linux UPKサーバ証明書です。

ただし、Vineの場合だとフォルダ構成が違っているため、make testcert が使えませんでした。
フォルダ構成を同じにすればいいのですが、面倒なので make server.crt で証明書を作成しました。
/etc/apache2/conf で make server.crt をした場合、confディレクトリ直下に server.key と server.crt が作られますので、ssl.keyディレクトリとssl.crtディレクトリに移動させる必要があります。

make時にいろいろ質問を聞かれますが、上記リンクのページを見れば何を入力すればいいか解ると思います。
server.key作成後は、
# openssl rsa -in server.key -out server.key
としてキーからパスフレーズを除いておかないとWebサーバ起動時にパスフレーズを聞かれます。

server.keyをssl.keyディレクトリへ、server.crt をssl.crtディレクトリへ移動させて、Apacheを再起動させればOK!
再起動は、/etc/init.d/apache2 restart です。
これでめでたくWebDAVサーバに置かれた写真をダウンロードできたのでした。

コマンドを何度も入力しなければいけなかったVineLinux2.6時代に比べると、はるかに簡単になっています。

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

2008/08/06

Webサーバ構築時の全コマンド

うちのWebサーバは、サポート切れのVineLinux2.6です。
サーバ構築時に使用したコマンドは、
Webサーバ構築時の全コマンド(VineLinux2.6)
に記載しています。

でも外部に公開しているサーバがサポート切れってのはよろしく無いので、現在最新のVineLinux4.2へ移行したいな、と思っていました。
そこでVirtualBoxにVineLinux4.2をインストールしテスト環境を作って検証した所、移行の目処が立ったので実行に移しました。

インストール時は、インストールするパッケージにサーバを選択しましたが、GUIでも設定したいのでXWindowsとGNOMEをインストールしました。
ログインはテキストログインです。
(GUIを使うときは、$ startx とコマンドすれば使えるので。)
ファイアウォールは使用します。GUIを使えば簡単に設定できるので。(設定内容も簡単になりますけど・・。)


◯SSHの設定
特定ユーザー 以外の接続を禁止します。
/etc/ssh/sshd_config に以下を追加
# AllowUsers
AllowUsers ユーザー名

sshdの再起動
# /etc/init.d/sshd restart
sshdを停止中: [ OK ]
sshdを起動中: [ OK ]

Telnetサーバが動いていたら止めようと思いましたが、もともと入っていませんでした。

◯NTPサーバ
GUIのデスクトップ→システム管理→時刻と日付の設定
で「インターネット上のサーバと時刻を同期させる」にチェックを入れればいちおう設定できます。
最初の行のNICTとMFEEDを選択しておけばOKです。
ただ、GUIの設定では設定ファイル上のserverを追加したり減らしたりということしかできなくて、凝った設定にするには結局設定ファイルを書き換えなくてはいけません。

設定は「パソコンおやじ」さんの設定などを参考にしました。
同期するNTPサーバをNICTとMFEEDにして、Lan内の他のPCからNTPサーバを参照できるようにします。
/etc/ntp.conf に以下を追加します。
# Security Setting
# Default
restrict default ignore

# Local Allow
restrict 127.0.0.1

# Lan Allow
restrict 許可するIP mask マスク nomodify notrap

# Server
restrict ntp.nict.jp mask 255.255.255.0 nomodify notrap noquery
restrict ntp.jst.mfeed.ad.jp mask 255.255.255.0 nomodify notrap noquery

server ntp.nict.jp
server ntp.jst.mfeed.ad.jp


ntpdが起動していなければ起動させます。
# /etc/init.d/ntpd start

ファイアウォールの 123 ポートを開けます。
これはGUIで設定しました。
デスクトップ→システム管理→セキュリティレベルとファイアウォールの設定
で、その他のポートに、
123 UDP
を追加します。
ポートが正しいと、その他のポートの表示がntpになります。

動作確認
ntpd再起動(# /etc/init.d/ntpd restart)から数分後に、以下のコマンドで確認。
# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*ntp-b3.nict.go. .NICT. 1 u 4 128 377 5.073 -31.026 11.903
+ntp2.jst.mfeed. 210.173.160.86 2 u 10 128 377 1.757 -33.074 7.026

*が付いていればOKです。

◯Apacheの基本設定
Apacheは1.3系から2.2系に大幅に変わってしまいました。
そこでまず、基本的な部分を調べてみました。
VineLinux4.2のApache2.2について
/usr/sbin/ に本体がいます。
設定ファイルなどは
/etc/apache2
以下にあり、モジュールの置き場所もここから辿っていけます。
コンテンツは、
/var/www 以下に設置します。

以上が解れば設定できます。
まず、お手軽にGUIで起動させます。
デスクトップ→システム管理→サービスの管理
の ウェブ・サーバ(apache2) にチェックを入れます。
これでApacheが起動します。同時に自動起動の設定もできています。

デフォルトでファイル一覧が表示されるようになっているので
表示しないように設定します。
/etc/apache2/conf/httpd.conf を編集します。
Options Indexes FollowSymLinks
を、以下のように変更
Options -Indexes FollowSymLinks

設定ファイルの確認
# /etc/init.d/apache2 configtest
Syntax OK
apacheを再起動
# /etc/init.d/apache2 restart
httpdを停止中: [ OK ]
httpdを起動中: [ OK ]

◯BASIC認証用htpasswdの作成
/etc/apache2 に .htpasswdファイルを作成します。
# htpasswd2 -c /etc/apache2/.htpasswd 認証するユーザー名
New password:(パスワードを入力)
Re-type new password:(もう一度パスワードを入力)
Adding password for user 入力したユーザー名が表示される

htpasswd2 でファイルを作成する場合は、-cを付けます。
ファイルが既に作成されている時はいりません。
ここで入力したパスワードが、認証時のパスワードになります。
ファイル名、ファイルを作る場所はなんでもいいのですが、
Webサーバで公開している場所はダメです。
また、このパスワードファイルはWebサーバが読める必要があるので、これも注意です。

パスワードファイルをapacheユーザーのみ閲覧可能にします。
# chown apache:apache ./.htpasswd
# chmod 400 ./.htpasswd

○WebDAVの設定
以前検証したVineLinux4.2でWebDAVを使用する。の内容とだいたい同じです。

WebDAVは標準で使用可能になっていますが、
/etc/apache2/conf/httpd.conf
には、ロックファイルの設定のみ書かれています。
/etc/apache2/conf/extra
に、httpd-dav.conf
があるので、これを設定のベースに使います。
/etc/apache2/conf.d へコピー。
# cd /etc/apache2/conf.d/
# cp ../conf/extra/httpd-dav.conf ./

httpd-dav.confを編集
# vi httpd-dav.conf
ロックファイルなどの設定がありますが、Vineの設定とは異なっているので、
15行目~36行目までをコメントします。
/var/www/dav をWebDAV用のフォルダとして設定することにします。
また、認証にBasic認証を使用し、SSL使用を必須にします。

Alias /dav "/var/www/dav"

<Location "/dav">
    DAV On
    SSLRequireSSL
    AuthUserFile /etc/apache2/.htpasswd←Basic認証設定時に作成したパスワードファイルの場所
    AuthGroupFile /dev/null
    AuthName "Private Area"
    AuthType Basic
    Require user 許可するユーザー名
</Location>

/var/www/dav ディレクトリを作成し、apacheユーザー権限にします。
# cd /var/www
# mkdir dav
# chown apache:apache dav

Apacheの再起動
# service apache2 restart

ファイアウォールのSSLのポートを開けます。
またまたGUIで設定しました。
デスクトップ→システム管理→セキュリティレベルとファイアウォールの設定
Secua WWW (HTTPS) にチェックを入れる。

VineLinuxの「サーバへ接続」、から
http://localhost/dav/
に接続し、ファイルが置けるか確認します。


このままだとWindowsから使うと文字化けするので、
mod_encoding をインストールします。
http://elug.selfip.org/index.php?WebDAV
にパッチを当てたものをまとめてくれているので、ここの
mod_encoding-20061118.tar.gz
を使います。

apxsを使用できるようにSynapticから、apache2-devel をインストールします。
apxs は、/usr/bin/ にインストールされます。

mod_encoding-20061118.tar.gz
をダウンロードし、とりあえずユーザーのホームディレクトリに置きます。
展開します。
$ cd
$ tar xzvf mod_encoding-20061118.tar.gz

インストール
$ cd mod_encoding-20061118
$ ./configure --with-apxs=/usr/bin/apxs
$ make
$ gcc -shared -o mod_encoding.so mod_encoding.o -Wc,-Wall
できたモジュールをrootでコピー。
$ su
# cp mod_encoding.so /etc/apache2/modules/

httpd.conf の
LoadModule dav_fs_module modules/mod_dav_fs.so
の下に、
LoadModule encoding_module modules/mod_encoding.so
を追加。

httpd-dav.conf に以下を追加

<IfModule mod_encoding.c>
    EncodingEngine on
    NormalizeUsername on
    SetServerEncoding UTF-8
    DefaultClientEncoding JA-AUTO-SJIS-MS SJIS
    AddClientEncoding  "cadaver/" EUC-JP
</IfModule>

SetServerEncoding にEUC-JPを使いたいのですが、そうすると文字化けしてしまいます。
この設定のようにUTF-8にすると今度はターミナルなどからファイルを見た時には化けてしまいます。
あくまでWindowsで使用するための苦肉の策です。

Apacheを再起動して動作を確認します。
# /sbin/service apache2 restart
(# /etc/init.d/apache2 restart でもいいです。いろんなやり方があるということで。(笑) )

○DiCEの設定
前のサーバで、IP変更時に自動更新されないことがあったので、
今回は、外部CGIにスクリプトを置くパソコンおやじさんの方法を参考にしました。
http://www.aconus.com/~oyaji/ddns/ddns_linux.htm
なんかインストール&設定方法を文章にするのが難しいので上記ページを参考にして下さい。coldsweats01

設定後、デーモン起動
# /usr/local/bin/DiCE/diced -d -l
確認
# ps -C diced
PID TTY TIME CMD
19907 ? 00:00:00 diced ←いればOK

Diceの設定後、
/etc/rc.d/rc.local の最後に
/usr/local/bin/DiCE/diced -d -l
を追加しておくと、サーバ起動時に勝手に起動してくれます。

○TOMCAT
Javaのインストール
GUIでアプリケーション→ システム・ツール→ Synapticパッケージマネージャ
を起動し、 java-1.6.0-sun-devel をインストールしました。
java等のリンクが/usr/binにあるので、通常はPATHなどを通さずに使えます。(これが後でハマる原因になったのだけど・・・。)

http://tomcat.apache.org/
から
apache-tomcat-6.0.16.tar.gz
をダウンロード。
md5sumで正常にダウンロードできたか確認。
$ md5sum ./apache-tomcat-6.0.16.tar.gz
4985fed02341a9e04ea43e91e6444ace ./apache-tomcat-6.0.16.tar.gz

ファイルの移動 /usr/local 以下にインストールします。
# mv ./apache-tomcat-6.0.16.tar.gz /usr/local/
# cd /usr/local

ファイルの展開
# tar xzvf apache-tomcat-6.0.16.tar.gz

起動チェック
# ./apache-tomcat-6.0.16/bin/startup.sh
Using CATALINA_BASE: /usr/local/apache-tomcat-6.0.16
Using CATALINA_HOME: /usr/local/apache-tomcat-6.0.16
Using CATALINA_TMPDIR: /usr/local/apache-tomcat-6.0.16/temp
Using JRE_HOME: /usr

JRE_HOMEの位置がおかしいけれども後で直します。
ブラウザで http://localhost:8080/ にアクセスし、表示されればOK。

停止
# ./apache-tomcat-6.0.16/bin/shutdown.sh
Using CATALINA_BASE: /usr/local/apache-tomcat-6.0.16
Using CATALINA_HOME: /usr/local/apache-tomcat-6.0.16
Using CATALINA_TMPDIR: /usr/local/apache-tomcat-6.0.16/temp
Using JRE_HOME: /usr


TOMCAT起動ユーザー、起動スクリプトの作成
参考 @IT “安全”のためにTomcatを理解し、構築し、動作させる
http://www.atmarkit.co.jp/fjava/rensai4/safetomcat_01/safetomcat_01_1.html

リンクの作成(/usr/locdal/tomcatから使用できるようにする)
# ln -s apache-tomcat-6.0.16 tomcat

TOMCAT用ユーザの作成
# useradd -d /usr/local/tomcat/ -s /sbin/nologin tomcat
useradd: 警告: ホームディレクトリが既に存在します。
skel ディレクトリからのコピーは行いません。
# chown -R tomcat:tomcat /usr/local/tomcat/

自動起動
jsvcのコンパイル
# cd /usr/local/tomcat/bin/
# tar xzvf jsvc.tar.gz
# cd jsvc-src/
# autoconf ←いらないかも・・・。よく判りません。

次に、configure前にJAVA_HOMEを設定しておく必要があるのですが、ここでハマりました。
さっきも書きましたが、私は JAVA_HOME=/usr/bin だと思っていたので、この通りにすると、makeに失敗します。
configureがうまく行くだけに最初はなぜ失敗するのかさっぱり判りませんでした。
で、出力されたエラーを眺めるうちに原因が判りました。
なんかjni関係のコンパイルをしようとして失敗していたのですね。
私はC言語をあまり知らないのですが、ヘッダーファイルが無くてエラーが出てるような感じは判りました。
ということは、/usr/lib/jvm/java-1.6.0-sun-1.6.0.07/include/jni.hが参照できる位置にJAVA_HOMEを設定しなくてはいけません。

# JAVA_HOME=/usr/lib/jvm/java-1.6.0-sun-1.6.0.07/
# export JAVA_HOME
# sh configure
# make
エラーが出なければ jsvc というファイルができています。
それを /usr/local/tomcat/bin/ に置きます。
# cd ../
# cp ./jsvc-src/jsvc ./
# chown tomcat:tomcat jsvc

後かたづけです。使ったディレクトリを削除してます。
# rm -rf ./jsvc-src/

起動スクリプトの作成
# cd /etc/rc.d/init.d/
新規でファイルを作成します。
# vi jsvc
内容は、
http://www.atmarkit.co.jp/fjava/rensai4/safetomcat_01/safetomcat_01_2.html
にある起動スクリプトをパクってきました。coldsweats01

上記内容から以下を修正します。
JAVA_HOME=/usr/lib/jvm/java
CATALINA_HOME=/usr/local/tomcat

ちなみにvi(vim)で普通に張り付けると勝手にインデントされて大変なことになるので、
viのコマンドで
:set paste
と打ってからペーストするとOKです。

アクセス権の変更
# chmod +x jsvc
自動起動させます。
# chkconfig jsvc on

起動実験
# /etc/init.d/jsvc start
Starting jsvc: [ OK ]
# /etc/init.d/jsvc status
jsvc (pid 11815 11814 11813 11812 11811 11810 11809 11808 11807 11805) を実行中...

ブラウザで http://localhost:8080/ にアクセスし、表示されればOK。

停止
# /etc/init.d/jsvc stop
Shutting down jsvc: [ OK ]

○PostgreSQL
Synapticで
postgresql-server と postgresql-jdbc をインストールしました。
インストール後、GUIのサービスの管理でPostgreSQLを起動させます。

rootでログインし、postgres ユーザーにパスワードを設定します。
# passwd postgres
Changing password for user postgres.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

ロールの設定
# su postgres
bash-2.05b$ createuser ユーザー名
新しいロールをスーパーユーザとしますか? (y/n) n
新しいロールにデータベース作成権限を与えますか? (y/n) y
新しいロールにロールを作成する権限を与えますか? (y/n) n
CREATE ROLE

ロールで設定したユーザーでログイン
データベースの作成
$ createdb データベース名
CREATE DATABASE

ネットワークからの接続を許可するため、設定ファイルを修正
# vi /var/lib/pgsql/data/postgresql.conf

以下の行を追加
listen_addresses = '*'
#listen_addresses = 'localhost' # what IP address(es) to listen on;

他PCからネットワーク越しに接続する許可をあたえるため、設定ファイルを修正
# vi /var/lib/pgsql/data/pg_hba.conf
以下の行を追加
host all ユーザー名 192.168.1.0/24 trust

ちなみにむちゃ弱設定です。coldsweats01
Windows上からお手軽にデータ移行したかったもので・・・。

再起動します。
# /etc/init.d/postgresql restart

ファイアウォールの 5432 ポートを開けます。
デスクトップ→システム管理→セキュリティレベルとファイアウォールの設定 を起動し、
その他のポートに、
5432 tcp
を追加します。

JDBCをTOMCATへ設定
JDBCの場所を確認
# rpm -qs postgresql-jdbc
通常 /usr/share/pgsql/postgresql-8.1-410.jdbc2.jar
通常 /usr/share/pgsql/postgresql-8.1-410.jdbc2ee.jar
通常 /usr/share/pgsql/postgresql-8.1-410.jdbc3.jar
TOMCATのlibディレクトリへ移動
# cd /usr/local/tomcat/lib/
JDBCのリンクを作成
# ln -s /usr/share/pgsql/postgresql-8.1-410.jdbc3.jar ./


ApacheとTOMCATの連携
mod_proxy.soの設定が無いので使えないのか!?と思い調べたら、
ひとにやさしく の apache2.2 + Tomcat 5.5 のページで既にやってる人がいました。助かります!

/etc/apache2/conf/httpd.confの
LoadModule proxy_module modules/mod_proxy.so
の下に以下を追加
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

/etc/apache2/conf.d/ に proxy_ajp.conf を作成
# cd /etc/apache2/conf.d/
# vi proxy_ajp.conf
以下を記入
ProxyPass /Web上のディレクトリ/ ajp://localhost:8009/TOMCAT上のWEBアプリの位置/

以上で、サーバ構築時のコマンド全てです。


以下、その他ハマった設定集

○TOMCATのGETメソッドの文字コード対策
server.xmlファイルのタグに
useBodyEncodingForURI="true"
を指定しないとsetCharacterEncodingが無視されてUTF-8で処理されてしまう。
これ、TOMCAT4→5への移行時にハマったにも関わらず、忘れていてハマりました。

# vi /usr/local/tomcat/conf/server.xml
ポート8080と8009の記述が
connectionTimeout="20000"
redirectPort="8443"
useBodyEncodingForURI="true" />
のような感じになります。
useBodyEncodingForURI="true"
を追加するだけです。

Apacheと連携している時は、当たり前ですが
ポート8080と8009
というのがミソで、(8080は使わないなら塞いでおいてもいいのですが)
一般的なWeb上の解説では8080ポートの事しか書いてないから、鵜呑みにするとハマります。
(経験者談crying

TOMCATを再起動
# /etc/init.d/jsvc restart
Shutting down jsvc: [ OK ]
Starting jsvc: [ OK ]

○PostgreSQL8.0のJDBCドライバを7.4.x互換モードで動作させる
JDBC8から大幅に仕様が変わったそうで、Web上でももめてました。(笑)判るまでけっこうハマりました。
JDBC7と同じ動きをするように
JDBCの接続文字列に protocolVersion=2 を追加する必要があります。
↓参考記事
http://tidus.ultimania.org/wiki/index.php?PostgreSQL

○PostgresSQLが文字化けで落ちる対策
VineLinux4.2のPostgreSQLでデータベースを作成すると、
デフォルトでEUC-JPになりますが、UTF8にあってEUC-JPに変換できない文字を
使用するとJDBCからの文字コード変換時にエラーが出て落ちる仕様になってしまいました。
Java使いには、大いに問題です。Windowsの「~」をINSERTすると落ちます!
なんで文字化けしないで落ちる仕様にするかなあ・・・。

そこで、JAVA→PostgreSQL間の文字コード変換を行わない為に、データベースをUTF8で作成しておきます。

まず、EUC-JPで作成したデータベースを削除
# su - postgres
$ dropdb データベース名
DROP DATABASE

同じデータベースを、UTF8で作成します。
$ createdb -E UTF8 データベース名
CREATE DATABASE

EUC-JPのVineから見ると文字化けしまくりですけどね。coldsweats01

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

2008/05/13

VineLinux4.2にAzureusをインストールする

この間、Ubuntuを8.04にアップグレードした所、BitTorrentのクライアントにTransmissionがインストールされていました。
近頃はLinuxの配布にBitTorrentを使用していることも多く、そろそろ導入を考えないと、と思っていた矢先でした。

使ってみた所、思ったより簡単でした。Linuxなどの配布をBitTorrentで行っている所にはトレントファイルのダウンロードができるリンクがあるので、トレントファイルをダウンロードし、BitTorrentのクライアントで開くだけです。
すると、ファイルのダウンロードができます。

でも、Ubuntu8.04はWindows用ノートパソコンにインストールしていることもあり、ハードディスクの空きが10Gしかありません。
そこで、VineLinux用デスクトップマシンに新たにBitTorrentクライアントをインストールすることにしました。
こっちなら60G空きがあるので大きなファイルでも安心です。

で、VineLinuxのパッケージを調べたのですが、KTorrent があるのみです。
なんてマイナーな!
BitTorrentの御三家は、μTorrent、BitComet、Azureus でしょう。
ネットでVine用のBitTorrentクライアントについて検索した所、Azureusをインストールしている方が多いようです。
@ITのLinux Tips Indexでも、「BitTorrentでファイル交換を行うには」 でAzureusを使っているし。

で、上記@ITの記事を参考にインストールしてみました。
ソースを
http://azureus.sourceforge.net/
からダウンロードします。

$ tar jxf Azureus_2.2.0.0_linux.GTK.tar.bz2
で解凍し、
$ cd azureus
$ ./azureus
で起動できます。
ここまで、すべてユーザー権限でOKです。

ちなみに最初、エラーが出て起動できませんでした。
Javaのプラグインに必要なモジュールが足りない、という感じのエラーだったと思います。
その時はSUNのJava1.5を入れてました。
@ITでの記事では1.4以上って書いてあったけどなんでかな?
Azureusのページには最新のJavaを使うようにというふうに書かれていたので、今のご時世1.5は古いのかも。
そんなわけで、SynapticからVineのパッケージで配布されているJava1.6をインストールしました。
(1.5はアンインストールし、設定していたPATHなども元に戻しました。)

っつーか、VineもJavaのパッケージを作ってたんだ〜。今回初めて知りました。
Javaも本格的にOPEN化されてきたので、これからはデフォルトで入ってくるんだろうなあ。
SynapticでJavaのバージョンを更新できるのでWindowsより使い勝手がいいですね。

そうすると、後は
$ ./azureus
だけで起動できます。
設定ファイルを見ると、JavaのPATHとかを記入する必要がありそうな感じですが、VineのJavaはインストールした時点で/usr/binだったかにリンクが貼られるので、パスを通す必要すらありません。
実行すると勝手にJavaのディレクトリを検索してくれます。

しかも、ネットの情報ではルータのポートを開ける必要がある、という説明があるのですが、最新版のAzureusには既にUPnPのプラグインがデフォルトで設定済みなため、ルータがUPnPに対応していれば手動でポートを開ける必要すらありません。
ま、つまるところ、インストールしたら無設定で使えるようになっているということで、非常に簡単でした。


初めてBitTorrentを使った感想ですが、快適なダウンロード環境がある人って世界的には珍しいんですね。coldsweats01
数B/Sぐらいの接続のピアがかなりあるのですが・・・。
私んちは光回線なのですが、おかげでシードレベルがむちゃむちゃ高いです。

で、やぱり日本人のシードが多い所はダウンロードも超速で、KnoppixのDVDをダウンロードしたときは、数メガB/Sぐらいの速度が出てました。coldsweats01

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

2008/03/23

VineLinux4.2でWebDAVを使用する。

前回、VirtualBoxでVineLinux4.2を仮想化できたため、日ごろ試してみたかったけど怖くて出来ないような検証ができるようになりました。

その第一弾
Linux4.2 と Apache2.2 で WebDAVサーバを立ててみます。
WebDAVの設定自体は VineLinux2.6 Apache1.3 の環境で行ったことがあります。
WebサーバのWebDAV化に挑戦
この時は、Vineのパッケージで mod_encoding が提供されていたため、そんなに苦労せずに設定できましたが、VineLinux4.2 では提供されていないようです。
ネットで調べても、Apache2でのWebDAV化は、パッチを当てたりモジュールを組み込んだりとややこしそうです。
どうなることやら。

参考にしたページはいくつかあります。
本家(?)のWebDAV Resources JP
困った時にはよくお世話になるパソコンおやじWebDAVの日本語対策でmod_encodingを導入すると、他のソフトの日本語環境やPHPやCGIで文字化けが発生する。とか、
Cyber SupportVine Linux 3.2 の Webdav に mod_encodingとか。

で、一番楽できそう(汗)だったのが
WebDAV PukiWikiでした。
というか、いろいろ失敗を繰り返しているうちにこのページにたどり着いた感じ。


さて、以下行った作業です。

まず、VineLinux4.2のApache2.2について調べました。
/usr/sbin/ に本体がいる。
設定ファイルなどは
/etc/apache2
以下にあり、モジュールの置き場所もここから辿っていける。
コンテンツは、
/var/www 以下に設置するようになっている。


WebDAVの設定
WebDAVは標準で使用可能になっていますが、
/etc/apache2/conf/httpd.conf
には、ロックファイルの設定のみ書かれています。
/etc/apache2/conf/extra
に、httpd-dav.conf
があるので、これを利用します。
/etc/apache2/conf.d へコピーします。
$ su -
# cd /etc/apache2/conf.d/
# cp ../conf/extra/httpd-dav.conf ./

httpd-dav.confを編集
# vi httpd-dav.conf
ロックファイルなどの設定がありますが、Vineのデフォルトの設定とは異なっているので、
15行目~36行目までをコメントします。
/var/www/dav をWebDAV用のフォルダとして設定することとします。
以下を記述。

Alias /dav "/var/www/dav"

<Location "/dav">
    Dav On
</Location>


ちなみにこれは動作確認のための最低限の設定です。(検証環境なので。)
本来は、
WebサーバのBasic認証
とか
WebサーバのWebDAV化に挑戦
で書いたものと同じ方向になるかと思います。


/var/www/dav ディレクトリを作成し、apacheユーザー権限にします。
# cd /var/www
# mkdir dav
# chown apache:apache dav

Apacheの再起動
# service apache2 restart
サーバへ接続、から
http://localhost/dav/
に接続し、ファイルが置けるか確認します。

Windowsから使うと、案の定文字化けしました。
日本語に強いVineLinuxだからと思って淡い期待を持っていたのですが。(笑)
やっぱりmod_encoding をインストールする必要があります。
本来はパッチを当てたりとか、かなり大変なのですが、
http://elug.selfip.org/index.php?WebDAV
にパッチを当てたものをまとめてくれているので、ここの
mod_encoding-20061118.tar.gz
を使ってみました。
Fedora Core 6 用なんだけど・・・・。


apxsを使用できるようにSynapticから、apache2-devel をインストールします。
apxs は、/usr/bin/ にインストールされます。

mod_encoding-20061118.tar.gz
をダウンロードし、ユーザーのホームディレクトリに置きます。
展開します。
$ cd
$ tar xzvf mod_encoding-20061118.tar.gz

インストール
$ cd mod_encoding-20061118
$ ./configure --with-apxs=/usr/bin/apxs
$ make
$ gcc -shared -o mod_encoding.so mod_encoding.o -Wc,-Wall
できたモジュールを、Apacheのモジュールのディレクトリへコピーします。
$ su
# cp mod_encoding.so /etc/apache2/modules/

httpd.conf の
LoadModule dav_fs_module modules/mod_dav_fs.so
の下に、
LoadModule encoding_module modules/mod_encoding.so
を追加します。

httpd-dav.conf に以下を追加します。

<IfModule mod_encoding.c>
    EncodingEngine on
    NormalizeUsername on
    SetServerEncoding UTF-8
    DefaultClientEncoding JA-AUTO-SJIS-MS SJIS
    AddClientEncoding  "cadaver/" EUC-JP
</IfModule>

ここの
SetServerEncoding UTF-8
がポイントです。
SetServerEncoding にEUC-JPを使いたいのですが、
DavServerEncoding EUC-JP を記入できないのです。(エラーになる。)
この状態で SetServerEncoding にEUC-JP と記入すると、文字化けしてしまいます。
UTF-8にするとターミナルなどからファイルを見ると化けてしまうのですが、しかたないかなあ。
VineのファイルマネージャNautilusは日本語に超強力で文字化けしにくいので、実用上は問題無いと思い納得しています。
(GUIが無いとダメだけど・・・。)

さて、Apacheを再起動して動作を確認します。
# /sbin/service apache2 restart

今度はLinuxからファイルを置いてもWindowsからファイルを置いても文字化けしません。

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

2008/03/22

VirtualBoxでVineLinux4.2を仮想化する

この間、VirtualBoxでUbuntu7.10(日本語版)を仮想化してみました。
思ったより簡単にできたので、今度はVineLinux4.2をインストールすることにしました。
というのも、我が家のWebサーバがVineLinux2.6で、既にサポート切れのためにBineLinux4.Xへの移行を考えているのだけれど、Apacheが1.3→2.2と明らかに環境が異なるので躊躇しているのです。
本番環境で検証するわけにもいかないし。

VirtualBoxでテスト環境を作って検証できれば、移行もスムーズに行くかもしれないと思ったわけです。

環境は、
CPU AthlonXP 2500+
グラフィック RADEON9600PRO
メモリ 1.5G
ホストOS(VirtualBoxをインストールした側) Windows2000
ゲストOS(仮想化側) VineLinux4.2
です。

VirtualBoxのインストールやネットワークの設定は、VirtualBoxでUbuntu7.10(日本語版)を仮想化した時に終っています。
VirtualBoxを起動して「新規」を選べばウィザードが出てくるので、それにしたがってインストールすればOKです。
OSのインストール方法を知っていれば、画面の設定以外は特に詰まる事も無く進めると思います。
ちなみに、メモリに512M、ビデオメモリに8M、ハードディスクに20Gを割り当てました。

とか言いつつ、最大の難関は画面です。
VineLinuxインストール時に、使っているモニタを聞かれるのですが、VirtualBox的にはモニタは何を使っていることになっているのだろう???
判らないので、そのまま進めたら解像度が800×600になってしまいました・・・。
これは使いにくい、ってので、再インストールしました・・・。
モニタは、なんかそれっぽい汎用的なのを選んでおくと良いのではないでしょうか?よく解りません。
私は LCD Panel 1280x1024 というやつを選んでいます。
でも解像度は1024x768になっているのですが、使いにくくもないのでそのまま使っています。

インストール直後の xorg.conf のモニタ部分は、

Section "Monitor"
    Identifier   "Monitor0"
    VendorName   "Monitor Vendor"
    ModelName    "LCD Panel 1280x1024"
 ### Comment all HorizSync and VertSync values to use DDC:
    HorizSync    31.5 - 67.0
    VertRefresh  50.0 - 75.0
    Option        "dpms"
EndSection

Section "Device"
    Identifier  "Videocard0"
    Driver      "vesa"
    VendorName  "Videocard vendor"
    BoardName   "VESA driver (generic)"
EndSection

Section "Screen"
    Identifier "Screen0"
    Device     "Videocard0"
    Monitor    "Monitor0"
    DefaultDepth     24
    SubSection "Display"
        Viewport   0 0
        Depth     24
        Modes    "1024x768" "800x600" "640x480"
    EndSubSection
EndSection

となっていました。

さて、OSのインストールが終れば、問題なく使えます。
ゲストとホストのマウスを切り替えるのには、右のCtrlキーを押せばOKです。
が、VirtualBox には Guest Additions という拡張ドライバがあり、これをインストールすればマウスをCtrlキーで切り替えなくても、ゲスト上にマウスポインタが有るか無いかでマウスが切り替わるので便利です。

VirtualBoxのメニューの、デバイスのGuest Additionsのインストールを選択すると、CDがマウントされた状態になるのでここからインストールするのは解るのですが、rootで VBoxLinuxAdditions.run を実行してもエラーになるんですよね・・・。

でネットで調べた所、日々のあしあとVirtualBox のインストール方法 (2)に使い方が載っていました。
# sh /media/VBOXADDITIONS_1.5.4_27034/VBoxLinuxAdditions.run
で、うまくいきました。
そっか。bashではだめなんですね。(汗)
ここのページは、Vineをホストにした場合のインストール方法も載っているので、参考になります。

これでVineLinux4.2の検証環境ができました。
設定に失敗した時はスナップショットで無かった事にできるので、大助かりです。

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

2007/11/05

VineLinux4.1でYSFLIGHT2000を動かしてみる

巷で有名なフリーのフライトシミュレータ、YSFLIGHT2000ですが、前からLinux版があるのは知っていました。
というか、Vector数少ないUNIX用ゲームソフトのひとつなんです。(笑)

ダウンロードはVectorからできます。
また、操作方法などの情報は、作者のページに乗っています。


インストールした環境です。
OS VineLinux4.1
CPU Pentium3 1Ghz
グラフィック Matrox MillenniumG450
ってなスペックです。
今のPCからすれば旧式のスペックですが、快適に動きました。


インストールは、ファイルをダウンロードして適当な所に置いて解凍するだけです。
私は、ユーザーのホームディレクトリ直下に置いています。
ysflight/document ディレクトリにマニュアルがあるので見てみると、インストールディレクトリで
$ ./ysflight
で起動するそうです。
やってみたところ、
./ysflight: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
というエラーが。ありゃりゃ。

ファイルを検索してみましたが、libstdc++.so.6 というファイルはありません。
libstdc++.so.5 ならあるんですけど・・・・。
ネットで調べてみると、libstdc++34 というパッケージに含まれているそうなので、Synapticを使ってインストールしました。
で、もう一度実行してみると、見事に起動しました!
やった〜。
思ったより簡単で、拍子抜けしました。

でも、マウスで動かすのが難しい・・・。慣れの問題なのだろうけど・・・。

ジョイスティックは使えないのかなと思い、Linuxでジョイスティックを使う方法を調べたら、ここに載っていました。
Linux でゲームパッドを使う
ここでは murasaki にUSBを認識させる正攻法が載っています。
私は面倒なんで、rootから直接モジュールを読み込ませました。(おいおい・・・)
# modprobe joydev
$ lsmod | grep joydev
で、joydevが表示されれば読み込めています。

YSFLIGHT2000を起動したところ、ジョイスティックが使えました!
すげ〜。
ちなみに使ったジョイスティックは、GAMETECHのPCツナイデントUSB1・2・3というやつです。
これにドリキャスのコントローラをつないで動かした所、アナログスティックも問題なく使えました。

でも、ドリキャスコントローラで標準設定だと、ラダーがアナログR、推力がアナログLに割り当たってしまいます。
推力はいいとして、ラダーを真ん中にするにはアナログRを真ん中で止めておかなくてはいけなくて、そんなのできるか!って感じです。
理想としては、推力を他のボタンで上下し、ラダーをアナログL、Rでできればいいのですが、アナログキーでは1つにしか割り当てできませんでした。
そこで、デジタルのL、Rにラダーを割り当てました。
ラダーを使うときは、L、Rを連打する必要があり若干使いにくいのですが、基本的にエルロン使えれば曲がれるし、ラダーは着陸の時しか使わないだろう、ということで、なんとか操縦できています。

ちなみにLinux版だと、コントローラの設定をするには手で設定ファイルを書き換えることになります。
ここが面倒なんだけど、Windows版と設定ファイルのフォーマットが同じなんで、Windows版で設定してLinux版に持ってくれば簡単です。

じゃあ最初からWindows版を使えばいいじゃん!とお思いのあなた、それだったらそもそもLinuxを触っていませんって。
Linuxで動かしてこそ意味があるのだ!
Ysflight2000

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

より以前の記事一覧