以前調べたとき、ATOKをオンするデフォルトのキー(Ctrl+Space)は設定できるけど、オフするキーは変更できなかった。
このため、Emacsのset-markと非常に相性が悪くて、これだけの理由でWnn8を使っていたりする。
そんなわけで、インストールしたてのSolarisでWnn8を使う手順。
(1) root権限でjserverを起動
svcadm enable wnn8/server
(2) iiim-propertiesコマンドで変換エンジンからATOKを外してしまう。
(3) wnnenvutilコマンドで好みの設定にする
自分の設定はこんな感じ
[変換]タブ: 数字・アルファベットを必ず半角にする
[入力/変換]: 「楽々入力設定」で出てくるダイアローグでチェックを両方外す
[キー]タブ: 基本スタイルをWnnに。
2009-10-10
Solaris 10/09にFirefox3.5.3をインストール
本体を
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.5.3/contrib/solaris_pkgadd/firefox-3.5.3.en-US.solaris-10-fcs-sparc-pkg.bz2
からダウンロードしてきてインストール。
Firefoxを起動したら、
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.5.3/linux-i686/xpi/ja.xpi
にアクセスしてランゲージパックをインストールしてFirefoxを再起動。
楽ちんw
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.5.3/contrib/solaris_pkgadd/firefox-3.5.3.en-US.solaris-10-fcs-sparc-pkg.bz2
からダウンロードしてきてインストール。
Firefoxを起動したら、
http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.5.3/linux-i686/xpi/ja.xpi
にアクセスしてランゲージパックをインストールしてFirefoxを再起動。
楽ちんw
2008-11-08
GNU makeとSolaris makeのシェル置換
Makefileを書くとき、別の場所にある不特定多数の複数のファイルのベースファイル名だけが定義されたマクロを定義したいとする。
GNU makeだと
DIR = xxx/yyy/zzz
FILES = $(shell cd $(DIR); echo *.cc)
Solaris makeだと
DIR = xxx/yyy/zzz
CMD = cd $(DIR); echo *.cc
FILES = $(CMD:sh)
でできるらしい。
でも、できれば同じMakefileを使いたいものだ。いろいろ迷って
DIR = xxx/yyy/zzz
CMD = cd $(DIR); ls *.cc
FILES = $(CMD:sh) $(shell $CMD)
としてみた。一応動くけど… 微妙
サブMakefileを動的に作って、それを読み込ませるべきかな?
GNU makeだと
DIR = xxx/yyy/zzz
FILES = $(shell cd $(DIR); echo *.cc)
Solaris makeだと
DIR = xxx/yyy/zzz
CMD = cd $(DIR); echo *.cc
FILES = $(CMD:sh)
でできるらしい。
でも、できれば同じMakefileを使いたいものだ。いろいろ迷って
DIR = xxx/yyy/zzz
CMD = cd $(DIR); ls *.cc
FILES = $(CMD:sh) $(shell $CMD)
としてみた。一応動くけど… 微妙
サブMakefileを動的に作って、それを読み込ませるべきかな?
Solaris x86のカーネルデバッガの起動方法
デバッガ制御下でカーネルを起動させた場合に(カーネルパニックを起こさずに)デバッガに入る方法がman kdbに載ってた。
F1+A、またはShift+Pauseとのこと。なるほどね。
SPARCシステムでもShift+Pauseは有効らしい。STOPキーが付いてないキーボードもちゃんとサポートされているわけだ。
Xサーバが動いている時にF1+A押したらどうなるのか試したら、画面はフリーズして、見えないところでデバッガが動いた。
::continueでデバッガからカーネルに復帰するので、何事もなかったかのようにXサーバが動作を再開するのがちょっとおかしい。
F1+A、またはShift+Pauseとのこと。なるほどね。
SPARCシステムでもShift+Pauseは有効らしい。STOPキーが付いてないキーボードもちゃんとサポートされているわけだ。
Xサーバが動いている時にF1+A押したらどうなるのか試したら、画面はフリーズして、見えないところでデバッガが動いた。
::continueでデバッガからカーネルに復帰するので、何事もなかったかのようにXサーバが動作を再開するのがちょっとおかしい。
Solarisの起動画面 #3
ついでに/boot/solaris.xpmの作り方。
基本的には、14色に減色した640x480のxpm画像を用意すれば良い。
GIMPでやるとすると、以下のような手順になる。
基本的にはWindows9xと同じような作業なのではないかと。若干面倒くさいけど、Windows2000では起動画面のイメージはカーネルの実行ファイルに埋め込みらしく、再設定には専用のツールが必要らしい。それよりはましかな。
そんなわけで、我が家では制服姿の女子小学生が起動画面に設定されておりますw
こんなSolarisもそうそうないだろうな orz...
基本的には、14色に減色した640x480のxpm画像を用意すれば良い。
GIMPでやるとすると、以下のような手順になる。
- 画像>画像拡大縮小で縦か横を480または640に合わせる。
- 画像>キャンバスサイズで640x480にする。
- 画像>モード>インデックスで、14色パレットを使うインデックスカラーモードに変更する。このときディザを使うほうが良い。
- xpmファイルとしてファイル保存。
- xpmファイルをテキストエディタで開く。
- "640 480 14 1",と書いてある行があるはずなので、"640 480 15 1",に書き換える。
- その下に"! c None",という行を追加する。ただし、ファイル中に!という文字が使われていたら、別の文字を選ぶ必要がある。
基本的にはWindows9xと同じような作業なのではないかと。若干面倒くさいけど、Windows2000では起動画面のイメージはカーネルの実行ファイルに埋め込みらしく、再設定には専用のツールが必要らしい。それよりはましかな。
そんなわけで、我が家では制服姿の女子小学生が起動画面に設定されておりますw
こんなSolarisもそうそうないだろうな orz...
Solarisの起動画面 #2
…ということで、Solaris 10/08の起動画面を設定してみたのだけど、GRUBのほうの画面は表示されるものの、カーネルが起動してからの画面は表示されないことが判明。
よく見ると、boot_archive(Linuxでいうinitrd.gzみたいなもの)に/boot/solaris.xpmが入ってない。
そこで、boot_archiveに入れるファイルを決める/boot/solaris/filelist.ramdiskにファイル名を入れてみたのだけど、やはり表示しないようだ。あれー?
ZFS rootなのが影響しているのかな?
よく見ると、boot_archive(Linuxでいうinitrd.gzみたいなもの)に/boot/solaris.xpmが入ってない。
そこで、boot_archiveに入れるファイルを決める/boot/solaris/filelist.ramdiskにファイル名を入れてみたのだけど、やはり表示しないようだ。あれー?
ZFS rootなのが影響しているのかな?
2008-11-04
Solarisの起動画面
ブート画面がグラフィカルになったのはGRUBを採用した頃だったかな?
最初はその軟派さがもの珍しくて喜んで設定したものだっけ。
あったあった、「ささの豆知識ブログ」だな。
http://blogs.sun.com/sasanuma/entry/solaris_10_1_06_graphical
だけど、絵柄はたいして代わり映えのするものではないので、最近は微妙にうっとおしかったりしてw
何の情報も出てこないのも無駄な話ではあるし、しばらく何の表示もされないままなのはハングっぽくてたまにギョッとすることがある。それに、コンピュータの起動画面というのは文字がぶわーっと出るものだという刷り込みがあるんだよねw
というわけで、単にテキストモードにするだけでなく、カーネルを冗長モードにし、かつSMFのサービス起動を表示させてみる方法。
GRUBのmenu.lst(/boot/grubや/rpool/grubの下に入ってる)のsplash文をコメントアウト。んでもって、
例えば
ここらへんはman boot, man kernelに載ってる。ついでに-kオプションもつけておくと、デバッガの制御下でカーネルを起動できる。といっても、パニックを起こすようなことがなければ役には立たないけど…
最初はその軟派さがもの珍しくて喜んで設定したものだっけ。
あったあった、「ささの豆知識ブログ」だな。
http://blogs.sun.com/sasanuma/entry/solaris_10_1_06_graphical
だけど、絵柄はたいして代わり映えのするものではないので、最近は微妙にうっとおしかったりしてw
何の情報も出てこないのも無駄な話ではあるし、しばらく何の表示もされないままなのはハングっぽくてたまにギョッとすることがある。それに、コンピュータの起動画面というのは文字がぶわーっと出るものだという刷り込みがあるんだよねw
というわけで、単にテキストモードにするだけでなく、カーネルを冗長モードにし、かつSMFのサービス起動を表示させてみる方法。
GRUBのmenu.lst(/boot/grubや/rpool/grubの下に入ってる)のsplash文をコメントアウト。んでもって、
#---------- ADDED BY BOOTADM - DO NOT EDIT ----------から
#---------------------END BOOTADM--------------------で囲まれている部分を、その外側にコピー。コピーしたほうのkernel行に"-v -m verbose"を追加する。
例えば
#---------- ADDED BY BOOTADM - DO NOT EDIT ----------と書いてあったら、
title Solaris 10 1/06 s10x_u1wos_19a X86
root (hd0,0,a)
kernel /platform/i86pc/multiboot
module /platform/i86pc/boot_archive
#---------------------END BOOTADM--------------------
title Solaris 10 New!とするだけでよい。
root (hd0,0,a)
kernel /platform/i86pc/multiboot -v -m verbose
module /platform/i86pc/boot_archive
#---------- ADDED BY BOOTADM - DO NOT EDIT ----------
title Solaris 10 1/06 s10x_u1wos_19a X86
root (hd0,0,a)
kernel /platform/i86pc/multiboot
module /platform/i86pc/boot_archive
#---------------------END BOOTADM--------------------
ここらへんはman boot, man kernelに載ってる。ついでに-kオプションもつけておくと、デバッガの制御下でカーネルを起動できる。といっても、パニックを起こすようなことがなければ役には立たないけど…
Solaris 10/08をインストール
Xubuntuで疲れきってしまったので、気を取り直してSolaris 10/08をインストール。
これもかなり独特なインストーラだけど、ドキュメントはかなり揃っているのでGoogle先生に頼ることはあまりないのが良い。
ただ、マシンの構成情報を入力する画面のインターフェースはいいかげん直してもらいたいものだ。青地のスクリーンとか(どうにもMSXを思い出してしかたがないw)、次に進むのがEnterではなくF2とか、かなり異彩を放っている。
まあ、そうそう何度もインストールするものでもないけど…
では遅まきながらZFS RootやVirtual Boxを堪能するとしますか。
これもかなり独特なインストーラだけど、ドキュメントはかなり揃っているのでGoogle先生に頼ることはあまりないのが良い。
ただ、マシンの構成情報を入力する画面のインターフェースはいいかげん直してもらいたいものだ。青地のスクリーンとか(どうにもMSXを思い出してしかたがないw)、次に進むのがEnterではなくF2とか、かなり異彩を放っている。
まあ、そうそう何度もインストールするものでもないけど…
では遅まきながらZFS RootやVirtual Boxを堪能するとしますか。
ThinkPad 240 / Silicon Motion Lynx EM+でX.org起動せず
タイトルのみ…
疲れたよ、パトラッシュ…
なんかこのビデオカード、X.orgにとってはかなりの地雷らしい orz...
先に言ってくれよ…
疲れたよ、パトラッシュ…
なんかこのビデオカード、X.orgにとってはかなりの地雷らしい orz...
先に言ってくれよ…
Xubuntu 8.10のネットインストール #2
ネットインストールでごちゃごちゃ頑張ってはみたんだけど、どうにも成果あがらず… xubuntu-desktopパッケージをインストールできればXubuntuシステムのインストールが完了するのだけど、どういうわけか失敗してしまう。
そのうち「なんでネットインストールなんかしているんだろう」というところまで気分が萎えてきてしまう始末w ただ、これが結果的には突破口になった。
そもそもネットインストールを試みる理由を考えてみると、
があると思うんだけど、今回は後者のケース。よく考えるとUSB接続のDVDドライブがあるので、いったんカーネルさえ起動してしまえばそこからはインストーラが起動できるはず。
インストーラはPXEから起動した場合とCD-ROMから起動した場合で実は2種類ある。PXEから起動されるインストーラは「ミラーサーバからごっそりダウンロードしてくる」という動作になっており、この動作を行なわせるスクリプトがCD-ROMのinstall/netboot/ubuntu-installer/i386/initrd.gzに入ってTFTP経由で転送される。
それに対し、CD-ROMから起動する場合のインストーラは「ひとまずCD-ROMの内容を使う」という動作になっており、CD-ROMのinstall/initrd.gzに入っている(ファイル名は同じだが、中身は別)。
そんなわけで、「ネットインストール用のinitrd.gz」を「CD-ROMからのインストール用のinitrd.gz」に差し換え、それをTFTPで転送させてみると…
おお、何事もなくUSB-DVDドライブからインストール始めたよ!
そんなわけで、ThinkPadにもXubuntuインストール完了
そのうち「なんでネットインストールなんかしているんだろう」というところまで気分が萎えてきてしまう始末w ただ、これが結果的には突破口になった。
そもそもネットインストールを試みる理由を考えてみると、
- 光学ドライブそのものがない/接続できない/認識しない
- 光学ドライブから起動できない
があると思うんだけど、今回は後者のケース。よく考えるとUSB接続のDVDドライブがあるので、いったんカーネルさえ起動してしまえばそこからはインストーラが起動できるはず。
インストーラはPXEから起動した場合とCD-ROMから起動した場合で実は2種類ある。PXEから起動されるインストーラは「ミラーサーバからごっそりダウンロードしてくる」という動作になっており、この動作を行なわせるスクリプトがCD-ROMのinstall/netboot/ubuntu-installer/i386/initrd.gzに入ってTFTP経由で転送される。
それに対し、CD-ROMから起動する場合のインストーラは「ひとまずCD-ROMの内容を使う」という動作になっており、CD-ROMのinstall/initrd.gzに入っている(ファイル名は同じだが、中身は別)。
そんなわけで、「ネットインストール用のinitrd.gz」を「CD-ROMからのインストール用のinitrd.gz」に差し換え、それをTFTPで転送させてみると…
おお、何事もなくUSB-DVDドライブからインストール始めたよ!
そんなわけで、ThinkPadにもXubuntuインストール完了
2008-11-03
日立Flora用のxorg.conf
今回Xubuntuを入れたFloraは、もともとWin98の時代に企業向けに出されていた機種で、VRAMの量が極めて少ない。このため、デフォルトの24bppでは解像度が800x600になってしまう。
そこで、今どき必要な人がいるとも思えないのだけどxorg.confをさらしてみる。
DefalutDepthを16にするだけではダメで、HSync/VSyncを明示的に指定することが必要。
そこで、今どき必要な人がいるとも思えないのだけどxorg.confをさらしてみる。
Section "Server Layout"
Identifier "Configured Layout"
Screen 0 "Default Screen" 0 0
InputDevice "Configured Mouse" "CoreMouse"
InputDevice "Configured Keyboard" "CoreKeyboard"
EndSection
Section "Device"
Identifier "Configured Video Device"
EndSection
Section "Monitor"
Identifier "Configured Monitor"
HorizSync 40-50
VertRefresh 50-70
EndSection
Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
Device "Configured Video Device"
DefaultDepth 16
EndSection
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
EndSection
Section "InputDevice"
Identifier "Configured Keyboard"
Driver "kbd"
Option "XkbRules" "xorg"
Option "XkbModel" "jp106"
Option "XkbLayout" "jp,jp"
Option "Xkbvariant" "106,"
Option "XkbOptions" "ctrl:swapcaps"
EndSection
DefalutDepthを16にするだけではダメで、HSync/VSyncを明示的に指定することが必要。
Ubuntu 8.10のX.orgはctrl:swapcapsが効かない
ネットインストールに挫折し、日立Floraで普通にインストール。うーん、簡単でいいなあ…
で、困ったことがひとつ。
自分は気持ちは若いつもりなのだけど、CtrlキーはAの横にないとダメなオールドタイプである。特にノートPCでは手の腹でCtrlを押せないので、必ずCapsとCtrlは入れ替え(もしくは両方ともCtrl化)を行なっている。
さっそくxorg.confをいじって
ログを見ると、途中までは記述を読み込んでいるようなのだけど、途中でevdevとかいうドライバ(?)が再設定しなおしているようだ。余分なことを…
そんなわけでカーネル側のキーマップを変えようと思い、/etc/console-setup/boottime.kmap.gzのkeycode 58のCaps_LockをすべてControlに置換。
ただし、これも仮想端末ではきちんと反映されるものの、XサーバではCapsはやはりCapsのまま。
最終的には
で、困ったことがひとつ。
自分は気持ちは若いつもりなのだけど、CtrlキーはAの横にないとダメなオールドタイプである。特にノートPCでは手の腹でCtrlを押せないので、必ずCapsとCtrlは入れ替え(もしくは両方ともCtrl化)を行なっている。
さっそくxorg.confをいじって
Option "XkbOptions" "ctrl:swapcaps"を追加してみたのだけど… 効かねえ orz...
ログを見ると、途中までは記述を読み込んでいるようなのだけど、途中でevdevとかいうドライバ(?)が再設定しなおしているようだ。余分なことを…
そんなわけでカーネル側のキーマップを変えようと思い、/etc/console-setup/boottime.kmap.gzのkeycode 58のCaps_LockをすべてControlに置換。
ただし、これも仮想端末ではきちんと反映されるものの、XサーバではCapsはやはりCapsのまま。
最終的には
#!/bin/shという内容の/etc/X11/Xsession.d/10setxkbmapを作って回避。やれやれ
setxkbmap -option ctrl:swapcaps
Xubuntu 8.10のネットインストール
CG定点観測さんでXubuntuというものがあるのを知り、古いノートPCを再生させようと思い立つ。
で、たまたま思い立った日がUbuntu 8.10とXubuntu 8.10がリリースされた日で、さっそくAlternateのCD-ROMイメージをダウンロード。Think Padは光学ドライブがないので、ネットインストールに挑戦… これが茨の道だった。
分かったこと。
最後のが影響が大きく、ミラーサーバの指定ができずに必ず公式サーバに接続しにいこうとしてしまう。まあ、時間のある時だったらいいけど、できればローカルなミラーサーバを探しにいって欲しいわけだ。
一応カーネルの起動オプションで生の(すなわちkickseedが動的に生成したものではない)preseedを指定することもできるのだが、これが反映されるのがkickseedが動いてミラーサーバを決めた後らしく、解決策にならない。
そんなわけで、こんな方法で逃げてみた。
(作業はSolaris上でやったので、cpioのオプションがLinuxと違うかもしれない)
要するに、kickseedがやるはずだった処理を、getoptに差し掛かる前に自前で実行してしまおうというものだ。kickstartの設定ファイルには
で、大体これでうまくいくんだけど、パッケージの選択がまだうまくいかないのでベースシステムだけになってしまう。あと、sources.listもおかしいかな。うーん…
で、たまたま思い立った日がUbuntu 8.10とXubuntu 8.10がリリースされた日で、さっそくAlternateのCD-ROMイメージをダウンロード。Think Padは光学ドライブがないので、ネットインストールに挑戦… これが茨の道だった。
分かったこと。
- DHCP+TFTPでブートさせるのまでは簡単。
- DOS対策のためか存在しないファイルを要求するとTFTPサーバが少しウェイトするので、ubuntu-installer/i386/boot-screens/以下にamd.cfg gtk.cfg amdgtk.cfg adamd.cfg adgtk.cfg adamdgtk.cfgという名前の空のファイルを置いておくと高速にメニューが出てくる。
- kickstartという自動インストール機構がある。Solarisで言うところのjumpstart。
- kickstartの設定ファイルの場所はubuntu-installer/i386/boot-screens/text.cfgで指定する。
- ただし、Xubuntuのインストーラがkickstartの書式を直接理解するというわけではない。実際にはインストール時にkickseedというプログラムがpreseedという別の形式(?)のファイルに変換しているだけらしい。凝ってるなあ…
- で、このkickseedのスクリプトがバグってる。getoptが-lオプションを認識出来ないので、kickstartの設定がほとんど反映されない。
最後のが影響が大きく、ミラーサーバの指定ができずに必ず公式サーバに接続しにいこうとしてしまう。まあ、時間のある時だったらいいけど、できればローカルなミラーサーバを探しにいって欲しいわけだ。
一応カーネルの起動オプションで生の(すなわちkickseedが動的に生成したものではない)preseedを指定することもできるのだが、これが反映されるのがkickseedが動いてミラーサーバを決めた後らしく、解決策にならない。
そんなわけで、こんな方法で逃げてみた。
- mkdir /tftpboot/ubuntu-installer/i386/initrd
- cd /tftpboot/ubuntu-installer/i386/initrd
- gzip -dc ../initrd.gz | cpio -idv
- lib/kickseed/handlers/url.shのurl_handler()の先頭に以下を追加。超強引wwww
ks_preseed d-i log/url string ''
ks_preseed d-i mirror/country string 'enter information manually'
ks_preseed d-i mirror/protocol select http
ks_preseed d-i mirror/http/hostname string 192.168.1.xx
ks_preseed d-i mirror/http/directory string /xubuntu - 同じくlib/kickseed/handlers/user.shのuser_handler()の先頭に以下を追加。これでパスワードなしのユーザを追加する。
ks_preseed passwd passwd/make-user boolean true
ks_preseed passwd passwd/username string xxxx
ks_preseed passwd passwd/user-fullname string xxxx
ks_preseed passwd passwd/user-password-crypted password - find . | cpio -oc | gzip > ../initrd.gz
(作業はSolaris上でやったので、cpioのオプションがLinuxと違うかもしれない)
要するに、kickseedがやるはずだった処理を、getoptに差し掛かる前に自前で実行してしまおうというものだ。kickstartの設定ファイルには
と書いてあるが、実際にはオプションはまったく解析されない。
install
url --url http://192.168.1.xx/xubuntu/
user xxxx --fullname xxxx --passwd xxx
%packages
xubuntu-desktop
で、大体これでうまくいくんだけど、パッケージの選択がまだうまくいかないのでベースシステムだけになってしまう。あと、sources.listもおかしいかな。うーん…
登録:
投稿 (Atom)