来週着を予定していた #TurboLinux 6.0が届いてしまった....
#TurboLinux のディスクを #Windows でマウントすると、 #ATOK のRPMが "\TURBOLIN\RPMS\ATOK12SE.RPM" なのに、 #Linux でマウントすると "\TurboLinux\RPMS\ATOK12SE-1-20.i386.rpm" になるのってどういう仕組み? (→ #RockRidge フォーマットと判明)
ファイル名を信じるのであれば、ATOK 12 SE/R.2はバージョン1, リリース20のようである。なんだそりゃ?
RPMパッケージのネーミング規則 https://docs.oracle.com/cd/E96517_01/ladbi/rpm-packages-naming-convention.html#GUID-04FBD99C-77A8-4E31-9C8D-5B6B2EAE68DB
普通はrpm2cpioでぶちまけられたやつをパイプでサブシェルに渡してcpioコマンドを実行するらしいですね?と思いながら、バラで実行すると、いい感じ™にぶちまけられた
ubuntuuser@ubuntuuser-VirtualBox:~/ドキュメント$ rpm2cpio ATOK12SE-1-20.i386.rpm > ATOK12SE-1-20.i386.cpio
ubuntuuser@ubuntuuser-VirtualBox:~/ドキュメント$ mv ATOK12SE-1-20.i386.cpio ATOK12SE/
ubuntuuser@ubuntuuser-VirtualBox:~/ドキュメント$ cd ATOK12SE/
ubuntuuser@ubuntuuser-VirtualBox:~/ドキュメント/ATOK12SE$ cpio -F ./ATOK12SE-1-20.i386.cpio -id
61399 ブロック
ファイルをいい感じ™に配置してatok12xを実行しようにも、 #bash くんが "そのようなファイルやディレクトリはありません" などとぬかしてきた。どうもライブラリが足らないとそのようなメッセージが出る事例がある模様 (は???) ちなみに本件は先にatok12prxを実行しようとしてロケールが云々のエラーでセグフォを吐いたので、何も考えずにEUC-JPを追加した (しかしatok12prxは動かなかった) #ATOK #Linux
Ubuntu日本語フォーラム / "そのようなファイルやディレクトリはありません"というエラーに関して https://forums.ubuntulinux.jp/viewtopic.php?pid=124725#p124725
日本語でおk
ubuntuuser@ubuntuuser-VirtualBox:~/documents/ATOK12SE/usr/X11R6/bin$ Warning: Cannot load app-defaults file.
Kinput2 may not work properly without it.
Maybe kinput2 is not installed correctly,
or your file search path (specified by
environment variable 'XFILESEARCHPATH')
is wrong.
�Ѵ������Ф���³�Ǥ��ޤ���Ǥ�����
Error: IMProtocol: resource locales must be specified at widget creation
日本語でおk
ubuntuuser@ubuntuuser-VirtualBox:~$ printenv | grep -e "LANG"
LANG=ja_JP.eucJP
#kinput2 セルフビルドのやっていきが生えてきたけど、どのロケールを使いたいのかよくわからないatok12prxの起動に失敗し続けているので、 #TurboLinux の起動実験に再度取り組むべきなのだろう #ATOK
ubuntuuser@ubuntuuser-VirtualBox:~/documents/ATOK12SE/usr/bin$ ./atok12prx
Warning: locale not supported by C library, locale unchanged
Warning: locale not supported by Xlib, locale set to C
Warning: X locale modifiers not supported, using default
実にならんカスタマイズツールの実行なんて諦めて (後回しにして)、 #kinput2 のセルフビルドはよ、と言われればそれまでではあるんですが。しかしのっぺらぼうで上がってくるのが気持ち悪すぎる。結局 #TurboLinux 6.0と向き合わなければいけないという事実は変わらない
#kinput2 をセルフビルドしようとしたら、ファイルが古すぎて手に入らない問題が発生している (何で2002年には消えてるんだよ殺すぞ)
$HOME/.Xresourcesにいろいろぶちまけておけば上がってきてくれそうではある (atok12prxくんはどうしよう....)
X resources を設定することのメモ | Jenemal Notes http://malkalech.com/xresources_magic#GDMLightDMUbuntuXresources
どこで設定しとんねんこれ。/etc/X11/app-defaults/Kinput2じゃ #TurboLinux 6.0同様にjja_JP.SJIS, ja_JP.EUC, ja_JP, japanese, japan, jaやぞ
LC_MONETARYを舐めるの、フォント指定が実際関係していそう
STed2で日本語部分にもmilkjfフォントを使用するための覚え書き - 試験運用中なLinux備忘録・旧記事 https://kakurasan.hatenadiary.jp/entry/20080123/p1
これは、なに
''$'\343\203\200\343\202\246\343\203\263\343\203\255\343\203\274\343\203\211'
''$'\343\203\206\343\203\263\343\203\227\343\203\254\343\203\274\343\203\210'
''$'\343\203\207\343\202\271\343\202\257\343\203\210\343\203\203\343\203\227'
''$'\343\203\211\343\202\255\343\203\245\343\203\241\343\203\263\343\203\210'
''$'\343\203\223\343\203\207\343\202\252'
''$'\343\203\224\343\202\257\343\203\201\343\203\243'
''$'\343\203\237\343\203\245\343\203\274\343\202\270\343\203\203\343\202\257'
#chroot で #VineLinux 2.1.5の/を/にすればatok12xが起動できて #netstat -ltnに反応が出たし、kiput2xも起動できそう (生の #Ubuntu 22.04 LTSだとおなじみの変換サーバに接続できませんでしたである。) (/を/にした場合はXサーバに接続できない旨のエラー) だけれども、本当にこれで正しいのか?となっている
debootstrap chroot x11 cannot open display 0 no protocol error https://unix.stackexchange.com/questions/518126/debootstrap-chroot-x11-cannot-open-display-0-no-protocol-error
本件における正しさとは、apt installでインストールできる程度のパッケージをインストールした #Ubuntu 22.04 LTSで動作しないもっともらしい理由が説明できるのか、chrootで無理やり起こしたkinput2xで非chroot環境のXアプリからキー入力を受け取って入力中文字を該アプリのテキストボックス等に適切に表示できうるのか、というところである
起動はできたが、色々な意味で使い物にならないのでおはりおはり ( #Ubuntu 22.04 LTSでは候補ウィンドウに表示された文字を適切に入力できないし、 #TurboLinux 6.0であっても候補ウィンドウに表示れた前編集文字列を確定するには #ATOK おなじみの矢印下 '↓' が使えないのでダメです。候補ウィンドウが出てない状態でEnterキーを押すと、ATOK for #Android のように文節単位確定をやってくれるわけでもないし)
@hadsn 古くても現役で使えるの……?
@syarin とりあえずSystemV initやEUC-JPと戯れます
@hadsn ほう……🤔
@hadsn UTF-8な端末で「env LC_ALL=ja_JP.UTF-8 ls」すれば表示されるのでは?上から順に
$ダウンロード
$テンプレート
$デスクトップ
$ドキュメント
$ビデオ
$ピクチャ
$ミュージック
でしょう。
@n_soda LANG=jaの手抜き設定だから詰んだ感じでしたか....
@hadsn 後者(chroot内部あるいはコンテナ内部で動かしたkinput2xを、非chroot環境のXアプリで動かす)は普通にできるはずですよ。kinput2x だけリモートに飛ばしても動くわけで、それと条件は基本的に同じはず
@n_soda できました! kinput2xとFirefoxとの相性がよろしくなくておつらい場面は多々ありますが
@hadsn 使うlocaleは ja_JP.eucJPが一番無難なはずだし(X11層では伝統的にこれです。glibc層だとおそらく ja_JP.eucJP、ja_JP.eucjp、ja_JP.EUC-JP の全部が動くとは思いますが)、このエラーはやっぱりlocaleデータベースの追加に失敗してますね。
https://zenn.dev/tmtms/articles/202205-locale
にある追加手順に抜けはありませんか?
「locale -a」でja_JP.eucjpは表示されていますか?
@n_soda 状況はまだ確認できてないのですが、前述の通りlanguage-pack-jaは入れていないので、charmapなどの中身がないハコだけのロケールができあがっているという状態なんですかね?
@hadsn その辺趣味として真剣に追いかけたいならstraceかけるだけでも何が足りないか見当つくんじゃないかと思います。
でもまあ順当な手順でやり直すだけで済ませる方に一票ですね。
@n_soda language-pack-jaを入れようとしたら最新版が入ってるよ~されて、locale -aの結果にもja_JP.eucJP, ja_JP.ujis, japanese, japanese.eucが含まれておりました。straceすると、さんざん変な場所のlocale.aliasやLC_MONETARYを読もうとしてコケた後死んでる感じですね
@hadsn
main()
{
char *rv = setlocale(LC_ALL, "");
if (rv == NULL)
fprintf(stderr, "setlocale failed\n");
else
printf("%s\n", rv);
return 0;
}
みたいなプログラムをビルドして「env LC_ALL=ja_JP.eucJP ./a.out」と実行すると setlocale failed と表示される状況でしょうか?
もしそうなら、環境変数をすべて削除して再度「env LC_ALL=ja_JP.eucJP ./a.out」を試してみるべきかもしれません。
それでもまだダメなら再インストール?
@n_soda フツーにja_JP.eucJPが返ってきていますね
@hadsn なるほどglibcの方は大丈夫だと。これは予想が外れました。
kinput2xがリンクしているX11関係のライブラリがうまく動いてないってことですかね。
Ubuntu付属のライブラリがリンクされているんでしょうか?
それともkinput2xに静的リンクされている?
@n_soda XSEARCHPATHをちゃんと設定しろ、端末をEUC-JP設定にすると日本語で変換サーバと接続できなかったと言うkinput2xと、SEGVを吐くatok12prxとともどもlddには動的実行ファイルではないと言われ、fileからはstatically linkedと言われているので、そういう意味でもダメっぽいですね
@hadsn スタティックリンクですか。
strace で見ると、X11 用の locale データベースはどこにあった気配なんでしょう。
当時は /usr/X11R6/lib/X11/locale/ あたりじゃないかという気がするんですが…
たぶん当時のdistroから、/usr/X11R6/lib/X11 相当を一式持ってきて展開すれば動くと思います。
あるいは当時の /usr/X11R6/lib/X11/locale/ 相当は今の Ubuntu だと /usr/share/X11/locale/ に対応するので、仮にプリフィックスが /usr/X11R6 だったとすると
mkdir -p /usr/X11R6/lib/X11
ln -s /usr/share/X11/locale /usr/X11R6/lib/X11/
でシンボリックリンクを張ってやるだけでもなんとかなるかも。
@n_soda シンボリックリンクを貼ったら上がってきてしまいましたね.... フォントが読めてないのかのっぺらぼうになってしまっていますが
相変わらず文字化けしてんな。gnome-terminalなんて使うなという気もするが
ubuntuuser@ubuntuuser-VirtualBox:~/documents/ATOK12SE/usr/X11R6/bin$ ./kinput2x
Warning: Cannot load app-defaults file.
Kinput2 may not work properly without it.
Maybe kinput2 is not installed correctly,
or your file search path (specified by
environment variable 'XFILESEARCHPATH')
is wrong.
�Ѵ������Ф���³�Ǥ��ޤ���Ǥ�����
Error: IMProtocol: resource locales must be specified at widget creation