月別アーカイブ: 2010年5月

複数キーボードの混在

ノートPCのメインキーは英語キーボードにしてるのですが、最近MZ-2000エミュレータで当時のBASICマガジンなどのゲームを打ち込んでるとカナ入力が厳しくて外付けUSB経由で日本語キーボードを繋いで共存させようと思いました。
しかし、繋ぐと外付けキーボードも英語キーで認識されるし。ELECOM製なのでツールを使って日本語キーにして再起動すると、メインまで日本語キーになって使えないとわかりました。
いろいろと調べてみると混在してもエミュレーションしてやってくれるソフトがあるとわかりましたが、有償なのでどうも気に入らない。この程度なら出来て当然じゃ?と思ったので別の方法が無いか調査。探し出したのが、外付けUSBキーのドライバをTOSHIBA USB 109 Japanese keyboardにすれば共存出来るらしいとのこと。
デバイスマネージャから手動でドライバを更新してみると共存できました。つか、これくらい普通に出来て当然じゃね?機器を正しく認識しないのが問題であってさ。違った機器を使うならまだしも…。
ちなみに英語キーのままだとカナ表記の一部が入力できなくて苦労したりする。MZ-2000ではテンキーに00キーってのがあって、そのキー内容が$23と$24なのでPOKE $23,アスキーコード で入力したいコードを指定して00キーを押せば入力できる。この技を使えばカーソル制御、画面消去などの特殊な文字も入力できる。MZ系だけなんだけどね。80K/C系列だと難なく入力できるのですけど、80B系列はキー入力できないけど特殊な技で入力できる。これ以外にもファンクションキーに登録する方法やビデオRAMの切り替えを使って画面に出してそれを編集する方法もある。
まあ、これで日本語キーが使えればカナ入力以外もいくつかOKになるのでチェッカーと黒塗り四角、黒塗り円、制御文字だけ00キー技を使えばいいことになる。これで楽になるかな。

FirefoxのCPU異常使用

以前調べたらabout:configでconfig.trim_on_minimizeをtrueにして再起動すればCPU使用率を抑えられるって記事があったので追加してあるのですが、最近また異常にCPUを消費する場合がある。
使用してるアドオンは、拡張機能でMicrosoft .NET Framework Assistant、テーマはデフォルトのまま追加なし、プラグインはAdobe Acrobat、MicrosoftR DRM、Mozilla Default Plug-in、Shockwave Flash、Winamp Application Detector、Windows Media Player Plug-in Dynamic Link Library、Windows Presentation FoundationとAcrobatとFlash、Winampが入ったくらい。よくアドオンが悪さするって話がありましたけど、それが原因なのかよく見えてません。
そもそも調べても事例が前述のケースか、Flashなどのアドオンが古いとかそういうのしか見当たらなくて。
通常の使い方は、1ウインドにタブを10個くらい開いてますけど、どこかのページが悪さしてるとも考えにくい。5個程度で別ウインドにしてもいいですが、それも余計にリソースを食いそうでどちらがいいのやら。マシンは基本的に再起動せず、寝る前にサスペンドさせる感じ。
憶測だとネットワークが絡んで何か起きてるように思う。リクエストを出してる途中で反応が無い場合の処理とかその辺りかな…なんて。根拠はありませんが、よくドメインコントローラ周りでタイムアウト関係でトラブルがあった気がするし。
まあ、もう少し情報を集めて見るしか。

さぼり気味

いろいろとあって忙しかった。Master of Epicをやってたからじゃないんだよ。

つーことで、小説を買った。ラノベで980円は高くね?って思いますけど、オンラインゲームで使えるアイテムが付いてるのでこの値段なのでしょう。最近の小説は高いからこんなものと思いますけど、ちと痛い金額かな。
ゲーム内で使えるアイテムは、左手に装備する盾の代わりですが、フェレットもどきみたいなのが装備できるようになる。ペットに将来なるならいいな…なんて思いますけど、こういう特殊なアイテムは無理だろうね。前の小説であるマスター オブ エピック ~運命の双子~ (HJ文庫)は腰の装飾品だったけど今回の方がいい感じ。
そういえば前の奴の途中で止まっていて話もすっかり忘れてる。読み直さねばw

起動しなくなる

