EeePCの最近のブログ記事

Eee PC 4G に FreeBSD 8.1-RELEASE を載せて(主にお遊び試験用の)サーバにしているのだが、そこに Perl の Gtk2 モジュールを入れて、Perl で GUI プログラムを書いてみた。

最初は CPAN モジュール使ってインストールしようとしたのだが、あれが足り無い、これが足り無いと依存関係で色々怒られて、なかなか先に進まないので packages から入れることにした。(ports で入れろと"煩い FreeBSD ユーザ"に怒られそうですが(^^;)

sysinstall を実行し、試しに FTP インストールを選んでみたら、まだ ftp.jp.freebsd.org サーバに 8.1-RELEASE 用の packages が残っていたので、そこから 

p5-Gtk-0.7009_4 The base module of Gtk-Perl
p5-Gtk2-1.221_3 Perl module for Gtk+ 2.x graphical user interface library

等のモジュールをインストールした。

で、早速、Wikipedia の Hello World プログラムの説明ページに載っている Perl プログラムのソース例を元にしたプログラムを書いて、Eee PC 上で実行してみた。(もちろん、「Hello World と表示されるだけ」の簡単なプログラムね:-))

20111212_gtk2.JPG
最初、ボタン上に表示される文字列に日本語を使ってみたのだが見事に化けた(^^;
プログラムは UTF-8 で書いているので、特別何をしなくても日本語が表示されるだろうと思っていたのだが甘かったか?

なんとなく、「Perl 5.8 以降は use utf8 宣言しなくても、ディフォルトでソースの文字列は UTF-8 だと判断されるので大丈夫」的記憶があったのだが間違いだったのね。試しにやってみると「終了」という文字がボタンの上で化けまくりである。

ありゃりゃと思いつつ、

use utf8;

を追加してやると、これだけでボタン上の文字化けが解消されて、正しく「終了」と表示された。

こりゃ、暇な時に遊べる環境が出来たなあ。でも、ま、「暇な時」というのがなかなか無いのだが・・・(^^;

ええと、取りあえず、EeePC 4G-X 上の Xfce on FreeBSD 8.1-RELEASE な環境で、MPEG 動画の再生も出来るようになった。

例えば市販の映画 DVD とか、そういうのからの再生はまだ出来てないんだけど(mount が上手くいかんのよね)、MPEG ファイルにしてしまえば再生出来る。
というか、動画の再生自体は、KDE4 入れた時点で出来てたんだけど、音が出てなかったのよねえ。

どうも、サウンドカードのデバイス関係は /boot/loader.conf にちゃんとロードするように書いてやらないと駄目なようだ。

sound_load="YES"
snd_hda_load="YES"

という記述を追加してやったところ、

hdac0: <Intel 82801F High Definition Audio Controller> mem 0xf7eb8000-0xf7ebbfff irq 16 at device 27.0 on pci0
hdac0: HDA Driver Revision: 20100226_0142
hdac0: [ITHREAD]
hdac0: HDA Codec #0: Realtek ALC662
pcm0: <HDA Realtek ALC662 PCM #0 Analog> at cad 0 nid 1 on hdac0

という具合にサウンドカード(Realtek ALC662)が認識されるようになった。

20101030_eeepc1.JPGこれで、Dragon Player で MPEG ファイルを再生した時、ちゃんと 4G-X のディスプレイの両側にある内蔵スピーカー、ヘッドホンのどちらでもちゃんと音が出るようになる。
もちろん、音量調整等も問題無し。
但し、内蔵スピーカーはちょっと音量不足な感じ。静かなところでないとよく聞こえない。でも、まあ、Windows でもこんな感じだった気はするな。

これで、日本語入力も出来るので Gmail でメールのやりとりも出来るし、(Flash が動かないんだけど)Web 閲覧もほぼ問題なく出来るし、暇な時には動画も楽しめるし・・・ってことで、C01HW が来たら 4G-X をちょっとした外出の時のお供には十分出来るな。
Mac Book Pro 重たいからなあ。(^^;

まあ、外出先で設計とかプログラミングの仕事をするのなら Mac Book Pro 持っていかないと駄目だけど、緊急時の対応なら(メールやりとりしたり、サーバに ssh 接続してあれこれしたり、FTP でファイルの更新したり)4G-X で十分だ。

バッテリが 1時間ちょっとしか持たないのは問題だけどねえ(^^;

起動時に無線 LAN I/F が

ath0: <Atheros 5424/2424> mem 0xfbef0000-0xfbefffff irq 18 at device 0.0 on pci1
ath0: [ITHREAD]
ath0: AR2425 mac 14.2 RF5424 phy 7.0

という具合に認識されているし、ifconfig で見ても、

ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 2290
        ether 00:XX:XX:XX:XX:XX
        media: IEEE 802.11 Wireless Ethernet autoselect (autoselect)
        status: no carrier

となってるし、簡単に無線 LAN 接続も出来るだろうな・・・と思っていたのだが、これがなかなか・・・はまってしまった(^^;

# ifconfig ath0 ssid <SSID> mode 11g weptxkey 1 wepkey 1:0x<16進のWEPキー> wepmode on

とかやってみても、ifconfig: SIOCS80211: Invalid argument エラーでて全然駄目。
ググると、6.0-RELEASE の頃の問題ばかりがひっかかり、どうも 8.1-RELEASE に関する情報にはたどりつけず・・・

ということで、FreeBSD-users-jp メーリングリストで質問してみたところ、たかのゆ~じさんに「8 系では wlan0 を作成して使うようになった」ということを教えていただけた。

そこで、たかのさんに教えていただいたとおり、

# ifconfig wlan0 create wlandev ath0
# ifconfig wlan0 ssid <SSID> wepmode on wepkey 0x<16進のWEPキー> weptxkey 1 up

とすると、

ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 2290
        ether 00:XX:XX:XX:XX:XX
        media: IEEE 802.11 Wireless Ethernet autoselect mode 11g
        status: associated
wlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        ether 00:XX:XX:XX:XX:XX
        media: IEEE 802.11 Wireless Ethernet DS/1Mbps mode 11g
        status: associated
        ssid <SSID> channel 6 (2437 MHz 11g) bssid 00:XX:XX:XX:XX:XX
        regdomain 96 indoor ecm authmode OPEN privacy ON deftxkey 1
        wepkey 1:40-bit txpower 20 bmiss 7 scanvalid 60 bgscan bgscanintvl 300
        bgscanidle 250 roam:rssi 7 roam:rate 5 protmode CTS wme burst

という具合に wlan0 が作成され、DHCP で IP アドレス等取得するよう、dhclient コマンドを打ち込むと、

# dhclient wlan0
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 6
DHCPOFFER from 192.168.1.1
DHCPREQUEST on wlan0 to 255.255.255.255 port 67
DHCPACK from 192.168.1.1
bound to 192.168.1.185 -- renewal in 129600 seconds.

という具合に、無事、無線LANを設定することが出来た。

いや、そういえば、最近の携帯端末は SIM カード差し替えて使いまわせるんだから、機種変じゃなく、機種追加・・・なのかな?

今まで、外出先でのモバイル通信で SoftBank の C01LC というのを使っていたのだが、こいつは PC に直接刺して、ユーティリティソフトを使ってインターネット接続を行う仕掛け。なので、Windows か Mac でないと使えないのだ。

EeePC に入れた FreeBSD でも使いたいのだが、

ugen4.4: <USB Modem> at usbus4
umass1: <USB Modem USB Modem, class 0/0, rev 2.00/0.00, addr 4> on usbus4
umass1:  SCSI over Bulk-Only; quirks = 0x0000
umass1:1:1:-1: Attached to scbus1
da1 at umass-sim1 bus 1 scbus1 target 0 lun 0
da1: <USBModem Disk 2.31> Fixed Direct Access SCSI-2 device
da1: 40.000MB/s transfers
da1: 32MB (65536 512 byte sectors: 64H 32S/T 32C)

っていう具合に、FreeBSD じゃ単なる 32MB の USB メモリにしか見えない。
(「<USB Modem>」と表示されているのは、単なるこのデバイスの名前であり、実際に USB Modem として認識されているわけではない。「USB Modem と名乗っている USB メモリ」というだけの話)

一応、接続すると /dev/ttyv0 が作り直されるみたいなので、もしかするとモデムとしても認識されているのかもしれんが・・・だからどうすればいいのか全然わからん(^^;

Linux の ubuntu だと、usb_modeswitch を使って C01LC を USB Modem として認識させ、PPP 接続にも成功してるそうだが、FreeBSD で成功したという話は見つけられなかった。

いやあ、今でもサラリーマンだったら、趣味で C01LC 接続に挑戦してもいいんだけど、その辺、あんま詳しいわけでもないし(^^;、スパっと金で解決しようと・・・(笑)

Pocket WiFi SoftBank C01HW を購入したのである。

まだ、C01LC の支払い残高が 19,000円あるからねえ。これに、C01HW の 33,600円がプラスになるけえねえ。月々の支払いが 1,400円アップ?

昨日、ソフトバンク岩国室の木店で発注したんだけど、近隣の店にも在庫がないらしく1週間待ち。つーことで、まだ手元には届いてない。チャンチャン。

20101026_eeepc1.JPG広島で何か緊急にパソコンが必要になった時のために・・・ということで、Windows XP を入れた EeePC を観音の秘密基地に置いていたのだが、実際のところ必ず Mac Book Pro を持ち歩いているし、ほんとにどうしようもなければお客さんのところに行ってPC借りればいいしな・・・そもそも、この数ヶ月、EeePC に触ったこと一度もないし。(^^;

ちゅうことで、ちょうど持ち歩ける UNIX 系のサーバがあると便利だなと思っていたところだったので、EeePC に FreeBSD を入れてみた。
CentOS は以前入れてみたことがあるんで、今回は別の OS を。まだまだ、そういう探求心が消えてなかったな、俺(笑)

んが、CentOS の時はすんなりインストール出来たが(ネットワーク I/F を認識させるのには色々対応が必要だったけどね)、FreeBSD はやはりなかなか手強い。(笑)

1.USB 接続の DVD ドライブをインストールメディアとして認識しない。

ちゃんと USB 接続の DVD ドライブから FreeBSD インストーラは起動するのに、その後、インストール元のメディアとして認識しない。
でも、ネットワーク I/F は有線(ae0)も無線(ath0)も認識してたので、自宅の有線 LAN に接続し、ネットワークインストールを行った。

2.X Window System を後でインストールしようとしたら四苦八苦・・・(^^;

元々はサーバ用途を考えていたので X の関係は入れなかったのだが、まあ、使えれば使えたで便利だよなあ・・・と思ってインストールすることにしたのだが、

# pkg_add -r kde4
# pkg_add -r xfce4

しても、startkde4 や startxfce4 をしても、

bt::Display: failed to open display ''

とか、

$DISPLAY is not set or cannot connect to the X server

とか出て起動しないし。(^^;
いやあ、X を後でインストールし直すなんて、ほんまに 10年振りくらいなんで、全然わからん。(^^; X11R6 が X.Org とかになってるし。

結局、X.Org を、

# pkg_add -r xorg

してインストールし、

# Xorg -configure

で作成したサンプルの設定ファイル /root/xorg.conf.new を /etc/X11/xorg.conf にコピーする。
これで、startx で X Windows System が起動するようになる。

3.KDE4 でマウスが使えない

コンソールでは使えていたマウスが、X(KDE 4)を起動すると使えなくなる。
どうも、最近の X.Org は xorg.conf に記述されているマウス情報ではなく、HAL(デーモン型 Hardware Abstract Layer)でマウスの自動認識をするそうで、つまり、予め hald 等を起動しておかないといけないようだ。

ということで、/etc/rc.conf に

hald_enable="YES"
dbus_enable="YES"

という 2行を書き込んで再起動。
今度はちゃんと Window System の画面でマウスを使うことが出来た。

・・・と、サーバ機にするはずが、軽い気持ちで入れた X 関係でかなり時間を食われてしまい、なんだかなぁな状態であります。(^^;

さて、まだ日本語入力が出来ないとか、設定をまだまだ触らないといけないけど、一旦それはおいといて、サーバ用のアプリのセットアップを行うのである。

install_error1.jpgEeePC への、corega PS Admin IV のインストールが上手くいかない。

インストール先に D:\corega(既存のフォルダ)を指定すると「不正なパスが指定されました。」のエラーが発生。
C ドライブを指定すればエラーは出ないので、もしかしてリムーバブルディスクにはインストールできない仕様?いまどき、だっさー!もし、そうならダサすぎる。
ちょっと corega に確認してみよう。

ちなみに、インストール先を C ドライブにして先に進んでも、今度はプログラムフォルダの選択で同様なエラーとなる。
Program Files と Temp の移動」に書いたように、C ドライブの一部のフォルダが D ドライブに存在しているフォルダのリバースポイント(UNIX のシンボリックリンクもどき)になってるんだけど、それが引っかかってるんだろうなあ・・・と予想。
でも、Program Files もそうなんだけど、何故か Documents and Settings だけ問題になるのか?(インストール先として C:\Program Files はエラーにならず、スタートメニューへの登録でエラーになるので)不思議ぃ。というか、そんな中途半端なチェックするなや(--;>corega)

ああ、ネットワークプリンタが使えないので、ほんとうに不便。
corega は好きなメーカーだったが、こんなダサダサな実装をされるとちょっと・・・

090205_191944.JPGインフルエンザで寝たきりなので、漫画三昧の時間を過ごしていたのだがさすがに飽きてきたので、今までにパソコンで録り溜めているTV番組でも消化するか・・・と思って EeePC で再生しようとしたら、MPEG2 のコーデックが無くて Windows Media Player で再生できねえでやんの・・・。

そうか・・・いつもなら WinDVD か PowerDVD インストールするからな。そのときコーデックもインストールされていたんだよな。
EeePC はディスク容量に限りがあるので、WinDVD も PowerDVD も入れてなかったんだ。

ということで、フリーの MPEG2 コーデック「GPL MPEG-2 Decoder」をインストールした。

http://sourceforge.net/project/showfiles.php?group_id=98765&package_id=105790

しかし、映像は再生されるのだが音が出ない。
うーん・・・

今度は、様々なコーデックをサポートしている ffdshow を入れてみた。

http://sourceforge.net/project/showfiles.php?group_id=173941&package_id=199421

ばっちり!
これで、暇な病床生活が充実するってもんだ。:-)

winup20090128.jpgEeePC 4G-X で、久しぶりに Windows Update を実施した。

C ドライブを空けるために、リバースポイントを作ったり、レジストリを書き換えたり、あれやこれや裏技的対応をして以降、何度やっても Windows Update に失敗してたので、ああ、何か、やっちゃあいかんことをやってしまったかな・・・と鬱ってたんだが、なんだ、どうやら Windows Update のファイルに問題があったようだ。

以前、「Windows Update が出来ない」に書いた Update も、2日後くらいに自動 Update されてたよ・・・(^^;

久しぶりだったので、今回は大量に Update ファイルがあったが、全て問題なく終了した。

・Windows XP 悪意のあるソフトウェアの削除ツール - 2009 年 1 月 (KB890830)
・Windows XP Windows XP 用セキュリティ更新プログラム (KB958687)
・Windows XP Windows XP Service Pack 2 用セキュリティ更新プログラム (KB952069)
・Windows XP Windows XP 用 Internet Explorer 6 のセキュリティ更新プログラム (KB960714)
・Windows XP Windows XP 用の更新プログラム (KB955839) 
・Windows XP Windows XP 用 Internet Explorer 6 の累積的なセキュリティ更新プログラム
・Windows XP Windows XP 用セキュリティ更新プログラム (KB956802)
・Windows XP Windows XP 用セキュリティ更新プログラム (KB954600)
・Windows XP Windows XP 用セキュリティ更新プログラム (KB957097)
・Windows XP Microsoft XML コア サービス 6.0 Service Pack 2 用セキュリティ更新プログラム(KB954459)
・Windows XP Microsoft XML コア サービス 4.0 Service Pack 2 用セキュリティ更新プログラム(KB954430)
・Windows XP Windows XP 用セキュリティ更新プログラム (KB955069)
・Windows XP Windows XP 用セキュリティ更新プログラム (KB927779)
・Windows XP Windows XP 用セキュリティ更新プログラム (KB911562)

しかーし、Windows XP Service Pack 3 (KB936929) はうまく当たらないね。
INS64 で、しこしこダウンロードしてる最中に処理がキャンセルされちゃう。回線遅いからタイムアウトかなんかになってんのかね?

ま、そのうちポロっと上手くいっちゃうんだろうけどなあ。

winuperr.JPG  winuperr2.JPG

どうも、ディスクスペースを空けるためにあれこれやった後遺症で、Windows Update がうまく動かない。
しかも、Microsoft の「あんまり詳しいエラー原因は利用者に教えたくないんだ。だって、Windows の利用者って馬鹿な愚民でしょ?愚民に情報与えるとよくない結果を起こしたりするから」という普遍で不変なポリシーのおかげで、何が問題なのか全然わかりません。(^^;

誰か助けて。(^^;

<状況>
Windows Update をかけた後に再起動すると再び同じ Windows Update が実行される。延々と・・・(終了判定が正しく行なわれていない)

<原因の推測>
A.Program Files フォルダの移動と、元のパスへのリバースポイントの作成。
B.WINDOWS\Temp フォルダの移動と、元のパスへのリバースポイントの作成。
C.「システムの復元」の容量を最小値の 200MB まで減らす。
D.Windows Update でダウンロードしたファイルを全て削除。
E.Documents and Settings の移動と、元のパスへのリバースポイントの作成。
 (レジストリ操作あり。但し、リバースポイント作成後に元の設定に戻している・・・つもり)

・・・という作業を EeePC 上で行なったわけだが、A~B の作業後には正しく Windows Update は行なわれていたので、C 以降の作業が(全然問題ないと思うけど)Windows 的にはお気に召さなかったということか・・・

ただ、D の処理は、Microsoft のサイトでも「Windows Update がうまくいかないときに、ダウンロードした古いファイルを消して再度試してみよ」という記述があるくらいだから、やっちゃいけない操作ではないだろう。

つーと、C か E の作業がいかんかったのか???

C に関しては、今夜にでも大きめの数字に戻してみよう。
それで駄目なら E が原因ということか。(何か、Documents and Settings フォルダを移動すると、色々問題がある OS のようなので。それってどうなのよ・・・(--;)
そうなったらお手上げだなあ・・・(ま、とりあえず Windows Update しなくても困らないわけですが・・・)

たまたまここに辿り着いた「実は俺、原因わかるよ」という神がいらっしゃったら、是非お慈悲を。:-)

よもや、ドキュメントフォルダの移動がこれほど大変とは・・・
やっぱどこか病んでるなあ・・・Windows・・・
ここまで「使用者の勝手にはさせんけんね!」という態度を貫いているくせに、不正な攻撃にはからっきし弱い・・・どうしようもないな Windows ・・・
でも、各種ドライバ類が Windows 用しか提供されていない現状では、どんな糞OSでもそれを使うしかないのだ・・・あ~あ。やだ、やだ。

・・・と、定番の Windows 批判をして、さっそく作業。

まえすとろさんのブログが大変参考になった。
http://maestro.cocolog-nifty.com/maestro/2008/01/cdocuments_and__e737.html

何せ、C:\Documents and Settings の実体を D ドライブに動かそうにも、その中にある、「HKEY_CURRENT_USER」レジストリ以下の内容がそのまま入っているユーザプロファイルデータ(NTUSER.DAT)がガチガチにロックされてて、Unlocker を使っても移動できない。

なので、セーフモードのコマンドプロンプトで xcopy コマンドを使ってディレクトリ丸ごと D:\dovuments 等にコピー。再起動後、regedit で HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList 以下の %SystemDrive%\Documents and Settings の部分を D:\dovuments に修正していく。
そして再起動。

これで、C:\Documents and Settings の中がからっぽに出来る。
C:\Documents and Settings の中を全て削除したら、NTFS Utils を使って D:\dovuments を C:\Documents and Settings にマウント。

再度、regedit を使って、今度は D:\dovuments の部分を %SystemDrive%\Documents and Settings に戻していく。

で、再起動。

これにて、やっとこさ C:\Documents and Settings の実体を D ドライブに置いた状態で運用可能となる。

ああ・・・面倒くさ・・・(^^;
でも、おかげで EeePC 4G-X の C ドライブの空きが、1.7GB になりました。:-)

いやあ、でも、ほんと利用者をナメた OS だよね。Windows。
UNIX なら、ユーザプロファイルの入ったドットファイルを本人や root であればなんぼでも消せるし、ディレクトリを移動することだって可能だぜ。
「誤操作を防ぐため」とか言うんだろうけど、中途半端なんだよ、やることが。
でも、あまりにガチガチにシステムを見えない状態にしちゃうと、今度は業務端末として使えないからな。
で、中途半端でしょうもない実装になっちゃってるんだ。
OS が「わかってないヤツの誤操作」を考慮してどうすんの。つか、考慮しきれないだろ?どうせ。
なら、最初から中途半端なことすんなってんだよな。

このアーカイブについて

このページには、過去に書かれたブログ記事のうちEeePCカテゴリに属しているものが含まれています。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。


月別 アーカイブ

電気ウナギ的○○ mobile ver.

携帯版「電気ウナギ的○○」はこちら