なにはともあれSLAX
まったくのlinux初心者にSLAXを使わせる方法を教えて欲しい CDにISOを焼いてブートさせるくらいは何度もやってるからできる その後の話で、HDDのバックアップをとりたいがPCが古い、 winが起動しなくなったのだが修理に出したときに中身を見られるのが心配なので バックアップとったらHDDを消去したいとのことなんだ。 古いPCってどれくらいか聞いたらi586クラスでメモリは128Mっていうから GUIでといわれるとSLAXくらいしか心当たりがないんだ。 助けてくれ >>74 ttp://hatochan.dyndns.org/slax-ja/iso/slax-ja-5.1.7b-2.iso を焼くだけでいいんじゃないか。 KDEでのファイル管理なんかはネットで調べたらわかることだし。 んと。もすこしマヌアル化した方がいいんじゃないの。 1) ttp://hatochan.dyndns.org/slax-ja/iso/slax-ja-5.1.7b-2.iso を焼く。 2) そのCD-Rでブートする。 3) boot: のプロンプトで "slax" あるいは "slax2" と入力する。(slaxはvesa, slax2は固有vgaチップのドライバを使用) 4) KDEが立ち上がれば左上の「コンピュータ」の形をしたアイコンをクリックする。 5) 画面が出ればまた同じ「コンピュータ」の形のアイコンをクリックする。 6) あとはエクスプローラ使ってる感じで操作する(HDDを外付HDDにでもコピーして、確認できれば内蔵HDDを消す[こ、こわ!]とか)。 んなもんでどうでっか ^^) >>77 こんな感じでマウントして試してください。 ntfsmount /dev/hda1 /mnt/hda いかん、先走りすぎました。 ntfsmount は5.1.8からできるようになります。 プロバ規制解除 やっと書ける・・・ >>75-79 やってみます。 とりあえずは自分の奴でどこまでできるか確認してから相手に教えます。 で、5.1.8を待ちます。 ありがとうございました。 simosnetのslax-5.1.7-jp.isoのkasumi-1.0-1.fc3.i386.moを、 hatochanのslax-ja-5.1.7b-2.isoの/module以下にほりこんだらそのまま動いたゾ。 せめて最初だけでもkasumiかsumikaあたりの辞書ツールは欲しいからね。 あとは72のように.anthy以下の生編集するのが速い。たしかに。 本家の各言語サイトって、たとえばドイツ語なら http://www.slax.org/?lang=de ていう感じで飛ばしてるだけのようだ。なら日本語のページも用意してほしいな。 これって表紙の1ページの翻訳だけですむなら、すぐできるんじゃないの。 (本家に日本語できる人が関わってないってことならちょっとさみしいぞ) 「http://www.slax.org/?lang=ja 作成プロジェクト」誰か旗揚げしてよ。乗るから。 すまん。今よく見たらはとちゃんの ttp://hatochan.dyndns.org/slax-ja/index.php?slax-ja ってまったくこの ttp://www.slax.org/?lang=ja まんまじゃないか。これ登録してください>はとちゃん >>83 オープンソースマガジンで連載している、のに子さんにも勧められて slaxのリリースマネージャのTomasさんに「リンクしてちょ」というメールを 投げました。 すぐに返信が来ましたが、内容は「デザインが違うので、できないよん」と いうものでした。どうすればいいのかなぁと思っていますが、とりあえずは 日本語コンテンツのファイルを送ろうかなぁと思っています。 でも、リンクはされないんだよなぁ...。 >>84 ttp://www.slax.org/ で例えばfrを選んで(もちろんenでもitでもいい、twやroでは行ったっきりになる ..;) ttp://www.slax.org/?lang=fr のページを表示すると、フレームの右下部分だけがフランス語になる。 そのソースをダウンロードしてはとちゃんの日本語訳を入れれば、そのTomasさんの言うところの「デザイン」が同じということになるんじゃないの。 たぶん日本語できる人がいないでしょから、完全にページデザインしてあげないとTomasさんeditできないと思います。 日本語の通るeditorつかってない確率90% Tomasさんてチェコスロバキアのかたなんですね。東欧。(チャスラフスカさんの国です ^o^) にしても、まだ十分読んでないけど、この緑の四葉のパンツと時計とマグカップ。なごみますなあ。 でもチェコって税の申告とかどうなってんしょ。なんか心配。 >>85 Debianでfvwm/rxvt/vim使ってるが、たしかにハングルや中文の表示や入力なんてのはやったことないな。 emacs使いはどうか知らん。多言語入出力できるのかな。最近のブラウザーは、さすがに何でも表示するけど。 >>85 いくつか(英仏、英伊)でdiffしてみたが、たぶん 5 168 198,204 207,211 214,218 221,225 228,232 247 行の書き換えぐらいで行けるんじゃないの。 そうかやっぱり12月か.. Debianがsargeからetchに上がるらしい。 たしかに新しくはなっていってるみたいだが、良くなってると言えるのかなあ。 slackに戻ろうか.. 帰するところ全体のインストーラーと、個々のパッケージのインスーラーのでき次第なんだよな、ディストロのよしあしって。 Debianならd-iとdpkg(apt-get, aptitude)ですけど。ま、パッケージ管理ってことになるのかな。 板違いだけどボヤかせて。slaxer万歳。 試しにja版を焼いて立ち上げてみた。 Intel810-E2のマシンなんだが、Xが駄目だった。 sisとかだったらわかるが、いくら古いとはいえIntel810が駄目だとは...お話にならん >>90 i810マシンずっと前に持ってたけど今つかってないので実験できないが、Xserverの問題か、kernelの問題か。 いずれにせよ /module か /rootcopy に必要なものをそろえてやれば解決しないかな。 ttp://www.avis.ne.jp/~aoba/nikki/200404.html ずいぶん古いlogだがi810なマシンでslax(4.1.0)動いたような。 version上がったからウゴカネーってか。 どっか中古PCショップの大将くどいて、CD版SLAX何枚か焼いて、これで起動させてよ、とかいって古めのPCのハードウェアの対応状況のデータベース作る人いないか。 いろんなPCが集まるところと言えば、たとえばPTAでリサイクルPCとか呼びかけて小学校か中学校で生徒の家でホコリかぶってるPC集めるとか。そしたらSLAX活躍できるよ、いろんな意味で。フリー環境でネットアクセスだけできりゃいい、という条件ならもってこいじゃないの。 >>90 boot: が表示されたら slax2 と入力すると xconf でXの設定を自動的に生成してから、 Xを起動します。 slax2の代わりに linux と入力するとコンソールが起動します。ここで xconf を実行して Xの設定をして、/etc/X11/xorg.conf をいろいろ修正してみると、動くかもしれません。 いずれもboot: の表示時間が短いので、最初の文字は素早く入力してください。 >>94 メモリは128MBぐらいでXが動きます。 僕の経験では、500MHzぐらいのクロック数ならば、いらつくことなく動きます。 次のバージョンでは、jfbtermを積むつもりなので、コンソールのみなら64KBで いけるかなぁと期待しています。 >>96 20MBのSASI HDDとか載ってそうですね。 >>97 すまん、64KBではなく64MBです。 さすがに64KBのメモリではどうにもなりません。 メモリのサイズで、年取っているのがばれてしまった。 >>98 キニスンナ ところでどうしてSLAXは軽い動作を保てるのでしょうか? >>99 ありがとう。 軽いのは、圧縮伸張の方式が大きく影響しているように思います。 knoppixのcloopは、すべてのファイルをひとつの圧縮ファイルにまとめちゃっているけど、 slaxのsquashfsは、パッケージ単位とかある程度のまとまりごとに圧縮しているので。 あとは、お腹いっぱいに積めているknoppixと、必要最低限のslaxというのも大きいかな。 slaxは、日本語版にしても250MBくらいなので、読み込まなければいけないファイルは ずいぶん少ないですね。 slax-ja-5.1.7b-2.moが日本語化モジュールなんでしょうけれども、各国(ro,tw等々)でのそれぞれの国語化って同じようなモジュール形式で実現してるんでしょうか。 また本家は「国際化」特にCJK対応について何か意見を持ってるんでしょうか。 この板では話おおきいかも知れませんが日本の将来のために「Linuxの日本語化」ってものすごく大きい意味を持つと思います>世耕さん>安倍さん >>101 言語別にひとつのモジュールにまとめるという話は本家フォーラムでは見たことないです。 ただ、こういうのができたよと言語用のモジュールを提供するのは、Tomasは気軽に受け とってくれます。とってもフレンドリーな感じです。 マルチランゲージとして下のURLにあるのですが、これもバラバラという感じですよね。 http://www.slax.org/modules.php?category=multilang 一度、すべての日本語に関するファイルをひとつのモジュールにまとめようとしたことが あったのですが、そのときはuimがどうしても動いてくれなくて諦めました。 いま、Slax標準が196MBで、日本語版が253MBというサイズになっています。単純に 日本語モジュールとひとつにまとめると57MBということになるので、このサイズがSlaxに は大きすぎるのかなぁと思ってもいます。 僕としては、Slax本家の標準に最低限の日本語環境で使いやすいものを提供して、あと はユーザがそれに加えて自分の使いたいものを自由に入れてくれればいいかなぁと。 Slax自体がとってもカスタマイズしやすいものなので、そうするのが自由なソフトウェアと して相応しいじゃないかと思ったりしていますが、どうでしょうか。 >>103 ありがとうございます。 slaxのコンセプトは「軽い」ということと「カスタマイズが簡単」ということだと思いますので、「最低限の日 本語環境の提供」案に賛成です。ここで具体的に整理したいのですが、たとえばja5.1.7b2なら以下のようなモ> ジュールが、その最低限の日本語化部分の骨格になると理解していいですか。 ●基本部分 slax-ja-5.1.7b-2.mo glibc-i18n-2.3.6-noarch-3.mo ●フォント ipafont-ttf-noarch-1.mo ●KDEまわり kde-i18n-ja-3.5.3-noarch-1.mo koffice-l10n-ja-1.5.1-noarch-1.mo ●日本語入力まわり uim-1.2.0-i386-1.mo anthy-7900-i386-1.mo >>102 経済産業省のやってるクノッピて、国家プロジェクトじゃないの? まぁ、あんまりというか全く宣伝してないけど。 小中高はWinじゃなくてlinux使わせようよ。 >>104 あと補足すると、 ●印刷 cndrvcups-common-1.20-i386-2.mo cndrvcups-lips4-1.20-i386-3.mo espgs-8.15.2-i486-1.mo gimp-print-4.2.7-i486-2.mo gnu-gs-fonts-6.0-noarch-1.mo ●エディタ vim-7.0.017-i486-1.mo ●その他 k3b-i18n-0.12.15-noarch-1.mo 残ったのは glibc-profile-2.3.6-i486-3.mo だけど、これって日本語化と関係あるんですか。 さっき ttp://squashfs.sourceforge.net/ からたどってsquashfs3.1-r2.tar.gzをおとしてbuildしてみました。 カーネルパッチはめんどーなので当てなかったのですが、./squashfs-tools/ 以下で make したら mksquashfs と unsquashfs という圧縮・解凍コマンド対ができました。 これを使うと他ディストロからでもSLAXの *.mo が作れたり、内容のリストとったりできそうです。 $ mksquashfs file1 file2 file3 hoge.mo $ unsquashfs -l hoge.mo >>106 glibc-profile-2.3.6-i486-3.moは、uimを動かす過程で、glibc-i18n-2.3.6-noarch-3.moと 一緒に入れました。本当に必要かわからなかったんだけど、両者を一緒に入れたときに uimが動いてくれたので、そのままになっています。 このglibc-profile-2.3.6-i486-3.moって、なんのためのライブラリなんでしょうね。 >>105 小中高はwinじゃなくてlinuxというのは、同感なんだけど、高校卒業して就職したとき 会社がwinだったりすると、linuxを導入した高校は使えないという評価になるんで、 なかなか難しかったりするようです。同じように大学がwinだったりすると、そこでlinux だけをやっている学生は遅れたりすることがあるんじゃないかなぁと危惧してみたり。 knoppixは、日本語版knoppixは産総研の須崎さんの研究テーマのひとつで、別の ところでも一部を支援はしているけど、国家プロジェクトというほどではないですよ。 国家プロジェクトというと国の都合で推進するわけで、そういうのとは別にやっている ほうが健全だと思ったりして。プロジェクトにべったりだと、国の都合で方針を変えな くちゃいけなかったり、いきなりやめられて途方にくれたりすることがままあります。 >>107 すごいですねぇ。 僕なんか、モジュールを作るのはslackwareでtgzファイルを作って、それをslax上で tgz2moコマンドで変換しています。もうひとつのmo2tgzコマンドを使う場合、よく バージョンの違いで怒られることがあるのですが、mksquashfsだとどうですか。 怒られないなら、こっちにしたいなぁ。 >>110 よく見たらisoイメージの./tools以下にmksquashfsとunsquashfsがありました。 *2moのコマンド群は、おなじ./tools以下にあるliblinuxliveという、関数登録用のスクリプトを起動したのち、その中の create_module() { mksquashfs "$1" "$2" $3 >/dev/null if [ $? -ne 0 ]; then return 1; fi chmod oga-x "$2" # remove execute attrib } を使っていました。つまり間接的にmksquashfsを使っていることになります。いわばwrapperですね。 >>110 つづき またmo2dirでは同じliblinuxliveの中の mount_module() { mount -t squashfs -o loop,ro "$1" "$2" err=$? if [ $err -eq 0 ]; then echo "$1 $2" >>/tmp/_mounts fi return $err } を使用していました。 unsquashfsというコマンドを使うのではなく、kernelにsquashfsパッチを当てているようです。 エラーを返すというのはこのmountの動作に関してでしょう。 unsquashfsで一部の*.moを解凍しようとすると次のようなエラーが出ます。これも類似の現象だと思います。 Major/Minor mismatch, filesystem on Avidemux_2_0_40.mo is (2:1) I only support Squashfs 3.0 filesystems! Later releases will support older Squashfs filesystems つまり、もう少ししたら3.0以前のsquashfsにも対応するから待っててね、ということのようです。 >>108 The glibc-profile package includes the GNU libc libraries and support for profiling using the gprof program. Profiling is analyzing a program's functions to see how much CPU time they use and determining which functions are calling other functions during execution. To use gprof to profile a program, your program needs to use the GNU libc libraries included in glibc-profile (instead of the standard GNU libc libraries included in the glibc package). If you are going to use the gprof program to profile a program, you'll need to install the glibc-profile program. 以上、赤帽のサイトから。これ見るかぎりglibcのプロファイリング用のライブラリ群のようですな。あまり必要ではなさそうなのですが、どうしてuimの動作と関連するのでしょう.. ためしに/modules以下のglibc-profile-2.3.6-i486-3.moを消して起動してみました。 (USBだとこういうのが簡単 ^^;) 今のところuim1.2.0も問題なく動いています(Konsole/KDEでも、jfbtermのuim-fepも)。 しばらくこのprofileモジュール外して使ってみます。もし不具合でたら報告します。 fd使いのために。 .fd2rc で次のような関連付けをしてみると*moファイルの扱いがなじんできます。 arch ".mo" "mksquashfs %TA %C &>/dev/null" "unsquashfs %C" 追加 launch ".mo" "unsquashfs -l %C|$PAGER" >>116 エラー表示も重要 launch ".mo" "unsquashfs -l %C 2>&1 |$PAGER" >>113 すいません、言葉が足りませんでした。 uimをmakeするときに、i18nとprofileを一緒に入れて動いたのが確認できたので、 それをそのまま使っています。glibc関連のライブラリは、その他のモジュールで 使う場合があるので、そのままにしておこうという感じです。 >>112 unsquashfsでエラーが出るということはSLAXがブートするときにも読めてないということだろうか? とくにエラー表示ないけどなあ。 SLAXのkernelはsquash 2.x と 3.xの両方が読めてるってことか。 すくなくとも本家のlibdvdcss_1_2_8_2.mo, alien_8_56.mo, XChat_2_6_1.mo, Syslinux_2_13.moはunsquashfs3.1では読めなかったぞ。(本家のモジュールには2.xと3.xのsquashfsが混在しているが、これでいいのか) squashfs2.xとか3.xとかいうことより、 Ftp://ftp.slax.org/SLAX-6.x/testing/technology-preview/READMEによると using LZMA compression for squashfs. This is not backwards compatible with old Slax modules, but it's better so Slax will switch to it. ということなので、いずれ全てのモジュールは新しくならざるをえない。これってsquashfsが3.2ないし4.0になるってことか? >>119 ブートするときに読めてないということではないみたいです。 単にmo2dirで展開するときに、失敗するみたいですね。 それを作ったときのsquashfsのバージョンで展開しなくちゃいけないんだけど、 どのバージョンなのか分からないまま、try & errorは避けたいです。 >>120 確かに圧縮形式が変わればモジュールのコンパチビィリティが失われるので、 これまでのモジュールは使えなくなりますね。そこのところを確かめようと、 squashfsのウェブページを見たのですが、それらしいのを見つけられませんでした。 根拠が薄いのですが、次期slaxからunionfsをaufsに変更するように、squashfsも another squashfsにするような気がします。 squashfsの作者がLZMAは好ましく思っていないというTomasのコメントがあるから そうかも。それよりスピードが遅いというスレッドも本家でたっているので、ひょっと したら見送られる可能性もあります。 >>122 ftp://ftp.slax.org/SLAX-6.x/testing/technology-preview/devel/lzma-for-squashfs.tar.gz これ、LZMAパッチの当たったsquashfsのソースだろうか。 展開コマンドunsquashfs.cについてはそのまんまのようだけど、同じunsquashfsで通用するってことかな。 いずれにしてもunsquashfsがもちっとかしこくなって、 モジュールの圧縮形式[version]まで自動検出できるようになってほしい。 それと旧バージョンの圧縮モジュールを別のバージョンの圧縮モジュールに変換するようなコマンドも。 バイナリダンプしてみると、squashfs3.xで圧縮したものは0x6fから8バイトにわたってナゾの0xffが続いている。これはunsquashfs3.1がきちんと読める。 unsquashfsがエラーを返す*.moファイルはみな、0x6fから0xffが続かないものばかりだ。まあこんなreverseするより、mksquashfsのソース読むのが正道なんだろけど。 ソース読みマスタ。squashfs_fs.hの中のstruct squashfs_super_block。 0xc-0xd(第29-30バイト)がmajor version, 0xe-0xf(第31-32バイト)がminor versionのようだ。0xffが続くとかどうとかはあまりspecificではなかった。撤回。 ということでどのバージョンのsquashfsで圧縮されているかのチェックはbashなら function checksqver { dd if=$1 bs=2 count=2 skip=14 2>/dev/null|ruby -ne 'p $_.unpack("M")'; } という感じになるかな。出力はきれいじゃないが、まあとりあえずの情報だけは得られる。テキトーにいぢってくれ。 usage: checksqver <filename> 123-126まで却下。unsquashfsがきちんと処理していた。やれやれ。 >>127 いやいや、どこにバージョン情報があるかよくわかりました。 linux自体昨日初めて聞いて触ったんだけど、これでFAX送ろうと思ったけど送れないよ。 どうやったらいいのかな。 たとえばwindow managerがKDEならば「KDE fax 送信」でググられてはいかがかと。 >>126 function checksqver{ test -f $1 && ruby -e "ARGF.seek(28); p ARGF.read(4).unpack('M')" $1; } function checksqver { test -f $1 && ruby -e "ARGF.seek(28); p ARGF.read(4).unpack('M')" $1; } ^ 空白!! >>132 function checksqver { test -f $1 && ruby -e "p IO.read(ARGV.shift,4,28).unpack('M')" $1; } Slax_Module_Inspector_060611.mo を使えば3.xも2.xも処理できます。 つーか、これブート時に展開したときのログみたいなもんを利用するモジュールかも。 >>137 標準ではKDEとfluxboxだけだと思うけど、www.slax.orgにgnome, fvwm, xfceなどのモジュールがあるのでgetして /modules以下に置けば使用できると思います。 ttp://www.slax.org/modules.php?category=system ●517jpにだけあるモジュール ochusha-0.5.8.2-3.i386.mo openprinting_mona-jp-0.1.3-0.i586.mo ●518jpにだけあるモジュール jd-1.7.0-060927.mo openprinting_M+mona-jp-0.1.3-0.i586.mo slax_5.1.8.mo ■この/modules/slax_5.1.8.moというモジュールは517jpでは/rootcopy以下におかれていたファイルをモジュール化したもののようだ。 これら設定ファイルのうち517jpにだけあって518jpには含まれないものは /root/.fonts.conf また、設定ファイルのうち518jpであらたに追加されたものは /etc/fonts/local.conf /etc/rc.d/rc.local /usr/bin/startfluxbox はじめて使ったがjdもなかなかいいな。開発が続いている点でイチオシか。 >>140 517jpと518jpの/modules以下の*.moは、名前の同じものは日付がちがっても全く同じバイナリやね。 まんま動くということのようです。 本家slax518とslax518jpの相違点の詳細(その1) ▼相異点1 バイナリー・ファイルtmp/518/boot/initrd.gzとtmp/518jp/boot/initrd.gzは違います --> initrd.gzに含まれるliblinuxliveスクリプトのutf8対応の部分のみの変更 => 以下の「相異点3」参照 バイナリー・ファイルtmp/518/boot/isolinux.binとtmp/518jp/boot/isolinux.binは違います バイナリー・ファイルtmp/518/boot/isolinux.bootとtmp/518jp/boot/isolinux.bootは違います --> isoイメージを作成するときに生成されるファイルだからか.. ▼相異点2 518jpでは/modules以下に追加モジュールが置かれている。<= まあ当然 (つづく) 本家slax518とslax518jpの相違点の詳細(その2) ▼相異点3 diff -r tmp/518/tools/liblinuxlive tmp/518jp/tools/liblinuxlive 456c456,461 < if [ "$IOCHARSET" != "" ]; then OPT="$OPT,nls=$IOCHARSET"; fi --- > # if [ "$IOCHARSET" != "" ]; then OPT="$OPT,nls=$IOCHARSET"; fi > if [ "$IOCHARSET" != "" ]; then > OPT="$OPT,nls=$IOCHARSET" > else > OPT="$OPT,nls=utf8" > fi 460c465,472 < if [ "$FS" = "vfat" -a "$IOCHARSET" != "" ]; then OPT=",iocharset=$IOCHARSET"; fi --- > # if [ "$FS" = "vfat" -a "$IOCHARSET" != "" ]; then OPT=",iocharset=$IOCHARSET"; fi > if [ "$FS" = "vfat" -a "$IOCHARSET" != "" ]; then > OPT=",iocharset=$IOCHARSET" > else > if [ "$FS" = "vfat" ]; then > OPT=",iocharset=utf8,codepage=932" > fi > fi ●結論:本家slax518とslax518jpの相違は、追加モジュールの他にはliblinuxliveスクリプトの一部(上記)変更のみである。 >>145 調査乙 fstabを作成するときなど、パーティションがvfat,ntfsのときにオプションに {iocharset|nls}=utf8, codepage=932 を付けるための修正だね。 >>146 なるほど。 これって台湾や中国、韓国でもそれぞれ同様の変更が必要となりそうですね。 case of $LANG ; esac とか使って汎用スクリプトってかけないかな>Tomas case $LANG in ja_JP* ) codepage=932 ;; ko_KR* ) codepage=949 ;; zh_CN* ) codepage=936 ;; zh_TW* ) codepage=950 ;; esac そんじゃこうなおせばいい? if [ "$FS" = "vfat" ]; then OPT=",iocharset=utf8,codepage=932" fi ↓ if [ "$FS" = "vfat" ]; then case $LANG in ja_JP* ) $CODEPAGE="codepage=932" ;; ko_KR* ) $CODEPAGE="codepage=949" ;; zh_CN* ) $CODEPAGE="codepage=936" ;; zh_TW* ) $CODEPAGE="codepage950" ;; esac OPT=",iocharset=utf8,$CODEPAGE" fi codepageが必要なのはこの4つだけですよね。 多バイト文化圏って、もっとたくさんありそうにも思うけど(タイとか、中東とかはどうなんだろう?)、とりあえずCJK対応ってことで。いいと思います。 >>150 たくさんのロケールを処理するなら本体にcase文を入れることが冗長になる。 メンテするごとにinitrdを作り直したりする必要ができてたいへんでもある。 ロケールを食わしたらコードページを返すような関数を書いて/usr/local/sbinあたりに置くのはどうか。 関数名をかりに 'langcp' とすると `langcp ja_JP.UTF-8` が 932 になるような関数。 その上で この OPT=",iocharset=utf8,codepage=932" の行を OPT=",iocharset=utf8,codepage=$(langcp $LANG)" とするのが簡潔かも知れない。 考えたら/usr/local/sbinに置いたとしても、その関数を更新すればinitrdを作りなおさなければならないという点では同じことかな。 liblinuxliveの中に langcp () { local codepage case $LANG in ja_JP* ) codepage=932 ;; ko_KR* ) codepage=949 ;; zh_CN* ) codepage=936 ;; zh_TW* ) codepage=950 ;; * ) return 1 ;; esac echo $codepage;return 0 } なんていう関数を書く方がふつうの感覚かも知れない。そのうえで OPT=",iocharset=utf8,codepage=$(langcp $LANG)" jpの修正版が上がっている。 Fluxboxで日本語がまともに使えるようになった。 スゲー殺風景なデスクトップだが軽いのが取り柄。 poorなマシンにお薦め。 ログイン後、"flux"で起動する。 liblinuxliveでtypo発見>はとちゃん --- liblinuxlive.518ja 2006-10-13 14:16:33.000000000 +0900 +++ liblinuxlive 2006-10-15 14:14:39.000000000 +0900 @@ -471,7 +471,7 @@ ja_JP* ) $CODEPAGE="codepage=932" ;; ko_KR* ) $CODEPAGE="codepage=949" ;; zh_CN* ) $CODEPAGE="codepage=936" ;; - zh_TW* ) $CODEPAGE="codepage950" ;; + zh_TW* ) $CODEPAGE="codepage=950" ;; esac OPT=",iocharset=utf8,$CODEPAGE" fi >>155 "$CODEPAGE=932"の"$"は要らない。 →"CODEPAGE=932" 実行時にエラーになる。 それに liblinuxliveはinitrd.gzの中と、toolsの下と、/usr/libの下の3カ所にあるが、 元々内容がそれぞれ微妙に違うよ。 OPTIONを設定しているところの記述は同じみたい。 修正するなら3つのファイルをなおした方がいいんじゃない? やっぱり152みたいな関数が便利かも。関数名はほかのsubfunctionの命名規則(みたいなものがあれば)にあわせて。で、本家にもってく。 152のreturn文は、とりあえずいらないと思う。 >>150 * SBCS (Single Byte Character Set) Codepages 1250 (Central Europe) 1251 (Cyrillic) 1252 (Latin I) 1253 (Greek) 1254 (Turkish) 1255 (Hebrew) 1256 (Arabic) 1257 (Baltic) 1258 (Vietnam) 874 (Thai) * DBCS (Double Byte Character Set) Codepages 932 (Japanese Shift-JIS) 936 (Simplified Chinese GBK) 949 (Korean) 950 (Traditional Chinese Big5) cf) http://www.microsoft.com/globaldev/reference/WinCP.asp >>157 grep "^.*()" liblinuxlive |sort でみるかぎりcreate_block_devices()なんていう命名が多いみたいだしlocale_codepage() ぐらいでいいんじゃないか、 意味まで含めればconvert_locale_codepage(), lookup_locale_codepage()だけど長すぎるかも。スクリプトはこんなもんでいいよ。return文は使う予定がないのなら省く。 関数にしなくても(しない方が)いいんじゃないの。もともと149の部分は関数の中にあるわけだし、それに159にあるのが全部ならこの4つのDBCSに対応すればいいだけだから。 それよかSLAX1.5.8のfluxboxは日本語対応だね。uim-ximもちゃんと動く。もしかして究極のlight weight GUI デラックス版出たでよ。 スゲー600MBを超えてる! 何が入ってるんだろ? >>155 ご指摘ありがとうございます。 initrdと02_core.moの/usr/lib配下にあるliblinuxliveの修正に手間取りましたが、 なんとか動くものができました。 ちょうど本家でも、smb-kioslaveの不具合があったので、それも修正したものを アップしましたので、ご利用ください。 http://hatochan.dyndns.org/slax-ja/index.php?slax-ja%2Fdownload SLAX起動中にUSBメモリーを差すと自動認識して、ダイアログが出る。 ここではマウントしないでキャンセルしておく。 すると、/etc/fstabにマウントエントリーが動的に作成されている。 オプションにiocharset=utf8,codepage=932が書き込まれいれば、liblinuxliveのの修正が効いた証拠。 /mnt/sda1_removableとかいうマウントポイントも出来ている。 mount /mnt/sda1_removableとしてマウントすれば、USBの日本語ファイル・ディレクトリ名が表示される。 JP版で表示されることを確認した。 >>164 jaではうまく反映していないみたい。 echo "fs:$FS iocharset:$IOCHARSET lang:$LANG" > /root/liblinuxlive.log こんな感じでsnapshotしてみたらどうかな。たぶんLANGがCになっているような気がする。 それと、ここのif文もっとシンプルになるよ。 if [ "$FS" = "vfat" ]; then if [ "$IOCHARSET" != "" ]; then OPT=",iocharset=$IOCHARSET" else case $LANG in ja_JP* ) CODEPAGE="codepage=932" ;; ko_KR* ) CODEPAGE="codepage=949" ;; zh_CN* ) CODEPAGE="codepage=936" ;; zh_TW* ) CODEPAGE="codepage=950" ;; esac OPT=",iocharset=utf8,$CODEPAGE" fi fi でもLANGで判断するのがダメなら、jpみたいにキメうちで932にしなきゃ。 cjk汎用版は無理なのかなー。 >>166 検証しました。だめでした<確認してからアップしろよ自分! というわけで簡単なスクリプトで確認した結果、これでいいかな。 誤) OPT=",iocharset=utf8,$CODEPAGE" 正) OPT=",iocharset=utf8,"$CODEPAGE >>167 いや、たぶんCODEPAGE自体が空白になってるんじゃないかと.. LANGがja_JP*に設定される前に実行されるんじゃないですかこのスクリプト >>168 jaでは、iocharset=utf8,の後が空白なので、LANGは大丈夫だと思われます。 まずは試してみます。 SLAX稼働中にUSBを差し込んだとき、fstabにマウントエントリーの追加は、 /usr/lib/liblinuxlveを使っているから、うまくいかないときはこれをなおして 何度もデバッグできる。 いちいちisoを作り直す必要はない。 >>168 どうもそれっぽいね。 >>169 空白って$LANGが設定されてないんでしょ? >>171 デフォルトではLANG=Cだったかな。 ほんと、どっかで言語(国)の情報を反映できないかな。 このままではSLAXはi18nできないことになる。 カーネルオプションで変数が渡せればcase文で処理できるのにな。 boot: slax なんたらかんたら lang=ja なんていうかんじで。 read.cgi ver 07.5.1 2024/04/28 Walang Kapalit ★ | Donguri System Team 5ちゃんねる