ノートPCにWSBuilderを入れて再起動してみたら起動しなくなった。問題はソフトというよりハード障害ですが、ブート時にハードチェックが終わってHDDからブートしようとするとそこで止まるという。Missingは出ないのでHDDからブートプログラムが読み取れないと思うのですが、修復インストールしても起動できなかった。CHKDSKも非常に時間がかかって正常終了っぽく見えるけど修復してるっぽく見えつつ実は何もしてない感じで何だか。
復旧作業前にコミケで江戸らぐさんから貰ったSLAX-jaのCDRを使って起動してWindowsマシンへHDD内容をコピーしました。SLAXだとCIFSのマウントができるので、Windowsのデフォルト共有であるSharedDocsもマウント出来て救済にちょうどよかったりする。tarとかzipで固めてコピーと思ったのですが、Linux上ではSJISだと駄目なのでUTF-8で圧縮してしまう。これだと共有へ持っていってもWindowsで解凍するとUTF-8のまま解凍するのでNGだったりする。なので、共有へディレクトリごとコピーで対処しました。これだとNTFS(SJIS)→(mountで変換)→Linux(UTF-8)→(CIFSで変換)→Win(SJIS)とコピーされるのでWinで中身を見る場合問題なく参照できるという感じです。
Windowsの再インストールはSLAXからmkfs.ntfsでフォーマットしておき、Windowsのセットアップからクイックフォーマットしてセットアップしました。またアクチが動いてしまいましたけど何とかセットアップできました。一応CHKDSKしてみたけどエラーがまったく無いのが不気味すぎる。
ThunderBirdとFireFoxはApplication Data内の各フォルダとLocal Settings内のApplication Dataフォルダ内のフォルダをコピーしてセットアップしたら元に戻りました。ブックマークも履歴もキャッシュまでもそのままなので一安心です。問題点はインストーラーを通さないアプリ類のバックアップが欠落してしまっていて面倒なのでメインマシンからコピーしなおして復旧しました。余計なのを入れない予定だったけど面倒だし。そしてクイック起動を復元して元に戻りました。
忘れてたのが1点あった。うちのノートはThinkPadですが、トラックポイントのドライバが持つ設定ファイルにFireFoxの設定がないのを忘れてて何度かセットアップしていた点。何でセンターボタンのホールド+上下でスクロールしないのか謎だったよ。
あとはコンパイラを何にするか悩んだけど入れようとしていたWSBuilderはマルチプラットホームでいいのはわかるのですけど、Windows的な操作性に問題があるプログラムってわかったので利用を諦めました。キーバインドをきっちり設定すればいけそうですけど、デフォルトでWindowsとの親和性が低いってのは致命的かと。メニューをマウスで選んで左右にマウスを動かすとメニューの隣などが開いたりしますけど、そういうのが出来ないと何だ?こりゃ?ってなりますので。また、gccであるMinGWですが、どうもアップデート関係の仕組みがいまいちわかりにくい。MSYSと別システムになってるのでMSYS関係はMSYSのインストール先へ解凍して上書きすればいいのですけど、MinGW関係のコマンドとダブってたりするし整合性が取れなくなったら調べるのも面倒になりそうで結局消しました。gccが使えるとLinuxと連携して開発が出来るので魅力的なのですけど、突き詰めればforkとかプロセス制御関係がそのまま動かないみたいですし、WindowsはWindowsで何とかしないと駄目って感じか?なので、結局Borland C++5.51とPlathome SDKを入れました。リソースエディタがないのでOpenWATCOMも入れてリソース周りはこちらを使おうかと考えてます。まあ、これでサクラエディタとかエミュレータの一部はコンパイルできるので事足りると思われます。(MSの開発ツールに屈せればいいのですが高いしねぇ。貧乏サンデープログラマには手が出せません)

vmware player

2.6.32だとvmware playerのネットワークが駄目だ。ブリッジで使ってるのですけど、それ以外はわかりません。
playerを起動すると毎回updaterが動いてコンパイルするのですが、どうやらvnetUserListener.cがバグってるらしくて、コンパイルエラーが出る状態です。それによりvmnet.koが作成されずにネットワークモジュールがロードできないという状況。
対処方法がぐぐると下記にありました。
http://blog.chmouel.com/2009/12/05/vmware-vmplayer-and-kernel-2-6-32/
ちょっと読み替えると、/opt/vmware/player/lib/modules/source/vmnet.tarを展開、vmnet-only/vnetUserListener.cを開いて37行目(includeが並ぶ次の行)に#include “compat_sched.h”を追加して書き込み、vmnet.tarを書き換えればいい。そしてvmplayerを開始すればupdaterが動いてコンパイルするのでモジュールが出来るという感じになります。
前のカーネルで動かそうかと考えましたけど、やはり同じ問題で解決方法もあるから調べるしかないですね。外人のブログとかすげーな。Gentooだとバイナリ提供以外はソースが手元にあるわけだから調べて解決してるんだろうね。そのパワーは見習わないとね。

アップデート覚書

1.emerge –sync
2.emerge -uDNp worldでアップデートされるパッケージを確認。
 マスクされるパッケージは警告が出るのでチェック。不要なら消す。
3.gentoo-sourcesがある場合は先行してアップデートし、カーネルを再作成。
4.emerge -uDN worldでアップデート。
5.カーネルが新しい場合、下記パッケージをリコンパイル
 ・nvidia-drivers(ati-driversもそうかも)
 ・xf86-input-*(不要な場合が多いけど一応。)
 ・vmware-playerを起動してupdaterでモジュールをアップデート。
6.opensslが含まれる場合、proftpdをリコンパイル。
7.2でライブラリとか消した場合も含めてrevdep-rebuildでリンク切れをチェック。切れてるファイルを一覧し、equery b ファイル名でパッケージ名を調べてリコンパイル。(revdep-rebuildは消されたライブラリを再コンパイルするので参照する側をコンパイル)
8.念のため再起動。
うちの環境ではこれくらいかな?使うパッケージの組み合わせではもっといろいろありそうな感じです。