公開日 2023-08-19 更新日 -
環境はDebian12上のGNOME43.4。Debian11上のGNOME3.38.5でも同じ。(GNOMEはバージョン番号から3.を取ることにしたのか?)
拡張子が.lzhであるファイルをいただいた。ファイルマネージャで右クリックで出てくる「アーカイブマネージャで開く」で開くことにする。
これで働くのはfile-roller。
本来なら「名前...サイズ...種類...」とある下にアーカイブの内容が出てくるはずなのが、ない。左上の[Extract]ボタンは押せて、展開場所も指定できるが、展開には失敗する。
右クリックで出てくる「アーカイブマネージャで開く」の下に「Extract」があるがこれでも同じ。
実はlzhファイルを展開できないのではなく、日本語ファイル名の扱いが不適切なアーカイブファイルの扱いに失敗するということらしい。
特にWindows上のソフトウェアではShift_JISをそのまま使ってしまうことがあり、問題になることがある。
synapticでlzhを検索した。デフォルトの検索対象「名前と説明」で17パッケージが候補に出る。
file-rollerもその中にあって、説明にはLha アーカイブ (.lzh)もサポートしているといっています。昔の記憶ですがLhaにもいろいろ種類があったし、問題はたぶん格納されたファイルの名前の文字コードです。WindowsでShift_JISでそのまま格納してトラブルになるというのは前にもありました。
LinuxではWindowsよりも先にunicode化が済んでいて、端末でもUTF-8が標準です。
候補にあがったものから3つのパッケージを試してみます。
結果としてlib何とかを追加してfile-rollerに機能追加するという効果もありました。でも、説明を読んだ範囲ではFile-rollerの部品となって働くというように推測できるものが候補にありませんでしたからこれは副次効果。もともとは、端末からコマンドで展開することを考えていたりします。
3つの候補は次の通り。ここでは最初に今回の評価も書いておきます。
名前 | synapticの説明文では | 今回の評価 | 端末からコマンドとしての使用 | file-rollerからの利用 |
---|---|---|---|---|
lhasa | 解凍のみ。亜種との互換性 | おすすめできない | 展開後のファイル名は文字化け。解凍したファイルが失われたりする。 | 展開できる様になるが、展開前の表示も展開後のファイル名も文字化けする。 |
jlha-utils | lzhの圧縮・解凍を行うコマンドラインプログラム | まぁ使える | コマンド名lha。文字化けもなく動く | 展開できる様になるが、展開前の表示は文字化けする。展開後のファイル名は正常。 |
unar | unpacker programと英語解説。サポート範囲が広い | おすすめ | 文字化けもなく動く。.zipの文字化けでも活躍したことがある。 | file-rollerには機能を提供しない。 |
インストール後、アーカイブファイル名だけを指定すると内容リストになる様子。でも文字化けする。
adachi@tonelli:~/Public$ lhasa R5.8.10安達邸換気フード取替工事写真.lzh PERMSSN UID GID SIZE RATIO STAMP NAME ---------- ----------- ------- ------ ------------ -------------------- [MS-DOS] 2665877 99.9% Jul 22 15:36 R5.7 ???C?t?[?h???????^/A-1 ???C?t?[?h?u?L?b?`???v.JPG [MS-DOS] 2056251 99.9% Jul 22 15:36 R5.7 ???C?t?[?h???????^/A-2 ???C?t?[?h?u?L?b?`???v.JPG [MS-DOS] 1221270 99.7% Jul 22 15:35 R5.7 ???C?t?[?h???????^/A-3 ???C?t?[?h?u?L?b?`???v.JPG [MS-DOS] 1428990 99.9% Jul 22 15:37 R5.7 ???C?t?[?h???????^/B-1 ???C?t?[?h?u?g?C???v.JPG [MS-DOS] 1315002 99.8% Jul 22 15:34 R5.7 ???C?t?[?h???????^/B-2 ???C?t?[?h?u?g?C???v.JPG [MS-DOS] 1191594 99.6% Jul 22 15:35 R5.7 ???C?t?[?h???????^/B-3 ???C?t?[?h?u?g?C???v.JPG [MS-DOS] 1370831 99.5% Aug 9 17:39 R5.7 ???C?t?[?h???????^/C-1 ???C?t?[?h?u?????v.JPG [MS-DOS] 1588450 99.9% Aug 9 17:39 R5.7 ???C?t?[?h???????^/C-2 ???C?t?[?h?u?????v.JPG [MS-DOS] 1384381 99.6% Aug 9 17:39 R5.7 ???C?t?[?h???????^/D-1 ?t???L?V?u???J?o?[.JPG [MS-DOS] 1432138 99.6% Aug 9 17:39 R5.7 ???C?t?[?h???????^/D-2 ?t???L?V?u???J?o?[.JPG ---------- ----------- ------- ------ ------------ -------------------- Total 10 files 15654784 99.8% Aug 14 15:23
lhasa単独で使用法の説明が出る。
adachi@tonelli:~/Public$ lhasa Lhasa v0.3.1 command line LHA tool - Copyright (C) 2011,2012 Simon Howard usage: lhasa [-]{lvtxe[q{num}][finv]}[w=<dir>] archive_file [file...] commands: options: l,v List / Verbose List f Force overwrite (no prompt) t Test file CRC in archive i Ignore directory path x,e Extract from archive n Perform dry run p Print to stdout from archive q{num} Quiet mode v Verbose w=<dir> Specify extract directory Specify extract directory
解凍を試みるが、x も e も効果がない。
adachi@tonelli:~/Public$ lhasa x R5.8.10安達邸換気フード取替工事写真.lzh adachi@tonelli:~/Public$ lhasa e R5.8.10安達邸換気フード取替工事写真.lzh
でもファイルが空になってしまう。
adachi@tonelli:~/Public$ lhasa R5.8.10安達邸換気フード取替工事写真.lzh PERMSSN UID GID SIZE RATIO STAMP NAME ---------- ----------- ------- ------ ------------ -------------------- ---------- ----------- ------- ------ ------------ -------------------- Total 0 files 0 ****** Aug 14 16:18
file-rollerも使えるようになるが文字化け。
Extractボタンも使えるが、ファイル名は文字化けする。(外側のディレクトリは無視された)
file-rollerに変化があるのは、依存関係でインストールされたliblhasa0パッケージの働きだろうと思う。
インストール後、アーカイブファイル名だけを指定すると内容リストになる様子。文字化けしない。
adachi@banach:~/Downloads/odo$ lha R5.8.10安達邸換気フード取替工事写真.lzh PERMSSN UID GID SIZE RATIO STAMP NAME ---------- ----------- ------- ------ ------------ -------------------- [MS-DOS] 2665877 99.9% Jul 22 2023 R5.7 換気フード取替写真/A-1 換気フード「キッチン」.JPG [MS-DOS] 2056251 99.9% Jul 22 2023 R5.7 換気フード取替写真/A-2 換気フード「キッチン」.JPG [MS-DOS] 1221270 99.7% Jul 22 2023 R5.7 換気フード取替写真/A-3 換気フード「キッチン」.JPG [MS-DOS] 1428990 99.8% Jul 22 2023 R5.7 換気フード取替写真/B-1 換気フード「トイレ」.JPG [MS-DOS] 1315002 99.8% Jul 22 2023 R5.7 換気フード取替写真/B-2 換気フード「トイレ」.JPG [MS-DOS] 1191594 99.6% Jul 22 2023 R5.7 換気フード取替写真/B-3 換気フード「トイレ」.JPG [MS-DOS] 1370831 99.4% Aug 09 2023 R5.7 換気フード取替写真/C-1 換気フード「浴室」.JPG [MS-DOS] 1588450 99.8% Aug 09 2023 R5.7 換気フード取替写真/C-2 換気フード「浴室」.JPG [MS-DOS] 1384381 99.5% Aug 09 2023 R5.7 換気フード取替写真/D-1 フレキシブルカバー.JPG [MS-DOS] 1432138 99.6% Aug 09 2023 R5.7 換気フード取替写真/D-2 フレキシブルカバー.JPG ---------- ----------- ------- ------ ------------ -------------------- Total 10 files 15654784 99.7% Aug 11 11:46
出力先の指定がうまく行かないので、カレントドライブを替えて解凍。
adachi@tonelli:~/Public$ cd lhad/ adachi@tonelli:~/Public/lhad$ lha -x ../R5.8.10安達邸換気フード取替工事写真.lzh R5.7 換気フード取替写真/A-1 換気フード「キッチン」.JPG - Melted : ooooooooooooooooooooooooo R5.7 換気フード取替写真/A-2 換気フード「キッチン」.JPG - Melted : ooooooooooooooooooooooooo R5.7 換気フード取替写真/A-3 換気フード「キッチン」.JPG - Melted : ooooooooooooooooooooooooo R5.7 換気フード取替写真/B-1 換気フード「トイレ」.JPG - Melted : ooooooooooooooooooooooooo R5.7 換気フード取替写真/B-2 換気フード「トイレ」.JPG - Melted : ooooooooooooooooooooooooo R5.7 換気フード取替写真/B-3 換気フード「トイレ」.JPG - Melted : ooooooooooooooooooooooooo R5.7 換気フード取替写真/C-1 換気フード「浴室」.JPG - Melted : ooooooooooooooooooooooooo R5.7 換気フード取替写真/C-2 換気フード「浴室」.JPG - Melted : ooooooooooooooooooooooooo R5.7 換気フード取替写真/D-1 フレキシブルカバー.JPG - Melted : ooooooooooooooooooooooooo R5.7 換気フード取替写真/D-2 フレキシブルカバー.JPG - Melted : ooooooooooooooooooooooooo
展開されたファイルも文字化けせず、"R5.7 換気フード取替写真"というフォルダ構造も再現された。
つまり、こうなったということ。
lhad └── R5.7 換気フード取替写真 ├── A-1 換気フード「キッチン」.JPG ├── A-2 換気フード「キッチン」.JPG ├── A-3 換気フード「キッチン」.JPG ├── B-1 換気フード「トイレ」.JPG ├── B-2 換気フード「トイレ」.JPG ├── B-3 換気フード「トイレ」.JPG ├── C-1 換気フード「浴室」.JPG ├── C-2 換気フード「浴室」.JPG ├── D-1 フレキシブルカバー.JPG └── D-2 フレキシブルカバー.JPG
file-rollerも使えるようになるがやはり、文字化け。
Extractボタンも使える。jlhaはファイル名が文字化けしない。(外側のディレクトリもそのまま)
unarもためす。
unarコマンドでディレクトリ構造ごと展開する。ディレクトリ名がR5.7...で、ファイル名のR5.8.10...とは異なるのでもともとの構造だろう。
展開先フォルダの指定がうまく行く。(もちろん指定しなければカレントフォルダに展開される)。jlhaでは展開先フォルダの指定はうまく行かなかった。
adachi@tonelli:~/Public$ unar -o withunar/ R5.8.10安達邸換気フード取替工事写真.lzh R5.8.10安達邸換気フード取替工事写真.lzh: LZH R5.7 換気フード取替写真/A-1 換気フード「キッチン」.JPG (2665877 B)... OK. R5.7 換気フード取替写真/A-2 換気フード「キッチン」.JPG (2056251 B)... OK. R5.7 換気フード取替写真/A-3 換気フード「キッチン」.JPG (1221270 B)... OK. R5.7 換気フード取替写真/B-1 換気フード「トイレ」.JPG (1428990 B)... OK. R5.7 換気フード取替写真/B-2 換気フード「トイレ」.JPG (1315002 B)... OK. R5.7 換気フード取替写真/B-3 換気フード「トイレ」.JPG (1191594 B)... OK. R5.7 換気フード取替写真/C-1 換気フード「浴室」.JPG (1370831 B)... OK. R5.7 換気フード取替写真/C-2 換気フード「浴室」.JPG (1588450 B)... OK. R5.7 換気フード取替写真/D-1 フレキシブルカバー.JPG (1384381 B)... OK. R5.7 換気フード取替写真/D-2 フレキシブルカバー.JPG (1432138 B)... OK. Successfully extracted to "withunar/R5.7 換気フード取替写真".
展開先フォルダを withunarに指定したので、./withunar/R5.7\ 換気フード取替写真/ 以下に各JPGファイルが展開される。
withunar └── R5.7 換気フード取替写真 ├── A-1 換気フード「キッチン」.JPG ├── A-2 換気フード「キッチン」.JPG ├── A-3 換気フード「キッチン」.JPG ├── B-1 換気フード「トイレ」.JPG ├── B-2 換気フード「トイレ」.JPG ├── B-3 換気フード「トイレ」.JPG ├── C-1 換気フード「浴室」.JPG ├── C-2 換気フード「浴室」.JPG ├── D-1 フレキシブルカバー.JPG └── D-2 フレキシブルカバー.JPG
file-rollerには効果がない。
ちなみにunarは.zipの文字化けを解消するのに使用したことがある。入れておくと便利。