なにはともあれSLAX
..
113:login:Penguin
06/10/02 09:09:01 +nsWYShe
>>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の動作と関連するのでしょう..
114:login:Penguin
06/10/02 12:34:19 +nsWYShe
ためしに/modules以下のglibc-profile-2.3.6-i486-3.moを消して起動してみました。
(USBだとこういうのが簡単 ^^;)
今のところuim1.2.0も問題なく動いています(Konsole/KDEでも、jfbtermのuim-fepも)。
しばらくこのprofileモジュール外して使ってみます。もし不具合でたら報告します。
115:login:Penguin
06/10/02 13:51:08 +nsWYShe
fd使いのために。
.fd2rc で次のような関連付けをしてみると*moファイルの扱いがなじんできます。
arch ".mo" "mksquashfs %TA %C &>/dev/null" "unsquashfs %C"
116:login:Penguin
06/10/02 14:40:46 +nsWYShe
追加
launch ".mo" "unsquashfs -l %C|$PAGER"
117:login:Penguin
06/10/02 21:52:12 DY7TgomC
>>116
エラー表示も重要
launch ".mo" "unsquashfs -l %C 2>&1 |$PAGER"
118:login:Penguin
06/10/02 23:13:43 D3+ZApa1
>>113
すいません、言葉が足りませんでした。
uimをmakeするときに、i18nとprofileを一緒に入れて動いたのが確認できたので、
それをそのまま使っています。glibc関連のライブラリは、その他のモジュールで
使う場合があるので、そのままにしておこうという感じです。
119:login:Penguin
06/10/04 11:55:28 JbpUhSjT
>>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が混在しているが、これでいいのか)
120:login:Penguin
06/10/04 16:39:57 JbpUhSjT
squashfs2.xとか3.xとかいうことより、
FURLリンク(ftp.slax.org)によると
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になるってことか?
121:login:Penguin
06/10/05 02:45:49 vKxreEEd
>>119
ブートするときに読めてないということではないみたいです。
単にmo2dirで展開するときに、失敗するみたいですね。
それを作ったときのsquashfsのバージョンで展開しなくちゃいけないんだけど、
どのバージョンなのか分からないまま、try & errorは避けたいです。
122:login:Penguin
06/10/05 02:59:09 vKxreEEd
>>120
確かに圧縮形式が変わればモジュールのコンパチビィリティが失われるので、
これまでのモジュールは使えなくなりますね。そこのところを確かめようと、
squashfsのウェブページを見たのですが、それらしいのを見つけられませんでした。
根拠が薄いのですが、次期slaxからunionfsをaufsに変更するように、squashfsも
another squashfsにするような気がします。
squashfsの作者がLZMAは好ましく思っていないというTomasのコメントがあるから
そうかも。それよりスピードが遅いというスレッドも本家でたっているので、ひょっと
したら見送られる可能性もあります。
123:login:Penguin
06/10/05 09:15:43 JRU68BeF
>>122
fURLリンク(ftp.slax.org)
これ、LZMAパッチの当たったsquashfsのソースだろうか。
展開コマンドunsquashfs.cについてはそのまんまのようだけど、同じunsquashfsで通用するってことかな。
いずれにしてもunsquashfsがもちっとかしこくなって、
モジュールの圧縮形式[version]まで自動検出できるようになってほしい。
それと旧バージョンの圧縮モジュールを別のバージョンの圧縮モジュールに変換するようなコマンドも。
124:login:Penguin
06/10/05 12:37:13 JRU68BeF
バイナリダンプしてみると、squashfs3.xで圧縮したものは0x6fから8バイトにわたってナゾの0xffが続いている。これはunsquashfs3.1がきちんと読める。
unsquashfsがエラーを返す*.moファイルはみな、0x6fから0xffが続かないものばかりだ。まあこんなreverseするより、mksquashfsのソース読むのが正道なんだろけど。
125:login:Penguin
06/10/05 13:39:22 JRU68BeF
ソース読みマスタ。squashfs_fs.hの中のstruct squashfs_super_block。
0xc-0xd(第29-30バイト)がmajor version, 0xe-0xf(第31-32バイト)がminor versionのようだ。0xffが続くとかどうとかはあまりspecificではなかった。撤回。
126:login:Penguin
06/10/05 15:32:09 JRU68BeF
ということでどのバージョンのsquashfsで圧縮されているかのチェックはbashなら
function checksqver { dd if=$1 bs=2 count=2 skip=14 2>/dev/null|ruby -ne 'p $_.unpack("M")'; }
という感じになるかな。出力はきれいじゃないが、まあとりあえずの情報だけは得られる。テキトーにいぢってくれ。
usage: checksqver <filename>
127:login:Penguin
06/10/05 15:53:57 JRU68BeF
123-126まで却下。unsquashfsがきちんと処理していた。やれやれ。
128:login:Penguin
06/10/05 19:57:19 PONBBqlJ
>>127
いやいや、どこにバージョン情報があるかよくわかりました。
129:login:Penguin
06/10/06 10:23:10 +QMgQO8T
linux自体昨日初めて聞いて触ったんだけど、これでFAX送ろうと思ったけど送れないよ。
どうやったらいいのかな。
130:login:Penguin
06/10/06 11:54:13 bFSkCVhU
たとえばwindow managerがKDEならば「KDE fax 送信」でググられてはいかがかと。
131:login:Penguin
06/10/06 17:56:10 bFSkCVhU
>>126
function checksqver{ test -f $1 && ruby -e "ARGF.seek(28); p ARGF.read(4).unpack('M')" $1; }
132:login:Penguin
06/10/06 18:00:34 bFSkCVhU
function checksqver { test -f $1 && ruby -e "ARGF.seek(28); p ARGF.read(4).unpack('M')" $1; }
^
空白!!
133:login:Penguin
06/10/07 13:23:32 7RjSdMdC
>>132
function checksqver { test -f $1 && ruby -e "p IO.read(ARGV.shift,4,28).unpack('M')" $1; }
134:login:Penguin
06/10/09 13:22:39 7wkUnpBE
Slax_Module_Inspector_060611.mo を使えば3.xも2.xも処理できます。
135:login:Penguin
06/10/09 13:37:42 7wkUnpBE
つーか、これブート時に展開したときのログみたいなもんを利用するモジュールかも。
136:login:Penguin
06/10/09 17:35:50 7wkUnpBE
お。本家で5.1.8が出ましたね。
137:login:Penguin
06/10/09 23:52:37 sK79ZViL
これってデフォルトのWMはKDEだけ?
138:login:Penguin
06/10/10 13:32:04 WbtrmFIN
>>137
標準ではKDEとfluxboxだけだと思うけど、www.slax.orgにgnome, fvwm, xfceなどのモジュールがあるのでgetして /modules以下に置けば使用できると思います。
URLリンク(www.slax.org)
139:login:Penguin
06/10/10 13:52:40 hIAZPxPA
LiveCDの部屋に5.1.8がupされとるで
140:login:Penguin
06/10/10 21:42:12 nFDn8HEs
●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
141:137
06/10/10 23:27:52 AFHQnwVm
>>138
thx!
142:login:Penguin
06/10/11 09:12:54 l7bVgBMg
はじめて使ったがjdもなかなかいいな。開発が続いている点でイチオシか。
143:login:Penguin
06/10/11 16:57:15 l7bVgBMg
>>140
517jpと518jpの/modules以下の*.moは、名前の同じものは日付がちがっても全く同じバイナリやね。
まんま動くということのようです。
144:login:Penguin
06/10/12 11:11:49 Koz2C7Fz
本家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以下に追加モジュールが置かれている。<= まあ当然
(つづく)
145:login:Penguin
06/10/12 11:13:10 Koz2C7Fz
本家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スクリプトの一部(上記)変更のみである。
146:login:Penguin
06/10/12 15:08:36 s42DJ75o
>>145
調査乙
fstabを作成するときなど、パーティションがvfat,ntfsのときにオプションに
{iocharset|nls}=utf8, codepage=932
を付けるための修正だね。
147:login:Penguin
06/10/12 15:54:54 Koz2C7Fz
>>146
なるほど。
これって台湾や中国、韓国でもそれぞれ同様の変更が必要となりそうですね。
case of $LANG ; esac とか使って汎用スクリプトってかけないかな>Tomas
148:login:Penguin
06/10/12 16:06:17 Koz2C7Fz
case $LANG in
ja_JP* ) codepage=932 ;;
ko_KR* ) codepage=949 ;;
zh_CN* ) codepage=936 ;;
zh_TW* ) codepage=950 ;;
esac
149:login:Penguin
06/10/12 16:42:25 s42DJ75o
そんじゃこうなおせばいい?
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
150:login:Penguin
06/10/12 16:58:28 Koz2C7Fz
codepageが必要なのはこの4つだけですよね。
多バイト文化圏って、もっとたくさんありそうにも思うけど(タイとか、中東とかはどうなんだろう?)、とりあえずCJK対応ってことで。いいと思います。
151:login:Penguin
06/10/12 18:38:28 2Z6vbIEE
>>150
たくさんのロケールを処理するなら本体にcase文を入れることが冗長になる。
メンテするごとにinitrdを作り直したりする必要ができてたいへんでもある。
ロケールを食わしたらコードページを返すような関数を書いて/usr/local/sbinあたりに置くのはどうか。
関数名をかりに 'langcp' とすると `langcp ja_JP.UTF-8` が 932 になるような関数。
その上で この OPT=",iocharset=utf8,codepage=932" の行を OPT=",iocharset=utf8,codepage=$(langcp $LANG)" とするのが簡潔かも知れない。
152:login:Penguin
06/10/12 20:36:21 2Z6vbIEE
考えたら/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)"
153:login:Penguin
06/10/14 10:07:53 CkRKZPul
とりあえず slax-ja-5.1.8-1.iso をアップしてみました。
お試しいただけると幸いです。
URLリンク(hatochan.dyndns.org)
154:login:Penguin
06/10/15 00:42:33 E9l4MAs7
jpの修正版が上がっている。
Fluxboxで日本語がまともに使えるようになった。
スゲー殺風景なデスクトップだが軽いのが取り柄。
poorなマシンにお薦め。
ログイン後、"flux"で起動する。
155:login:Penguin
06/10/15 14:18:53 9sgz+4C+
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
156:login:Penguin
06/10/15 16:04:50 E9l4MAs7
>>155
"$CODEPAGE=932"の"$"は要らない。
→"CODEPAGE=932"
実行時にエラーになる。
それに
liblinuxliveはinitrd.gzの中と、toolsの下と、/usr/libの下の3カ所にあるが、
元々内容がそれぞれ微妙に違うよ。
OPTIONを設定しているところの記述は同じみたい。
修正するなら3つのファイルをなおした方がいいんじゃない?
157:login:Penguin
06/10/15 17:50:20 9sgz+4C+
やっぱり152みたいな関数が便利かも。関数名はほかのsubfunctionの命名規則(みたいなものがあれば)にあわせて。で、本家にもってく。
158:login:Penguin
06/10/15 21:14:16 9sgz+4C+
152のreturn文は、とりあえずいらないと思う。
159:login:Penguin
06/10/16 09:05:57 wzNUPK1o
>>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) URLリンク(www.microsoft.com)
160:login:Penguin
06/10/16 09:32:08 wzNUPK1o
>>157
grep "^.*()" liblinuxlive |sort
でみるかぎりcreate_block_devices()なんていう命名が多いみたいだしlocale_codepage() ぐらいでいいんじゃないか、
意味まで含めればconvert_locale_codepage(), lookup_locale_codepage()だけど長すぎるかも。スクリプトはこんなもんでいいよ。return文は使う予定がないのなら省く。
161:login:Penguin
06/10/16 19:25:59 MqOhQHUe
関数にしなくても(しない方が)いいんじゃないの。もともと149の部分は関数の中にあるわけだし、それに159にあるのが全部ならこの4つのDBCSに対応すればいいだけだから。
162:login:Penguin
06/10/16 19:29:12 MqOhQHUe
それよかSLAX1.5.8のfluxboxは日本語対応だね。uim-ximもちゃんと動く。もしかして究極のlight weight GUI
163:login:Penguin
06/10/16 22:11:48 vXniJ0jg
デラックス版出たでよ。
スゲー600MBを超えてる!
何が入ってるんだろ?
164:login:Penguin
06/10/17 07:35:04 B4EJO3Zv
>>155
ご指摘ありがとうございます。
initrdと02_core.moの/usr/lib配下にあるliblinuxliveの修正に手間取りましたが、
なんとか動くものができました。
ちょうど本家でも、smb-kioslaveの不具合があったので、それも修正したものを
アップしましたので、ご利用ください。
URLリンク(hatochan.dyndns.org)
165:login:Penguin
06/10/17 22:44:41 V8nE5sp5
SLAX起動中にUSBメモリーを差すと自動認識して、ダイアログが出る。
ここではマウントしないでキャンセルしておく。
すると、/etc/fstabにマウントエントリーが動的に作成されている。
オプションにiocharset=utf8,codepage=932が書き込まれいれば、liblinuxliveのの修正が効いた証拠。
/mnt/sda1_removableとかいうマウントポイントも出来ている。
mount /mnt/sda1_removableとしてマウントすれば、USBの日本語ファイル・ディレクトリ名が表示される。
JP版で表示されることを確認した。
166:login:Penguin
06/10/18 12:34:03 8uK+bnRC
>>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汎用版は無理なのかなー。
167:login:Penguin
06/10/18 12:50:40 TWBXSwRL
>>166
検証しました。だめでした<確認してからアップしろよ自分!
というわけで簡単なスクリプトで確認した結果、これでいいかな。
誤) OPT=",iocharset=utf8,$CODEPAGE"
正) OPT=",iocharset=utf8,"$CODEPAGE
168:login:Penguin
06/10/18 12:58:36 8uK+bnRC
>>167
いや、たぶんCODEPAGE自体が空白になってるんじゃないかと..
LANGがja_JP*に設定される前に実行されるんじゃないですかこのスクリプト
169:login:Penguin
06/10/18 13:06:36 TWBXSwRL
>>168
jaでは、iocharset=utf8,の後が空白なので、LANGは大丈夫だと思われます。
まずは試してみます。
170:165
06/10/18 13:18:51 CabG0mom
SLAX稼働中にUSBを差し込んだとき、fstabにマウントエントリーの追加は、
/usr/lib/liblinuxlveを使っているから、うまくいかないときはこれをなおして
何度もデバッグできる。
いちいちisoを作り直す必要はない。
171:login:Penguin
06/10/18 13:22:44 CabG0mom
>>168
どうもそれっぽいね。
>>169
空白って$LANGが設定されてないんでしょ?
172:login:Penguin
06/10/18 13:38:46 8uK+bnRC
>>171
デフォルトではLANG=Cだったかな。
ほんと、どっかで言語(国)の情報を反映できないかな。
このままではSLAXはi18nできないことになる。
173:login:Penguin
06/10/18 17:01:18 8uK+bnRC
カーネルオプションで変数が渡せればcase文で処理できるのにな。
boot: slax なんたらかんたら lang=ja
なんていうかんじで。
174:login:Penguin
06/10/18 19:53:04 HDTuRQEZ
ほかのディストロはどうやってるの?
175:login:Penguin
06/10/18 20:01:13 HDTuRQEZ
あそうか1CD-Linuxか。i18nするならやっぱりカーネルオプションしかないかなあ。
knoppixは各国語版でCD/DVD焼いてますね。
176:login:Penguin
06/10/18 20:04:39 tgdaR4C7
/proc/cmdlineから取れば良いんじゃね?
177:login:Penguin
06/10/19 01:07:36 MSXraNH4
>>176
liblinuxliveには、cmdline_parameter()とcmdline_value()が用意されていますので、
こちらを利用して、起動時のパラメータにlang=jaを指定して振りわければできると
思います。こんな感じでしょうか。
#if [ "$FS" = "vfat" -a "$IOCHARSET" != "" ]; then OPT=",iocharset=$IOCHARSET"; fi
if [ "$FS" = "vfat" -a "$IOCHARSET" != "" ]; then
OPT=",iocharset=$IOCHARSET"
else
if [ "$FS" = "vfat" ]; then
CMDLINEVALUE=`cmdline_value lang`
if [ "$CMDLINEVALUE" != "" ]; then
case $CMDLINEVALUE in
ja* ) CODEPAGE="codepage=932" ;;
ko* ) CODEPAGE="codepage=949" ;;
cn* ) CODEPAGE="codepage=936" ;;
tw* ) CODEPAGE="codepage=950" ;;
esac
OPT=",iocharset=utf8,$CODEPAGE"
else
OPT=",iocharset=utf8"
fi
fi
fi
178:login:Penguin
06/10/19 01:24:31 K4H0Yqvl
>>177
いいんじゃない。
cmdline_valueという関数は定義されてるんですね。
179:login:Penguin
06/10/19 02:43:39 yAGz+9wf
>>178
はい、liblinuxlive内にありました。
CMDLINEVALUE=`cmdline_value lang`
if [ "$CMDLINEVALUE" != "" ]; then
↑これを1行でまとめられるような気がするんですが、どうするか分かりません。
180:login:Penguin
06/10/19 02:47:04 yAGz+9wf
jpでは、jfbtermとuim-fepで起動時からコンソールで日本語入力を可能にしている
らしいのですが。slax-jaで起動時に autoexec=jfbterm;uim-fep とやっても、うまく
いきません。
jpでは、どのようにこれを実現しているのでしょうか。
181:login:Penguin
06/10/19 02:51:15 K4H0Yqvl
>>180
jfbtermの中でuim-fepを実行する。
autoexec=jfbterm -e uim-fep
182:login:Penguin
06/10/19 02:54:05 K4H0Yqvl
>>179
こんな感じ?
if [ "$(`cmdline_value lang`)" != "" ]; then
183:login:Penguin
06/10/19 03:31:58 yAGz+9wf
>>181
やってみました。
autoexec=jfbterm -e uim-fep だと -e uim-fepがjfbtermのパラメータだと認識されませんでした。
というわけで、以下のような簡単なスクリプトを作りました。
#!/bin/sh
jfbterm -e uim-fep
でも、プロンプトがbash-3.0となって、uim-fepは日本語オンになりませんでした。
もうちょっとぽいんですが…。
184:login:Penguin
06/10/19 03:33:29 yAGz+9wf
>>182
なるほど。
これだと後ろのcase文はどのようにすればいいでしょうか。
185:login:Penguin
06/10/19 04:01:14 K4H0Yqvl
>>183
それuim-fepの起動失敗してるんじゃない?
スクリプトの実行属性が付いている?
>>184
一緒。
#もう寝る。
186:login:Penguin
06/10/19 04:55:59 diLupZWd
>>184
元のままでいいんじゃね?
187:login:Penguin
06/10/19 06:55:25 K4H0Yqvl
liblinuxliveの中で$LANGをトレースしてみたらやはり設定されてなかった。
そこで、ブートオプションでlang=ja_jp.UTF-8などとしてして、それを
/proc/cmdlineからとってくる方法もありますが、もうひとつ、別な方法として、
実はLANGの指定は/etc/profile.d/lang.shで、
export LANG=ja_JP.UTF-8
などと設定されている。これから取ってくるものを考えてみた。
LANGの値を次のように設定する。
LANG=`grep -e ^export /etc/profile.d/lang.sh|grep LANG=|cut -f 2 -d " "|cut -f 2 -d =`
この行をliblinuxliveに次のように挿入する。
if [ "$FS" = "vfat" -a "$IOCHARSET" != "" ]; then
OPT=",iocharset=$IOCHARSET"
else
if [ "$FS" = "vfat" ]; then
LANG=`grep -e ^export /etc/profile.d/lang.sh|grep LANG=|cut -f 2 -d " "|cut -f 2 -d =`
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
はとちゃん版slaxで/usr/lib/liblinuxliveを修正して動作することを確認しました。
188:login:Penguin
06/10/19 07:04:46 K4H0Yqvl
なお、fstabのオプションの生成は/usr/lib/liblinuxliveだけが関係してくるようであり、
/usr/lib/liblinuxliveを修正するだけでOKとなった。
initrd.gzの中とtoolsの下のliblinuxliveはどこで使われるのか不明。
ま、一応修正しといた方がいいと思うけど。
189:login:Penguin
06/10/19 08:54:38 NByMOkR/
>>182
> if [ "$(`cmdline_value lang`)" != "" ]; then
こんなときはよく
if [ x$(cmdline_value lang) != x ]; then
なんてします。 ""がxの1文字で済むので両辺で2文字倹約ですう。
xのかわりに_を使うときもあります。
190:login:Penguin
06/10/19 09:08:20 NByMOkR/
>>187
/etc/profile.d/lang.shはslax-ja-$(ver)-$(rev).moの中にありますね。これも良策ですが、カーネルオプションで明示的にlang=jaとやるほうが今後sysconfigのメニューで多国語選択可能になった場合、管理しやすいように思います。
191:login:Penguin
06/10/19 09:16:01 NByMOkR/
sysconfigじゃなくてsyslinux.cfgまたはisolinux.cfgでした。
192:login:Penguin
06/10/19 11:03:20 NByMOkR/
166-191をまとめると
if [ "$FS" = "vfat" ]; then
if [ "$IOCHARSET" != "" ]; then
OPT=",iocharset=$IOCHARSET"
else
case $(cmdline_value lang) in
"" ) OPT=",iocharset=utf8" ;;
ja* ) OPT=",iocharset=utf8,codepage=932" ;;
ko* ) OPT=",iocharset=utf8,codepage=949" ;;
cn* ) OPT=",iocharset=utf8,codepage=936" ;;
tw* ) OPT=",iocharset=utf8,codepage=950" ;;
esac
fi
fi
こんなかんじになるけど、これでいいのかな。iocharsetがutf8でなくてもcodepageは言語に従って指定した方がいいんじゃないかな。
193:login:Penguin
06/10/19 11:04:42 NByMOkR/
(つづき)
ということは、
if [ "$FS" = "vfat" ]; then
if [ "$IOCHARSET" != "" ]; then
OPT=",iocharset=$IOCHARSET"
else
OPT=",iocharset=utf8"
fi
case $(cmdline_value lang) in
ja* ) OPT="${OPT},codepage=932" ;;
ko* ) OPT="${OPT},codepage=949" ;;
cn* ) OPT="${OPT},codepage=936" ;;
tw* ) OPT="${OPT},codepage=950" ;;
esac
fi
これでどうだろう。
194:login:Penguin
06/10/19 11:08:13 NByMOkR/
(つづきのつづき)
if [ "$IOCHARSET" != "" ]; then
OPT=",iocharset=$IOCHARSET"
else
OPT=",iocharset=utf8"
fi
は1行で
OPT=",iocharset=${IOCHARSET:-utf8}"
って書くこともできます(bash>2.x)。
195:login:Penguin
06/10/19 11:30:14 NByMOkR/
ということで決定版です。全部で9行
if [ "$FS" = "vfat" ]; then
OPT=",iocharset=${IOCHARSET:-utf8}"
case $(cmdline_value lang) in
ja* ) OPT="${OPT},codepage=932" ;;
ko* ) OPT="${OPT},codepage=949" ;;
cn* ) OPT="${OPT},codepage=936" ;;
tw* ) OPT="${OPT},codepage=950" ;;
esac
fi
196:login:Penguin
06/10/19 11:44:22 K4H0Yqvl
いい!
そんじゃ、関数化するとこんなもん?
get_codepage() {
case $(`cmdline_value lang`) in
ja* ) codepage=932" ;;
ko* ) codepage=949" ;;
cn* ) codepage=936" ;;
tw* ) codepage=950" ;;
esac
echo $codepage
}
[ "$FS" = "vfat" ] && OPT=",iocharset=${IOCHARSET:-utf8},codepage=`get_codepage`"
197:login:Penguin
06/10/19 12:55:04 NByMOkR/
>>196
あ、でもlangが指定されなかった場合、つまり$(cmdline_value lang)が空だった場合、OPT=",iocharset=${IOCHARSET:-utf8}" のままでとどめたい。でないと
OPT=",iocharset=utf8,codepage=" なんてことになってマウントエラーにならないかな。
それと$(~...~)のバッククオートは不要だと思う。$()が``と同じはたらきをするから。
あえて関数にするなら
get_codepage() {
case $(cmdline_value lang) in
ja* ) echo ",codepage=932" ;;
ko* ) echo ",codepage=949" ;;
cn* ) echo ",codepage=936" ;;
tw* ) echo ",codepage=950" ;;
esac
}
[ "$FS" = "vfat" ] && OPT=",iocharset=${IOCHARSET:-utf8}$(get_codepage 2> /dev/null)"
かな、私のクセでは最後の文を test _$FS = _vfat && .. なんて書きたい所だけど、これは他の部分の文体に合わせたほうがいい。
198:login:Penguin
06/10/19 13:03:34 NByMOkR/
>>197
どうでもいいことかも知れないが、この関数の内容からすれば get_codepageではなくて show_codepageだな。
199:login:Penguin
06/10/19 13:28:47 K4H0Yqvl
>>197
good!
200:login:Penguin
06/10/19 14:29:30 NByMOkR/
ついでにslax-ja-5.1.8-2.isoでは /tools/liblinuxliveでは
# add special options for NTFS
if [ "$FS" = "ntfs" ]; then
OPT=",ro"
#if [ "$IOCHARSET" != "" ]; then OPT="$OPT,nls=$IOCHARSET"; fi
if [ "$IOCHARSET" != "" ]; then
OPT="$OPT,nls=$IOCHARSET"
else
OPT="$OPT;nls=utf8"
fi
fi
になっていますが、同様に書き換えると
[ "$FS" = "ntfs" ] && OPT=",ro,nls=${IOCHARSET:-utf8}"
ということでここも8行分が1行で済みますね。
201:login:Penguin
06/10/19 14:41:32 NByMOkR/
(slax-ja-5.1.8-2.iso)/tools/liblinuxliveの453-488行をいっそのこと
case $FS in
'' ) ;; # skip when $FS is null
ntfs ) OPT=",ro,nls=${IOCHARSET:-utf8}" ;;
vfat ) OPT=",iocharset=${IOCHARSET:-utf8}$(get_codepage 2> /dev/null)" ;;
swap ) fstab_update_line $FSTAB~ $DEVICE swap swap defaults ;;
* ) fstab_update_line $FSTAB~ $DEVICE $MOUNTDIR $FS auto,users,suid,dev,exec$OPT;
mkdir -p "$1/$MOUNTDIR" ;;
esac
とすれば35行分が8行で済みます。
これでいいのかどうかはわかりませんが、コード上は等価変換だと思います。
202:login:Penguin
06/10/19 14:45:48 NByMOkR/
あ、skip する '') はシングルクオートが二つです。ここは "")でもいいです。
それと8行とは言っても、get_codepage関数(または show_codepage関数)が必要だから全部で16行ですね。
203:login:Penguin
06/10/19 15:00:13 K4H0Yqvl
shellスクリプトのお勉強スレになってしまった。w
204:login:Penguin
06/10/19 15:08:32 K4H0Yqvl
>>201
とてもいいんじゃないでしょうか?
case文でわかりやすいです。
${IOCHARSET:-utf8}
この書き方がミソ。
知らなかった。
これで決定版でいいですよ。
205:login:Penguin
06/10/19 15:19:32 NByMOkR/
>>201
すみません。あせってまちがえました。正しい流れはこうです。
case $FS in
'' ) ;; # skip when $FS is null
swap ) fstab_update_line $FSTAB~ $DEVICE swap swap defaults ;;
* ) case $FS in
ntfs ) OPT=",ro,nls=${IOCHARSET:-utf8}" ;;
vfat ) OPT=",iocharset=${IOCHARSET:-utf8}$(get_codepage 2> /dev/null)" ;;
esac
fstab_update_line $FSTAB~ $DEVICE $MOUNTDIR $FS auto,users,suid,dev,exec$OPT;
mkdir -p "$1/$MOUNTDIR" ;;
esac
206:login:Penguin
06/10/19 19:47:22 CLkhC8Af
>>197
show_codepage() {
local p
case $(cmdline_value lang) in
ja ) p=932 ;;
ko ) p=949 ;;
cn ) p=936 ;;
tw ) p=950 ;;
esac
echo ",codepage=$p"
}
この方が冗長性は低いと思います。
あと、159の
* 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)
は対応しなくてもいいのでしょうか。
207:login:Penguin
06/10/19 19:50:52 CLkhC8Af
>>206
show_codepage() {
local p
case $(cmdline_value lang) in
ja ) p=932 ;;
ko ) p=949 ;;
cn ) p=936 ;;
tw ) p=950 ;;
esac
[ _$p = _ ] || echo ",codepage=$p"
}
とすべきかな。
208:login:Penguin
06/10/19 22:08:40 cuhZOjcl
ぜんぜん「なにはともあれ・・・」じゃないじゃん。
209:login:Penguin
06/10/20 07:34:37 eKwRcOLE
とりあえず、slax-ja-5.1.8-3.iso をリリースしました。
いろいろとご協力いただきまして、ありがとうございます。
いまのところ、lang=jaについては、ちょっと非効率ですが(個人的に)視認性のよい形のものを採用しました。
jfbtermについては、コンソール上で jfbterm -q -e uim-fep とするように記述しました。
URLリンク(hatochan.dyndns.org)
210:login:Penguin
06/10/20 08:51:24 6EsGZw5M
なには‐ともあれ【何はともあれ】
ほかのことはどうあろうとも。ともかくも。「―無事でよかった」
広辞苑第五版
211:login:Penguin
06/10/20 14:19:11 6EsGZw5M
本当にごくろうさまでした>はとちゃん
typoじゃないかなと思うんだけど、fixは次の機会でいいから。いちおう報告。
--- liblinuxlive.org 2006-10-19 17:23:07.000000000 +0900
+++ liblinuxlive 2006-10-20 14:15:20.000000000 +0900
@@ -457,7 +457,7 @@
if [ "$IOCHARSET" != "" ]; then
OPT="$OPT,nls=$IOCHARSET"
else
- OPT="$OPT;nls=utf8"
+ OPT="$OPT,nls=utf8"
fi
fi
212:login:Penguin
06/10/21 02:28:16 IIYQ5oz3
>>211
ありがとうございます。
修正したものを、slax-ja-5.1.8-3b.isoとしてリリースしました。
ご利用いただければ、幸いです。
度重なる修正で、失礼しました。
今度、10月28日(土)に大久保の日本電子専門学校7号館で、Open Source Conference
2006 Tokyo/Fallがありますが、ここで小江戸らぐから slax-ja-5.1.8-3b.iso のCD-Rを
出展する予定ですので、時間のある方はぜひ遊びに来てください。
213:login:Penguin
06/10/21 22:17:59 acJheyR4
1GBのUSBスティックにインストールしたslax518のブートデモとかもいいね。ちょっと非力めのマシンでflux動かすとか。おうちで眠ってるパソコンでslax動かしてみませんかみたいな。
214:login:Penguin
06/10/22 12:09:29 e8eLscrX
非力めマシンのためなら本家でこんなの発見。
URLリンク(www.slax.org)
SLAX Boot CD v 5.1.8
SLAX Boot CD is used to boot SLAX from USB devices on computers which can't boot from USB directly. It can be also used to boot SLAX from ISO file on disk.
215:login:Penguin
06/10/22 15:05:39 e8eLscrX
>>214
これってUSB外付HDDからもブートできるんだろうか。
こいつを名刺型CD-R (URLリンク(www.rakuten.co.jp))に焼いて、カード型(1.8")HDD(URLリンク(www.iodata.jp))
でslaxを起動するとか。胸のポケットからササッと出してslaxが起動すればかなりツカめます。
でも名刺型CD-Rっていまどきなかなか入手困難かな
216:login:Penguin
06/10/23 12:51:00 +Tc6lnHM
>>214
USBブートできないPCでUSBメモリ(256MB)からブートできた。起動速度が全然ちがう。
USBメモリ側のsyslinux.cfgのメニューが表示されるのかなと思ったら、そうじゃなかった。最初のboot:プロンプトの所で必要なオプションをきちんと指定しておかないといけないみたい。from=オプションみたいな動作なのかな。
700MBのCD-RWに5MBのイメージを焼くのももったいないような気もするが、名刺型とか小さいサイズのCDって割高すぎるよね。縦置のトレイでも確実に使えるっていうことでフツーのCD-R(W)に焼くのが安上がりだ。
これであとUSB外付HDDからの起動ができれば利用範囲が増えるだろうね、たしかに。
217:login:Penguin
06/10/23 20:57:41 +Tc6lnHM
probeusbオプションて4.xごろからあるのか.. 知らなんだ.. はずい
218:login:Penguin
06/10/24 06:42:31 zsiF9MdP
bootCD5.1.8焼いて動かしたがlang=jaは反映されない(当然か)。
(bootCD)/tools/liblinuxliveのcjk化(いずれはi18n)が必要。
i18n志向してほしいぞ>本家
219:login:Penguin
06/10/24 08:36:32 zsiF9MdP
bootCD5.1.8の/bootと/tools以下はslax5.1.8の/bootと/tools以下とほとんど同じだった。/boot/isolinux.bin と /boot/isolinux.boot がちがうだけ。
結局 /isolinux.cfgのappend文に "probeusb" があるかどうかだけなのかな、違いは。
220:login:Penguin
06/10/24 17:15:03 k8MBOIWI
>>219
slax-ja-5.1.8でisolinux.cfgのエントリにprobeusbして焼いてみたが Kernel Panicになる。slax-bootとどこか違うのかわからん..が、まあいいわ。vfatとntfsの日本語ファイルの表示だけだし。
それにしてもliblinuxliveスクリプトで使うlang=jaはこのスレで発生した方言かも知れんが、本家版のiocharset=オプションからの拡張だとすればいい線いってると思う。
だれか本家に持ってったらどう?
221:login:Penguin
06/10/25 08:58:51 DwuHd36P
518jpの方のliblinuxliveではいいかんじに関数化してるよ。このスクリプトはbashじゃなくてashで動かすみたい。それもbusyboxのaliasで。
222:login:Penguin
06/10/25 21:52:00 YGNCJ/3B
slaxいいですね。日本語TeXがほしいな。
223:login:Penguin
06/10/26 02:17:46 kKV0g70q
おおっ、マルチ言語対応SLAX!
224:login:Penguin
06/10/26 15:13:04 E4oZl6zi
>>222
plamo4.2のptetex3-20060327-i386-P1.tgzをtgz2moするとか(だめもとで
225:login:Penguin
06/10/26 21:23:58 kKV0g70q
ライブCDに部屋で多言語対応のSLAXが出た。
英語、ドイツ語、フランス語、中国語、ハングル、日本語に対応。
中国語、ハングルの入力もできるらしい。
というか入力の仕方がわからないので試してないが。
226:login:Penguin
06/10/26 21:56:27 E4oZl6zi
>>225
コンソールはjfbtermを使ってると思うが、KDEではKonsoleか。Konsoleって多国語表示できるのか?
227:login:Penguin
06/10/27 08:55:37 teh2ybZ+
中国語とハングルの前に、フランス語のアクサン記号とセディーユ、ドイツ語のウムラウトとエスツェットは入
力できるんだよね。報告キボンヌ
228:login:Penguin
06/10/28 15:32:29 dH4ea74E
た、たみーる語。ひんずー語! Linuxerいるのか(いいけど。おもろい。西夏文字とヒエログリフもほしい。
229:login:Penguin
06/10/29 14:43:30 tR5AOICx
>>228
いやいやこれからのLinuxerはインドとの関係を大切にしなければなりません。タミール語やヒンディー語は重要でしょう。
西夏文字やヒエログリフを使うLinuxerはまず現われないでしょうから、どうしても実装したいならOSのロケールでなくアプリの形で用意するのが正しい設計だと思います。
もしそんなアプリがあるのなら、トンパ文字が扱えるものもほしいです。
230:login:Penguin
06/10/31 02:53:17 h2V0V+0z
正式版でた。
Slax multilingual 5.1.8
231:uim党
06/11/01 08:57:55 trtKBmXq
これってSCIMじゃないとダメなの? uimでもmultilingualできますか>識者
232:login:Penguin
06/11/01 10:21:53 MWZuBKC1
>>231
できるっしょ?
m17nを使えば簡単にmultilingualにできるが、
uim用のm17nブリッジ(uim-m17n)もある.
233:login:Penguin
06/11/01 10:37:24 MWZuBKC1
m17nについてはここを参照:URLリンク(www.m17n.org)
fepではscimとuimとiiiMFが対応している。
234:login:Penguin
06/11/01 16:03:23 MWZuBKC1
SLAX multilingual
対応言語・・・23種類
用途・・・・・・・複数言語混在文書の作成、
仕事や旅行で世界各地を巡る時、CD−ROMやUSBに入れて持って行き、現地のPCで使用。
ま、外国への旅行も出張も縁のないオイラには活用する場がないかもね。w
235:login:Penguin
06/11/01 20:10:50 3ZgAXLJ2
>>234
この場合、興味深いのはキーボードの分布だ。
実際のハードウェア上のつくりがバラバラなんじゃないか(見たことないけど
日本でさえ「半角・全角」「変換」「無変換」「カタカナ・ひらがな」なんてキーがある。
slax518multilingualのサポートする以下の国のキーボードはどんなものか(中東あたり、想像を絶する配列のような予感
american arabian bengal chinese english french german greek hebrew hindi italian japanese kazahk korean portuguese russian serbian slovak spanish swedish taiwan tamil vietnamese
236:login:Penguin
06/11/01 21:03:17 eZzscqtp
make_disk.batを実行し、USBメモリーに入れてみたけど、BOOT errorになりました。
何か設定が必要なのでしょうか?
237:login:Penguin
06/11/02 09:00:48 nGaTMBfl
>>236
make_disk.batって、中でやってることはエラー処理をのぞけば下の5つだけ。
xcopy * "%1\" /I /R /E /Y
move /Y "%1\boot\vmlinuz" "%1\vmlinuz"
move /Y "%1\boot\initrd.gz" "%1\initrd.gz"
copy /Y tools\WIN\syslinux.cfg "%1\" >NUL
tools\WIN\syslinux.exe -ma "%1"
これでブートに失敗するということは、最後のsyslinux.exeがうまくできてない可能性が高い。
もちょっとmake_disk.batを実行したときのエラーと、それで起動したときのエラーをくわしく見る必要があると思うよ。
医学で言えば「エラー」は「症状」、症状をよく見ることで病気がわかる。
238:login:Penguin
06/11/02 18:01:43 nGaTMBfl
マルチリンガルslax便利だが、エントリーがロケールだと入力しずらい。言語コードISO639に基づいてコード化しても米国・中国・台湾だけは区別できなくなる。この三国だけを例外的に国コードISO3166で us,cn,tw とすることでうまく2文字にできる。
american us
arabian ar
bengal bn
chinese cn
english en
french fr
german de
greek el
hebrew he
hindi hi
italian it
japanese ja
kazahk kk
korean ko
portuguese pt
russian ru
serbian sr
slovak sk
spanish es
swedish sv
taiwan tw
tamil ta
vietnamese vi
239:login:Penguin
06/11/03 01:30:07 Qu42OlHx
Slax multilingual(1102)
バグフィックスと言語の追加。
8個増えて合計31言語になった。
省略コードにも対応したみたい>>238
240:login:Penguin
06/11/03 07:30:44 KT2EkHFZ
>>239
isoの中身までは見てないが、1CD-Linuxの紹介だけ見た。
Slovakは国コードでも言語コードでもskのはずだが.. slになってる。
241:login:Penguin
06/11/03 07:57:56 KT2EkHFZ
あとNorwegian(nb), Polish(po)になってるけど、国コードと言語コードともにNorwegian(no), Polish(pl)
242:236
06/11/03 10:47:10 Y3sjlCsk
>>237
ありがとうございます。make_diskでのエラーはありませんでした。
ThinkPadでBIOSからUSBメモリーは見えているけど、boot errorやdisk errorが出て起動しない。(make_diskするたびに挙動が変わる)
で、これに入れてるVMwareからだとUSBに入れてたSLAXが起動。(速さに感動しました)
ということで、作成自体は成功していると思います。
他にPC持っていないので、いろんなところで試してみます。
243:login:Penguin
06/11/03 11:59:27 Qu42OlHx
>>240,241
CDの方はsk,plで起動。
単純なHPの記述のまちがい。
nbは"bokmaal"の意味でしょ?
"nynorsk"はnn。
244:login:Penguin
06/11/03 21:43:33 v4VP+wsq
>>242
ほんとUSBの起動は各機種(BIOS)でマチマチですね。PC(BIOS)とUSBメモリーの相性というか、USBメモリーの"bootability"<造語>について誰か調査報告キボンヌ。
245:login:Penguin
06/11/06 12:42:59 xxW22pDP
KDE Officeまったくつかわないんだけど/base/08_kde_office.mo消してもいいんだろうか。
246:login:Penguin
06/11/06 21:08:25 XoivRM/q
これってハードディスクにインストールできたりしないの?
247:login:Penguin
06/11/06 22:23:10 xxW22pDP
>>246
237のような方法でフツーに可能だと思う。Win環境ではmake_disk.batでsyslinux.exe、Linux環境ではmake_disk.shでliloを使っているようだ。
248:login:Penguin
06/11/06 22:58:34 xxW22pDP
>>244
URLリンク(orz.kakiko.com)
249:246
06/11/07 01:15:15 DuZ6A3w3
すいません。少し前に書いてあったんですね
>>247
ありがとうございました
250:login:Penguin
06/11/08 00:27:08 kQh3/duq
sedの勉強がてらmultilingual SLAXのisolinux.cfgの主要部分だけ抜き出すスクリプトを書いてみた。'mlangs.sed'とでもして実行属性つけて
$ ./mlangs.sed isolinux.cfg | sort
してみて。
#!/bin/sed -nf
#
/^label/!d # skip unless /^label/
/^label/{ # /^label/ section
# read /^label/ ... /^append/ lines
:loop
N # read next line
s/label ..\n// # erase abbreviated label
s/label .. .*\n// # erase abbreviated label with some modification
s/kernel.*\n// # erase /^kernel/ line
/append/! b loop # read until /^append/ line
# read 'append' line
N # read /^append/ line
s/append.*lang/lang/ # erase 'append' .. 'lang' in /^append/ line
# post process
s/label // # erase 'label '
s/\n/: / # convert 1st newline to ': '
s/\n$// # erase last newline
}
#
/^slax/d # erase /^slax/ line
/^linux/d # erase /^linux/ line
/^$/!p # show unless null line
d # clear pattern space for next cycle
#
# end of mlangs.sed
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5367日前に更新/191 KB
担当:undef