最近、暑すぎる!!
仕事で外に出ることが多くてくたくた><
昔texで仕事の書類を作って見たことがあったので、またやってみようかなぁ〜とか思い、埃をかぶったLatex2eの本達を引っ張り出してきてツラツラ読んだりしてた。
当時使ってたのって、vineかDebianJPで日本のディストリだったから、勝手にインストールされてたんだけれど、、Archの場合、パッケージをインストールして、、ってわけにはいかないのね(^^;
なにやら時代はLatex3を通り越してtexLiveとかいうのに進化してるの??
そもそもtexそのものについて詳しいわけではなく、ディストリに入ってたLatexを使ってただけなので、なんのことかさっぱり分からん。Webで検索してみるとptexliveってのがあって、wiki上で日本のtexのこれからの方向性とか熱く議論されてた。んで、やっぱりわからんw
windozeで昔の本の付録についてるCDからインストールして使うのがお手軽かな
2009年7月2日木曜日
xtermでuim編集時の文字化け
IONノートの方にはなんとなくuim入れたんだけど、xterm上で使うと日本語入力してる最中の編集部分?が文字化けしてた。gtkアプリは問題ないみたい。
解決策はuim-jaっていうメーリングリストの「[uim-ja 142] Re: Mandriva 200 9.1 上でクラッシュ」で紹介されていた。
を~/.Xdefaultsとか~/.Xresourcesとかで読み込ませる。
2ちゃんで質問してみたら、同じ症状の人とかいた。
だけど、多分、普段みんなDE付属のgtkとかqtベースのターミナル使ってるだろうし、今更xtermとかでの不具合に気がつかなかったのかもしれないw
文字化けしてないよーって人が自分の設定とか紹介してくれたけれど、うちでは上手くいかなかった。
結局、文字化けする人としない人の違いって何処だったんだろう?
vineからビットマップフォント流用してみてるって人のを試したら上手く行ったのかな?
XTerm*font: とXTerm*fontDoublesize: で適切なフォントしていしたらxterm*ximFont: もそのフォントになるのかな?リソースの階層?のこととかいまいちよくわからん。
それ以前に、xrdbってのをすっかり忘れてた。はじめ~/.Xdefaultsにカキカキしてて、あれれ??だった。
Xの起動の仕方によるんだろうけど、うちではstartxでxrdbされてるらしい。
.xinitrcの先頭で
して、リソース設定は~/.Xresourcesに書くようにした。
すぐ忘れるので適当にググってメモ
UNIXの部屋 コマンド検索: ~/.Xresourcesとか?
解決策はuim-jaっていうメーリングリストの「[uim-ja 142] Re: Mandriva 200 9.1 上でクラッシュ」で紹介されていた。
xterm*ximFont: -misc-fixed-medium-r-normal--14-130-75-75-c-140-jisx0208.1983-0
を~/.Xdefaultsとか~/.Xresourcesとかで読み込ませる。
2ちゃんで質問してみたら、同じ症状の人とかいた。
だけど、多分、普段みんなDE付属のgtkとかqtベースのターミナル使ってるだろうし、今更xtermとかでの不具合に気がつかなかったのかもしれないw
文字化けしてないよーって人が自分の設定とか紹介してくれたけれど、うちでは上手くいかなかった。
結局、文字化けする人としない人の違いって何処だったんだろう?
vineからビットマップフォント流用してみてるって人のを試したら上手く行ったのかな?
XTerm*font: とXTerm*fontDoublesize: で適切なフォントしていしたらxterm*ximFont: もそのフォントになるのかな?リソースの階層?のこととかいまいちよくわからん。
それ以前に、xrdbってのをすっかり忘れてた。はじめ~/.Xdefaultsにカキカキしてて、あれれ??だった。
Xの起動の仕方によるんだろうけど、うちではstartxでxrdbされてるらしい。
.xinitrcの先頭で
xrdb -merge $HOME/.Xresources
して、リソース設定は~/.Xresourcesに書くようにした。
すぐ忘れるので適当にググってメモ
UNIXの部屋 コマンド検索: ~/.Xresourcesとか?
2009年6月30日火曜日
IONノート(その3)
すっかりとIONノートを気に入ってしまった。
このノートの画面サイズは12.1インチモニタで1368x768、S101の10.2インチで1024x600よりちょっと広いだけなんだけど、すごく広く感じる!!GNOME&Compiz Fusionの組み合わせも普通に動いてると思う。
不満は、、、無線LANがよく切れちゃうことかなぁ。。
lspciするとAtheros Communications Inc. AR9285 Wireless Network Adapterって出てて、ドライバはath9kでS101とおなじやつ。S101と違うのは、iwlistとかのスキャンはちゃんと出きるし、アクセスポイントにすんなり繋がるんだけど、暫くすると接続がきれちゃうっぽい、、windozeの方でも同じような感じで、こっちはS101の時よりも繋がりも通信速度もなんとなくイマイチ。。。
もうひとつは、ノート用の2Gメモリが一個余ってた。ドスパラのページのスペックみてみると、メモリ最大4Gとか書いてるから、メモリのスロットがもう一個あるんだろうとおもって、裏蓋あけてみたら、確かにメモリ用の空きスロットらしいところがあったので、取り付けてみたんだけど、どうも上手く認識してくれない、、、相性がわるいのかな、、、
このノートの画面サイズは12.1インチモニタで1368x768、S101の10.2インチで1024x600よりちょっと広いだけなんだけど、すごく広く感じる!!GNOME&Compiz Fusionの組み合わせも普通に動いてると思う。
不満は、、、無線LANがよく切れちゃうことかなぁ。。
lspciするとAtheros Communications Inc. AR9285 Wireless Network Adapterって出てて、ドライバはath9kでS101とおなじやつ。S101と違うのは、iwlistとかのスキャンはちゃんと出きるし、アクセスポイントにすんなり繋がるんだけど、暫くすると接続がきれちゃうっぽい、、windozeの方でも同じような感じで、こっちはS101の時よりも繋がりも通信速度もなんとなくイマイチ。。。
もうひとつは、ノート用の2Gメモリが一個余ってた。ドスパラのページのスペックみてみると、メモリ最大4Gとか書いてるから、メモリのスロットがもう一個あるんだろうとおもって、裏蓋あけてみたら、確かにメモリ用の空きスロットらしいところがあったので、取り付けてみたんだけど、どうも上手く認識してくれない、、、相性がわるいのかな、、、
2009年6月29日月曜日
IONノート(その2)

実はS101ではGNOMEを一回も試してなかった。S101のWikiとかみると、GNOMEとかやめといた方がいいよ的なコメントがあったから、、だから、入れたらどれくらいの重さなのかわからないんだけれど、とりあえずIONノートはグラフィック処理がお得意っぽいし、ATOM330はデュアルコアなので、ちっちゃいノートでもきっと大丈夫だろうと思いGNOME入れてみた!
Xorg導入して、GNOMEインストールして、UIM入れて、、割とあっさり、普通にブログには書き込める環境はできちゃった。例のCompiz-Fusionもちょこっと試してみるとデスクトップがクルクル快適に回った。
そういえば、カーネルが.30にアップデートされてて、またS101の無線LANが死んだ><
2009年6月28日日曜日
Nvidia IONのノート買っちゃった
少し前からドスパラからのメールで「日本初、NVIDIA® ION™搭載ノートパソコン」なんてのが紹介されていた。今日なんとなくドスパラのホームページを見たら「入荷しました!!」なんてかいてあるものだから、仕事帰りに寄って、、、触ってるうちに欲しくなって、衝動買いしてしまった(^^;
買ってみてあらためて気がついたのは、、、ほんとS101って静かなんだ、、、ってこと。
この新しいIONノートは音がするw多分、うるさいわけではないんだろうけど、初めて買ったノートがS101だったから、他のがこんなに音がするとは知らなかった!
逆にS101は薄くて軽くていい!!って思ってたけれど、多少厚みがあっても少し重くてもあんまり気にならなかった。
とりあえず、性能はS101より上っぽいし、画面も少し広くてDVDドライブもついてて、HDDで容量も多いからWindozeとデュアルブートにしてみた。
しっかし、もってたXPは出た当初のやつなのでインストールが面倒だった><
archもコアだけインストール完了!
んーー、、ノートの左側に排気されるみたいで、左手をパソコンの横に置くとすごーーく熱いなぁ。。後ろに排気してくれたらいいのに、、、っていうか、こんなに熱いんだ(^^;
買ってみてあらためて気がついたのは、、、ほんとS101って静かなんだ、、、ってこと。
この新しいIONノートは音がするw多分、うるさいわけではないんだろうけど、初めて買ったノートがS101だったから、他のがこんなに音がするとは知らなかった!
逆にS101は薄くて軽くていい!!って思ってたけれど、多少厚みがあっても少し重くてもあんまり気にならなかった。
とりあえず、性能はS101より上っぽいし、画面も少し広くてDVDドライブもついてて、HDDで容量も多いからWindozeとデュアルブートにしてみた。
しっかし、もってたXPは出た当初のやつなのでインストールが面倒だった><
archもコアだけインストール完了!
んーー、、ノートの左側に排気されるみたいで、左手をパソコンの横に置くとすごーーく熱いなぁ。。後ろに排気してくれたらいいのに、、、っていうか、こんなに熱いんだ(^^;
2009年6月14日日曜日
ABSでnavi2ch

昨日、jnethackをパッケージ化してから、色々試して遊んでみた。
結果、あまり難しいことを考えずに、個人用のArchLinuxパッケージを作るのは面白い。
デスクトップパソコンの方では2ちゃんねる見るのにJDを使っていたが、S101にはnavi2chをパッケージ化せずにインストールして使っていた。何故にnavi2ch如きがAURに無いのかが不思議と思っていたが、、、きっと、みんな簡単にパッケージ化出来るから、わざわざ誰もメンテナーになりたくなかったに違いない。
そこで、navi2chのPKGBUILDのメモ
pkgname=navi2ch
pkgver=1.8.3_BETA
pkgrel=1
pkgdesc="navigator for 2ch which works on many Emacs"
arch=(i686)
install=navi2ch.install
url="http://navi2ch.sourceforge.net/"
license=('unknown')
source=(http://navi2ch.sourceforge.net/beta/navi2ch-1.8.3-BETA.tar.gz)
build() {
cd $startdir/src/$pkgname-${pkgver//_/-}
./configure --prefix=/usr
make || return 1
make DESTDIR=${pkgdir} install
rm -rf ${pkgdir}/usr/share/info/dir
}
幾つかのTips
(1)バージョン番号に「-(ハイフン)」が使えない。
バージョン番号にハイフンがあると使えないので、pkgverには「-(ハイフン)」の代わりに「_(アンダーバー)」を使うらしい。ところがこのままだと、ソースディレクトリに入る時に変数名で入れないので、上記で使っている様に${pkgver//_/-}と書くと良いらしい。
(2)prefixはusrらしい
個人用のは区別して/usr/localもありなのかもしれないとwikiには書いてあるのかもしれないがニュアンスがよくわからなかった(^^;
とりあえず、usrにしておけば普通にパスの通ったとこにおいてくれる。
(3)パッケージングするときの出力パス
Makefileに目を通して、DESTDIRがあれば、上の用に
make DESTDIR=${pkgdir} install
で、良いらしい。pkgdirはmakepkgが管理してるのかな?とりあえず、作業ディレクトリ以下のpkgディレクトリを指してくれるみたい。
(4)infoのdirファイルを削除しておく
普通既にinfoのTop(?)になるdirファイルはシステムに存在するので、パッケージの中にdirファイルがある場合は、消しておかないとファイルがコンフリクトしてインストール時にエラーになる(なってくれないと、勝手に上書きしちゃう)
そこで、一旦、pkgディレクトリ以下にインストールされたdirを上の様に削除するのが良いらしい。
確認の仕方は、一旦出来上がったパッケージファイルを
tar tzvf hoge.pkg.tar.gz
とか??適当に確認。
(5)んじゃ、dirファイルへの登録は?
infodir=/usr/share/info
filelist=(navi2ch.info)
post_install() {
for file in ${filelist[@]}; do
install-info $infodir/$file $infodir/dir 2> /dev/null
done
}
post_upgrade() {
post_install $1
}
pre_remove() {
for file in ${filelist[@]}; do
install-info --delete $infodir/$file $infodir/dir 2> /dev/null
done
}
このスクリプトがinfo登録用の雛形らしい。
filelistの配列にインストールされるinfoファイル名をスペースで区切って列挙するだけ。
そして、このファイルを作業ディレクトリに置いておく。
PKGBUILDファイルにはinstall=行に、このスクリプトファイル名を書いておく。
今回の場合だとスクリプトファイル名はnavi2ch.installにした。
やってみると、./configureで簡単にmakeできるやつは、すぐパッケージに出来る感じ。
昨日やってたjnethackとかだと、もとのnethack自体、Makefileをsed使ってガシガシかきかえてあった。。。暗号みたいでああいうのは嫌だ、、自分で絶対できん!!><
それと、個人用のパッケージングなら、インストール後になんか必要な作業がいる場合もわざわざ頭をひねってそこまで自動化したり、コメントしなくてもいいから気楽。
.emacsに(autoload 'navi2ch "navi2ch" "Navigator for 2ch for Emacs" t)を書きましょうとか、、
というわけで、ABSがちょこっと使えるようになって幸せ♪
2009年6月12日金曜日
ABSでjnethack
ABS - The Arch Build Systemを始めて体験してみた。
ソースからビルドしてパッケージングするための仕組みってのは、あちこちに書いてあるからうっすら知ってたんだけれど、具体的にどうやって使うのかイマイチ分からなかった。
そこで、Wikiを見ながら適当に実践してみたら、なんとなく理解。
1.PKGBUILDファイルの謎とパッケージabs
yaourtとか使ってAURを利用するとPKGBUILDファイルを使ってmakepkgがパッケージングを勝手にやってくれるってのが見ててわかったんだけれど、公式レポジトリ(っていうの?)のPKGBUILDファイルってどこにあるのかなぁ?って探したことがあった。ArchLinuxのTopページの右上の「Package Search」からパッケージを見つけると、説明ページからPKGBUILDファイル見れたりして、これをコピーして使うのかなぁ?とか思っていた。
しかし、実際にはそうじゃなくて、absというパッケージをダウンロードしてabsコマンドを発行すると、archlinuxのレポジトリに含まれるすべてのパッケージのPKGBUILDファイルの最新のものがダウンロードされる仕組みになっていた!!
2.ABS tree
absコマンドによってダウンロードされるPKGBUILDファイル等(パッケージによってはパッチファイルやインストール用の別のスクリプトファイルも入っている)は、/var/abs/以下にレポジトリ毎に区分されパッケージ毎のディレクトリに各々入っていて、「ABS tree」と呼ばれているらしい。また、このtree構造の中に配置された各パッケージ用のディレクトリの中にはソースファイルは入っていない。archlinuxのパッケージングは、ビルドの際にソース配布元から直接ダウンロードするようになっている。
で、このABS tree自体はPKGBUILDファイル群のデータベースみたいなもので、このtree以下の各パッケージディレクトリの中でビルドやパッケージングを行うものでは無い。このABS treeはrootになってabsコマンドを発行する度にサーバー側の最新のPKGBUILDファイルと同期してくれるんだと思う。
3.パッケージング作業の場所は、ホームディレクトリ内でする
そこで、実際のパッケージングは、/var/abs/以下のABS treeと全然関係なく、適当なディレクトリを作ってその中で行う。ABSのwikiをみるとホームディレクトリの中にabsとか名づけた適当なディレクトリを作っておき(自分で作るパッケージ用のディレクトリを作って整理するだけで別に必ずこういうディレクトリがいるわけではない。)その下に作りたいパッケージ毎のディレクトリを用意して作業をはじめる。
ABSの仕組みは、PKGBUILDファイルにビルド用の手順を書いて、makepkgコマンドを呼び出すだす。試しに、適当な作業ディレクトリを自分のホームディレクトリに作って、ABS tree内の適当なパッケージのPKGBUILDファイル(それ以外のパッチやスクリプトがあれば全て)を作業ディレクトリにコピーし、その作業ディレクトリに入って
してみるといい。勝手にソースファイルを配布元からダウンロードして来て、ビルド作業を行い、最終的にhogehoge.pkg.tar.gzというarchlinux用のパッケージファイルを作業ディレクトリに作ってくれる。
4.jnethackを作ってみる。
まずは、作業用のディレクトリを作成。
jnethackは元のnethackにパッチをあてて日本語化したものなので、nethackパッケージ内のファイルを作業ディレクトリにコピーする。nethackの場合はPKGBUILDファイルのみ。
次にパッチファイル。JNetHack Projectからダウンロードして、作業ディレクトリに入れる。
ここで、PKGBUILDファイルの中身を見てみる。
build(){}内の部分で、元のソースからコンパイルがちゃんと通るようにソースファイルの適当な箇所に手がいれられている。
そこで、これをベースに新たな「jnethack」パッケージになるように、いくつかの修正をくわえてみる。
(1)パッケージネームをjnethackにして、バージョンナンバーを付ける。
pkgname=jnethack
pkgver=3.4.3_0.10
pkgrel=1
しかし、変数pkgnameとpkegverは元のnethackのソースファイルやディレクトリ名の指定に使われているので、これらの部分のために
orgpkgname=nethack
orgpkgver=3.4.3
とうい変数名を追加して、ソースファイルやディレクトリ名の指定の所をorgpkgnameとorgpkegverに書き換える。
具体的には、
source=で始まる行
cd $startdir/src/$pkgname-$pkgver/が含まれているいくつかの行
但し、最後の方のライセンスファイルの所はorgpkgnameには変えない
(2)パッチを当てる
build(){}の一番最初に
を追加
(3)jnethackパッチがあたったことによる修正
次に、元々のファイルに対する訂正がjnethackパッチがあたったために上手く働かない部分を修正する。
と言う行を
に修正する。(nethackがjnethackになったため、ひっかからなくなっている)
もう一つ、jnethack起動スクリプトの部分
という行を
に修正する。
(4)パッケージを作る
PKGBUILDの訂正が終わったら、makepkgコマンドでパッケージ作成。
そしてインストール
多分、以上の修正で、素のnethackともコンフリクトしないjnethackパッケージが出きると思う。

最後にjnethackで遊ぶときはターミナルの設定をEUC-jpにしないとダメ!更に色に関しては、黒背景に白文字、gnome-terminal等の場合色のパレットをxtermにすると良いらしい。
ソースからビルドしてパッケージングするための仕組みってのは、あちこちに書いてあるからうっすら知ってたんだけれど、具体的にどうやって使うのかイマイチ分からなかった。
そこで、Wikiを見ながら適当に実践してみたら、なんとなく理解。
1.PKGBUILDファイルの謎とパッケージabs
yaourtとか使ってAURを利用するとPKGBUILDファイルを使ってmakepkgがパッケージングを勝手にやってくれるってのが見ててわかったんだけれど、公式レポジトリ(っていうの?)のPKGBUILDファイルってどこにあるのかなぁ?って探したことがあった。ArchLinuxのTopページの右上の「Package Search」からパッケージを見つけると、説明ページからPKGBUILDファイル見れたりして、これをコピーして使うのかなぁ?とか思っていた。
しかし、実際にはそうじゃなくて、absというパッケージをダウンロードしてabsコマンドを発行すると、archlinuxのレポジトリに含まれるすべてのパッケージのPKGBUILDファイルの最新のものがダウンロードされる仕組みになっていた!!
2.ABS tree
absコマンドによってダウンロードされるPKGBUILDファイル等(パッケージによってはパッチファイルやインストール用の別のスクリプトファイルも入っている)は、/var/abs/以下にレポジトリ毎に区分されパッケージ毎のディレクトリに各々入っていて、「ABS tree」と呼ばれているらしい。また、このtree構造の中に配置された各パッケージ用のディレクトリの中にはソースファイルは入っていない。archlinuxのパッケージングは、ビルドの際にソース配布元から直接ダウンロードするようになっている。
で、このABS tree自体はPKGBUILDファイル群のデータベースみたいなもので、このtree以下の各パッケージディレクトリの中でビルドやパッケージングを行うものでは無い。このABS treeはrootになってabsコマンドを発行する度にサーバー側の最新のPKGBUILDファイルと同期してくれるんだと思う。
3.パッケージング作業の場所は、ホームディレクトリ内でする
そこで、実際のパッケージングは、/var/abs/以下のABS treeと全然関係なく、適当なディレクトリを作ってその中で行う。ABSのwikiをみるとホームディレクトリの中にabsとか名づけた適当なディレクトリを作っておき(自分で作るパッケージ用のディレクトリを作って整理するだけで別に必ずこういうディレクトリがいるわけではない。)その下に作りたいパッケージ毎のディレクトリを用意して作業をはじめる。
ABSの仕組みは、PKGBUILDファイルにビルド用の手順を書いて、makepkgコマンドを呼び出すだす。試しに、適当な作業ディレクトリを自分のホームディレクトリに作って、ABS tree内の適当なパッケージのPKGBUILDファイル(それ以外のパッチやスクリプトがあれば全て)を作業ディレクトリにコピーし、その作業ディレクトリに入って
$makepkg -s
してみるといい。勝手にソースファイルを配布元からダウンロードして来て、ビルド作業を行い、最終的にhogehoge.pkg.tar.gzというarchlinux用のパッケージファイルを作業ディレクトリに作ってくれる。
4.jnethackを作ってみる。
まずは、作業用のディレクトリを作成。
$mkdir ~/abs/
$mkdir ~/abs/jnethack/
jnethackは元のnethackにパッチをあてて日本語化したものなので、nethackパッケージ内のファイルを作業ディレクトリにコピーする。nethackの場合はPKGBUILDファイルのみ。
次にパッチファイル。JNetHack Projectからダウンロードして、作業ディレクトリに入れる。
ここで、PKGBUILDファイルの中身を見てみる。
build(){}内の部分で、元のソースからコンパイルがちゃんと通るようにソースファイルの適当な箇所に手がいれられている。
そこで、これをベースに新たな「jnethack」パッケージになるように、いくつかの修正をくわえてみる。
(1)パッケージネームをjnethackにして、バージョンナンバーを付ける。
pkgname=jnethack
pkgver=3.4.3_0.10
pkgrel=1
しかし、変数pkgnameとpkegverは元のnethackのソースファイルやディレクトリ名の指定に使われているので、これらの部分のために
orgpkgname=nethack
orgpkgver=3.4.3
とうい変数名を追加して、ソースファイルやディレクトリ名の指定の所をorgpkgnameとorgpkegverに書き換える。
具体的には、
source=で始まる行
cd $startdir/src/$pkgname-$pkgver/が含まれているいくつかの行
但し、最後の方のライセンスファイルの所はorgpkgnameには変えない
(2)パッチを当てる
build(){}の一番最初に
cd $startdir/src/$orgpkgname-$orgpkgver/
zcat $startdir/jnethack-3.4.3-0.10.diff.gz | patch -p1
を追加
(3)jnethackパッチがあたったことによる修正
次に、元々のファイルに対する訂正がjnethackパッチがあたったために上手く働かない部分を修正する。
sed -e '/define HACKDIR/ s|/usr/games/lib/nethackdir|/usr/share/nethack/|' \
と言う行を
sed -e '/define HACKDIR/ s|/usr/games/lib/jnethackdir|/usr/share/jnethack/|' \
に修正する。(nethackがjnethackになったため、ひっかからなくなっている)
もう一つ、jnethack起動スクリプトの部分
-i $startdir/pkg/usr/bin/nethack
という行を
-i $startdir/pkg/usr/bin/jnethack
に修正する。
(4)パッケージを作る
PKGBUILDの訂正が終わったら、makepkgコマンドでパッケージ作成。
$cd ~/abs/jnethack
$makepkg -s
そしてインストール
$sudo pacman -U jnethack-3.4.3_0.10-1-i686.pkg.tar.gz
多分、以上の修正で、素のnethackともコンフリクトしないjnethackパッケージが出きると思う。

最後にjnethackで遊ぶときはターミナルの設定をEUC-jpにしないとダメ!更に色に関しては、黒背景に白文字、gnome-terminal等の場合色のパレットをxtermにすると良いらしい。
登録:
投稿 (Atom)