Archive for the ‘意見’ Category

市内の公園で爆発騒ぎ。自分だけでなく、自宅まで燃やしたようだ。その公園は遠いけど、ちょっと散歩に行ってみたいと思っていたところだ。やっぱり、この街も、「地方だから安心」とは言えなくなって来た。。。

デジカメ(IXY Digital 3000IS)の電池が寿命らしく、充電してもすぐに警告が出るようになったので、交換した。もう7年も使ったのだから、確かに寿命なのだろう。ちなみに、Amazonは値段は安かったのだが、「偽物が届いた」という書き込みが多かったので、ヨドバシにした。偽物を売る店を放置しているようでは、全く買う気が起こらない。

ヨドバシは、留守でも受け取れるようにとメール便にしたのだが、昨日注文して今日届いていたので、結構感動した。やっぱり、(少なくとも僕の中では)Amazonは終わりだ。慢心は良くない。特に理由がない限り、商品の検索とWishlistでの商品メモ機能だけを使うことにしよう。

もちろん、ヨドバシだって、未来永劫この良さが続くはずはない。要は、「気に入った」とか思って特定の団体に入れ込まないことが重要なのだろう。団体には人間以上に心がないので、こっちが気に入ってもそうでなくても全く関係なく、彼らの都合で変わるのだ。

僕らに必要なのは、そういう団体の裏をかくような、ずる賢さとか強さとか柔軟性なのだろう。

  •   0
  •   0

(ここのところ、しばらく寝不足続きで疲れたので、この週末はLinux移行関連のプログラミングは休み(のつもり))

先日からWindowsの音楽プレーヤーMusicBeeのLinuxでの代替に、gmusicbrowser(GMB)を試している。絶対的な機能の豊富さではMusicBeeに敵わないのだが、使い込むにつれ、なかなか侮れない奴だという気がしてきた。

一番のいいところは、MusicBeeと違ってオープンソースだという点だ。プログラムは比較的コンパクトだから、気に入らないところはその箇所を探して自分で改良できる。Perlで書かれているのでビルドが不要だし、インストールすら不要だから、手軽に試せる。実は僕はPerlは苦手で(何といっても読みにくい!)、今までほとんど使っていなかったのだが、昨日、初心者向けの解説ページを参考に(実は、普通の変数と配列に区別があることすら知らなかった)リプレイゲインの切り替えメニューを付けてみたら、何とかできてしまった(もちろん、それをちゃんと使える物にするには、結構手間が掛かる)。同様に、ウインドウのレイアウトもテキストファイルで書かれているので、自由に変更できる。プラグインももちろんPerlで作れる。だから、WMAやWAV対応も自分でできそうな気がしてきた(面倒だけど)。

繰り返しになるが、オープンソースでコンパクトだから、仮に開発が終わってしまっても、ちょっとした不具合は自分で直せそうだし、機能追加もできそうだ。ドキュメントは余りないが、ソースを見れば何とかなる。とにかく、要望でもバグでもいちいち作者に「お願い」するのは面倒なのだ! しかも、大抵は却下されるし、MusicBeeの作者とは指向も違っていたから、最後は頼む気も起こらなかった。

それから、便利な機能が意外に多いのにも感心した。デスクトップウィジェット(プラグイン)なんて、邪魔なだけで使わないだろうと思っていたのだが、試してみたら意外にいい。MusicBeeのコンパクトプレーヤーやミニプレーヤーの代わりになりそうだ。(MPRISに対応しているから、命令を送信するすプログラムを作れば)リモコンにも容易に対応可能だし、(実際に便利かは不明だが)任意のCD取り込みプログラムを起動することもできる。

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88_2016-10-22_08-52-15-2-1

gmusicbrowserのメインウインドウ(左)とデスクトップウィジェット(右上)

 

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88_2016-10-22_08-44-07-1

gmusicbrowserのデスクトップウィジェット

要は、僕ら(Unix使い)にとっての「普通」から逸れずに作られているということなのだろう。だから素直に使えるし改造もできる。Windowsのようにイライラすることはまずない。もちろん、機能不足やバグや気に入らない点はあるのだが、自分で直せる可能性があるのは、欠点を隠して余りある。こんなに魅力的なソフトが普及していないなんて、ちょっともったいないと思った。まあ、そのメリットが活かせるのはUnixのプログラマーだけなのだろうが。

(10:49 加筆・修正、16:06 わずかに修正)

PS. 今気付いたが、GMBには、音量メーターだのスペアナだのビジュアリゼーションなどの、派手だけど役に立たない要素がない。せいぜいあるのは、上に書いたデスクトップウィジェットや、通知の表示程度で、それだってオプションだ。それから、もちろんのことだが、最大化して起動したり、ウインドウを閉じても終わらない(設定で可能)ということはない。それらは、僕にとって、GMBの好感度を高める一因になっているようだ。(13:35)

PS2. 気が向いたので、ちょっと話は逸れるが、Unixの文化なり思想についてちょっと書く。僕の経験や理解では、Unixでは「派手は糞」だ。できるだけ「静かに」すべきなのだ。まあ、昔はGUIなんてなかったから、そうするのは、(コマンドラインの)プログラムの出力程度だったが、とにかく、無駄なメッセージはだらだら出さないのが常識だった。極端な(でも、ごく普通の)例では、処理が成功しても、(問題がない限り)何も出さない。もちろん、うるさく出すように指定されれば(普通は"-v"(verbose)とか"-d"(debug)などのオプション)、言われたとおりいくらでも出す。どっかの窓とか林檎の会社の作法とは全く異なる。

あとは、「普通とか常識を守る」だ。とにかく、外側(例: 起動方法、表示・データ入出力の仕方、設定ファイルの書式)に関しては、作法に従ってプログラムを作る。そうじゃないのは、糞(=イケてない・ダサい)だ。これもどこぞの会社とは全く逆だ。

ではなぜ、一見アナーキーにも思えるプログラマーたちにそんな堅苦しいことを押し付けているかというと、ひたすら作業効率を上げるためだ(と僕は理解している)。ユニーク(独自)なのは、プログラムの内容だけで十分で、見てくれなんて無意味だし、使い勝手は普通が一番。そうしておけば、例えそのプログラムを使ったことがなくたって使えるし(覚えておく必要があるのは、どんなプログラムにも、簡単な使い方とかオプション一覧を出す"-h"(help)というオプションがあることと、manコマンドでマニュアルを表示することだけ)、他のプログラムと組み合わせることで、いくらでも機能を拡張できるのだ。

時は流れて、LinuxはUnixの一種といえども、段々そういう思想が薄れて来ている気がするのが、ちょっと寂しい。(16:45)

  •   0
  •   0

いろいろな苦労と発見の末、デジカメからの画像取り込みプログラム(スクリプト)の初版ができた。いろいろ改良したいことはあるが、とりあえず、落とせないポイントをすべておさえて、ちゃんとデジカメやスマフォから取り込めるようになったので、一安心だ。それについて詳しく書きたいのだが、風邪のせいかだるくなって来たので、その前に、画像より100倍重要な音楽プレーヤーについて、再び書くことにする。

以前も探したのだが、もしかして見落としがあるかも知れないと思って、さっきまで散々探していた。が、やっぱり、(僕にとって)MusicBeeを置き換えられるものはLinuxにはない。もちろん、どれも曲は再生できるし、それなりの画面は表示されるのだが、必要な機能(例: 自動プレイリストやギャップレス再生)が抜けていたり、あっても貧弱だったり、使いにくかったりするのだ。

試したうちではClementineが筋がいいように感じたのだが、なぜか、再生と表示がおかしくなってしまったので却下した。AmaroKは次点とは言えども論外で、それ以外は論外未満だ。

個々のアプリについて書くと長くなるから、以下に、全体を通して受け入れ難かったポイントを書く。

  • 音飛びする。
  • 再生がおかしい(リピートでないのに、何度も同じ曲が掛かることがある。表示と再生の曲が違う)。
  • 曲間にギャップができる。
  • 曲が認識されない、認識される曲が少ない。
  • 曲の順番が滅茶苦茶に表示される。
  • 自動プレイリスト機能がないか貧弱。
  • 通知の表示や音などが鬱陶しい。
  • ウインドウを閉じても終わらない。終わる設定がない。
  • 操作が直感的でない。マウスのボタン操作が微妙で、誤操作を誘発する。
  • 設定ができないか、項目が貧弱。
  • 表示がしょぼい。デザインの趣味が悪い。
  • (英語圏のアプリなのに)アーティスト名やタイトルの"The"が無視されずにソートされる(例: ビートルズがBでなくTのところに出る)。

無いものは仕方ないので、当面はMusicBeeを使うが、ClementineやAmarocKを試した時に、「やっぱり、ネイティブは便利でいい」感じがしたので、諦めずに探し続けよう。

それにしても、Linux陣営は、各自が好き勝手に作ってないで、共同でいいものを作ったほうが絶対に得策だと思うのだが、きっと、みんな「俺様」だから無理なんだろうな。KDEだのQtだのGnomeだの、各種流派の主張や長所はあるんだろうけど、そんなことより、数は少なくても質の高いアプリを作った方がいいと思う。「『ちょっと作ってみた』から出す」時代はもう終わっているのだ。こんな調子では、LinuxがWindowsに勝つ日は来ないかも知れない。今はいいチャンスだと思うのに。。。

その後もしつこく検索していたら、いくつか追加候補が見つかった。その中で良さそうなものを試したが、どれも肝心な点(特に、音飛びとギャップレス再生)が駄目だった。まともに動かないものもあった。それから、何となく感じるものがあって、試すまでもないと思っていたgmusicbrowserをダメモトで試したら、意外に良かった。MusicBeeの機能が全部ある訳ではないし、いろいろ荒削りではあるが、基本機能がちゃんとしていて可能性があるので、いろいろ試している。(10/18 6:37)

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88_2016-10-18_05-51-23-1-2

約1日間、gmusicbrowser(略してGMB。MusicBeeはMBなので、不思議なつながりがある)で試しに音楽を聴いているのだが、聴くだけなら全く問題はなかった。シャフルで聴いていたので、ギャップレス再生については分からないが、音飛びは全く感じなかった。それで、GMBに不足している以下の重要な機能が何とかなれば、移ろうと思っている。

  1. CDの取り込み
  2. CDDBで曲情報やアルバムアートを取得して、取り込んだ曲に付ける。
  3. 取り込んだ曲の再生ゲイン(音量)の計算
  4. 特定のプレイリストの曲を、デバイス(USBメモリ)に同期する。
  5. 同期と同時に、MP3へのフォーマット変換と音量の正規化を行う。

ところが、1-3について随分しつこく探したのだが、これというものがなかった。取り込み速度が遅過ぎたり、アルバムアートが取れなかったり、再生ゲインができなかったりというのばかりだ。

でも、よく考えると、僕はもうCDから脱却したので、頻繁に取り込むことはないだろうから、それらの機能はあまり重要ではなく、取り込む時だけMusicBeeを使えばいいのかも知れない。もう少し考えよう。

あと、4と5ができるプログラムはまだ探していないが、なければ自分で作ろうと思っている。

それから、GMBはWindows系のフォーマット(WMAとWAV)に対応していないのだが、それについては、FLACに変換すれば問題ないと思っている。それらは全部で8600曲、210GBくらいあるのだが、待てば終わるだろうから大きな問題ではない。(10/20 0:06)

  •   2
  •   2

近頃は、重い病気になった芸能人が、インターネットで逐一状況だの思いだのを報告して、「頑張って偉い」とか「気丈だ」とか思われて、みんなが感動するような風潮があるが、何となく変な感じがする。

確かに本人は頑張っているのだろうけど、別に、逐一報告しなくたっていいじゃないか。そんな暇があったら、「もっと自分の人生を生きろ!」と言いたい。

  •   2
  •   0

WineでWindowsのブラウザとRoboFormをLinuxで動かすとして、ふと「セキュリティは大丈夫なのかな?」と思ったら、なんだか訳が分からなくなってきた。

まず、Wineを使うかどうかに関わらず、Linuxでネイティブなブラウザを動かしていても、危険はある。その危険は、まずはブラウザの欠陥(セキュリティホール)が原因だ。その欠陥のために、例えば「悪意のあるページから、任意の命令を実行できる穴」があったら大変だ。自分のファイルが全部削除されたり、自分のファイルをネットに送信される可能だってある。

では、なんでWindowsでは安心していたかというと、ブラウザ自体の強度は同じ程度だろうが、セキュリティソフト(Webフィルタのような機能)があったからだ。Windows自体のセキュリティはクソなのだが、セキュリティソフトのために安心できていたのだ。とは言え、現代はセキュリティソフトだって完全ではない。とは言え、何もないよりはあった方がいいだろう。

結局、インターネットにアクセスする時は、OSの良し悪しは関係なくて、セキュリティソフトが一番重要なのかということなのかー!? ← 今ここ

(20:21 追記) 少し考えたのでまとめると、以下のようになる。

  1. セキュリティソフトはあった方が良いが、あったとしても世の中の悪意あるサイトやプログラムを完璧に把握できるとは思えないので、完全性は期待せず、リスクに備える方が良い。
  2. セキュリティ問題の改善のため、重要なソフトは常に更新する(実際には問題が増える可能性もあるので、難しい)。
  3. 侵入されて情報流出が起こっても、致命的な事態にならないようにしておく。
  4. 侵入されて情報の削除や書き換えが起こっても、回復可能にしておく。
  5. 不必要なインターネットアクセスをしたり受理しないように、各種設定に常に注意する。
  6. 不審なプロセスが起動していないか、常に監視する。

このうち、1-5は、実際には今までも実施して来た。3は、この問題の元になった、パスワード管理ツールである。流出したら被害が大きい情報は、パスワード管理ツールで暗号化している。4は、ローカルやクラウドにバックアップして来た。

だから、Linuxに移ったとしても、今までの延長線でリスクに備えればいいような気がして来た。そして、Linuxはソフトウェア構成が単純なので、6の不審なプロセスの監視はしやすいと考えられる。

それで、Windowsを使い続けるデメリット(セキュリティリスクの大きさ、経済的な問題、気分の悪さなど)とLinuxに移った時のデメリットを比較して最終的に判断すればいいのだろう。

そもそもの原因は、webが高機能になったことが大きいように思う。昔は「紙芝居」だったのに、今ではクライアント側で動くようになって、ブラウザが高機能・複雑になり過ぎて、セキュリティリスクが増してしまったのだ。だから、今、クライアント側で行う処理を簡素にして、ページの生成は主にサーバ側で行うことを復活させてみるといいように思う。そうすると、かなり見栄えが悪くなってしまうのだが。

  •   1
  •   2

(2016/10/6 19:45 訂正) 本稿の記述に私の誤解がありました。KeePassとchromeIPassとKeepassHttpのマスターパスワードの扱いに問題はありません。chromeIPassでブラウザの画面に表示されるのは、接続する時に入力したDBの識別子であって、マスターパスワードではありません。同様に、KeepassHttpがDBに保存するのも、おそらくブラウザと通信するための鍵であって、マスターパスワードではないでしょう。よって本稿は無意味となります。また、誤解を生まないために、関連箇所を取り消し線で訂正します。

Linuxで使うパスワード管理ツールは、一昨日、KeePassに決めたのだが、早くも気が変わった。というのは、KeePassはカスタムフィールドの扱いが良くない以外に、(関連プログラムのchromeIPassとKeepassHttpも含めて)マスターパスワードの扱いが非常識なのだ。具体的には、マスターパスワードをプログラムやブラウザの画面に平文で表示したり、DBに書き込んだりするのだそんないい加減なものは使いたくない。よく、みんな文句を言わずに使っているものだ。

それで、以下の候補を再検討した。

  • LastPass: かなり使いやすいが、クラウドは嫌だし、UIが本質的に脆弱なようなので(→ LostPass)、却下。
  • Keeper: 使うのにちょっと手間が掛かるが、基本的な機能はRoboFormと遜色ない。
  • Enpass: 動作が不安定だったので、却下。

しかし、Keeperにはちょっとした問題がある。他のアプリからデータ移行する際、CSV(あるいはTSV)中の改行を正しく扱えないのだ。具体的には、普通のCSVでは、""でくくればフィールド内に改行を書けるのだが、Keeperは認識しないで新しい行(レコード)とみなしてしまう。また、Keeper自身はCSVファイルを書く時には改行を"\n"と表記するが、それを読み込むと、改行にならずに"\n"と表示される。つまり、バグがあるのだ。CSVに"\\n"とかを書いても駄目だった。

KeeperはJavaで書かれているので、逆コンパイルしてコードを見て、いじってみる箇所("\n"を改行に変換している所)は分かったのだが、ビルドができないので諦めた。JREのバージョンを変えても直らなかったので、サポート依頼を出した。

取り得る手段は以下だ。

  1. 改行を我慢しつつ、Keeperの修正を待つ。
  2. Keeperに取り込んでから、改行を手で修正する。
  3. Keeperに取り込んでから、WindowsやLinuxの自動操作ツール(自動でマウスを動かしたり、キーボードを打つなど)を使って、改行を自動修正する。
  4. WineでRoboFormとブラウザを動かす。

手での修正は、データ数が数百なので大変だ。自動操作ツールを使うのはかなり難しそうだし、リスキーだ。Wineはやっぱり不安定で、今日はRoboFormすらうまく動かなかった。あとは、KeeperのDBを読み込んで暗号化を解除して、改行を修正して再度保存できればいいが、それができるならKeeperは脆弱だということになる。(あ、ソースがあるから、それを参考にしてプログラムを作ればできるのか? なんて考えたら、廃人への直行便だw)

という訳で手詰まり状態だが、時間はたっぷりあるので、試行錯誤しつつ待つかな。。。

(13:20 追記) その後、プログラムを無理やり変更(バイナリパッチ)しても効果がなく、そのモジュールをまるごと抜いてもエラーにならなかったので、更に調べたところ、別のモジュールが使われていることが分かった。そして、そこでは"\n"の変換を全くせずに、ただ読み込んでいるだけだから、何をしても無駄だったのだ。それで、とりあえずやれることと言えば、以下である。

  1. Keeperの修正を待つ。
  2. Keeperを自分で修正する。

Keeperの修正は、(多くのソフトベンダーのように、)余り期待できない。大抵は、「OSのバージョンは」とか「再現しない」とか「再インストールして下さい」とか関係ないことを言われ続けて、こっちがブチ切れるパターンだ。問題のあるプログラムの箇所を見せて指摘したいくらいだが、逆コンパイルは違法だったりライセンス条件違反なことが多いので、控えるしかない。まあ、気長に待って、その間に自分でビルドできるようになろうか。

(10/2 4:50追記) Keeperは無料版でもクラウドを使っていることが分かった。サイトでは、無料版は「ローカルのパスワードストレージ」としか書いてないのを信じていたから試したのだが、実際には、Linuxでしかデータを入れてないのに、Windows似もインストールしたら同じデータが出て来た。データディレクトリを消しても、ログインすると復活する。要は、別のソフトを作らずに手を抜いて、何度も広告を出して(クラウドを使うとうたっている)有料版に入らせようとしているのだ。確かに無料版ばかり使われたのでは利益にならないが、重要なところを誤魔化す会社は信用ならないし、ソフトも、上に書いたようにバグがあって今一つ信頼性がないので、止める。クラウドを使うなら、LasstPassの方が使いやすいからいい。

(10/2 10:54追記) LastPassを検討したのだが、使い勝手はいいのだが、データをクラウドに保存するため、バックアップするにはCSVでエクスポートするしかなく、それでは安全に保存できないので諦めた。クラウドだけで充分という考え方もあるだろうが、今までの経験上、単一の保存場所で安心することはできない。それから、無料版は一つのデバイスからしか使えないと書いてあったが、実際には、デスクトップPCは区別しないようで、同じアカウントでWindowsからもLinuxからもログインできてしまった。ということは、全世界のPCからログインできることになるので、好ましくない。なので、当面はWineでRoboFormとFirefoxを動かしつつ、他にいいのが出ないか、様子を伺うことにした。

それにしてもだ、Javaのプログラムはこんなに簡単に逆コンパイルできてしまって、大丈夫なのだろうか? 見て動作が分かるのだ。ノウハウ(があるとすれば)は流出するし、下手に作って中に暗号の鍵が入ってたら解読されまくるし、もし、自分でビルドできるようになるのであれば、勝手に改変されたものが出回るではないか(例えば、この例なら、僕はしないけど、「インポート機能改良版」とか言ってVectorとかSource Forgeなどに出すとかあり得る話だ)。多くのダウンロードサイトなんて、中身を確認しているかどうか不明だし、ユーザーだって、ダウンロードしたプログラムのチェックサムなんかを確認することはないだろうから、簡単に悪いことができてしまう。

そもそも、Javaのプログラム(classファイル)をバイナリパッチしても、プログラムをまとめたファイル(jarファイル)からモジュールを抜いても、全く検知されずに動いてしまったのは、果たして問題ないのか。多くのLinuxのネイティブなプログラムも、バイナリパッチしてもそのまま動くが、Javaはセキュリティが強いことを標榜していなかったか? せめて、jarは実行前にチェックサムか何かを確認すべきだろうと思う。もう何十年も遅い話だけど。。。

ちょっと気になるところだ。

PS. もしKeeperをビルドできるなら、広告みたいな鬱陶しい点があるし、データを勝手にクラウドにアップロードしかねないので、そういう機能をカットした私家版を作りたいw (13:28)

気になったので、Eclipseという開発環境でビルドできるか試したのだが、残念ながら、逆コンパイルしたソースは完全ではないようで、無理だった。具体的には、コンストラクタ(簡単に言うと、そのモジュールのデータを生成する部分)が不足していた。あとは、問題となっているモジュールを自分で作って入れ替えるとかいう話になるが、さすがに無理なので(なんとなくダチョウ倶楽部を思い出すがw)、止めておく。

そして、再度、RoboFormとブラウザをWineで動かしてみたが、RoboFormとFirefoxをWindow XPモードで動かす場合だけちゃんと動いた。そして、VivaldiもChromeも駄目だった。XPだと将来は対応されなくなる可能性が高いから、イマイチだ。Firefoxもフォントが汚くて、ちょっとどうかなあという感じだ。まあ、もう少し悪あがきしてみたい。(16:33)

(10/2 4:57 題を変更)

  •   0
  •   1

Linuxへの移行の実用性確認作業(社会人に成りたての頃、先輩から"feasibility study"という言葉を聞いたのを思い出した。でも、英語じゃなくたっていいのにと、今は思う。が、そういう僕も、ここでは結構英語かぶれしているがw)は本当にあと少しで、昨日は"All set to go!"という題でまとめを書こうとしていたのだが、新たな課題が見つかってしまった。Windowsのパスワード管理ツールRoboFormを、LinuxではKeePassに移行することにしたので、データを移そうとしていた時のことである。

KeePassのページには、RoboFormのパスワード一覧を印刷する時にできるHTMLをインポートできると書いてあって、「それなら楽勝だ!」と、やってみたのだが、実際にはできなかった。いろいろ調べると、RoboFormのバージョンが上がったせいのようだった。古いバージョンでならいいようだが、それが分かる前に、RoboFormのHTMLをKeePassのインポート可能なCSVに変換するプログラムを作り始めていたので、とりあえず頑張ることにした。

余談: RoboFormの出すHTMLは、なんか邪悪で、ユーザ名などに必要もないのに特殊文字(見えないハイフン"­")を挟んでいる。例えば、"user­name"といった感じだ。本当にレイアウトの問題なのか、盗まれてもちょっとだけ安全にしたかったのか、作者がシャイなのだろうか?w

それが動いたら、いくつかの問題が見つかった。

  • PHPの機能では、エンコーディングをうまくUCS2-LEからUTF-8に変換できなかった。→ UCS2なんて調べたくないので原因は不明だが、外部プログラム(昔懐かしきnkf!)で変換した。
  • KeePassにインポートしたら、日本語が出ない。→ KeePassのフォントと設定を修正して対応した。
  • RoboFormのフィールド名とKeePassのフィールドの対応をどうするか(RoboFormのフィールド名・個数は自由だが、KeePassはフィールド名(例: "User name"、"Password")や個数が固定)。→ 問題1
  • サイトのURLが不完全(RoboFormのHTMLには、まともなURLが入っていない。例: "Evernote.com")。→ 問題2
  • ログイン情報のタイトルが欠ける場合がある(例: 「中村藤吉」→「中村藤」) → Windows版では出るので、KeePassの問題と思われるし、他の情報には問題ないので、我慢する。

問題1: フィールド名の問題は悩ましかった。いろいろなサイトが、さまざまなフィールド名を使っているからだ。

余談: 自分でもやってしまうのだが、フィールド名は(外からは見えないから)その場の流れで安直に付けてしまいがちだが、統一して欲しいと思う。昔、そういう流れがあったような気がするが、どうなったのだろう? でも、そういうのって、大抵は過剰な仕様になってしまって、面倒だから誰も使わないんだよね・・・

とりあえず、フィールド名のパターンマッチでしのぐことにした。具体的には、RoboFormのフィールド名に特定の文字列が含まれていたら、KeePassのフィールドに対応させることにした(例: "name"などが含まれていたらユーザ名に、"pass"などが含まれていたらパスワードとする)。

この変換は結構うまく行ったのだが、マッチングが誤って異なる情報が抽出される場合があるし、KeePassのフィールドは固定のために変換後の情報が減るので、いざという時のために、ほとんど全部のオリジナル(RoboForm)の情報をKeePassの追加フィールドに入れることにした。そうすれば、KeePassの情報が欠けていたり間違っていたりした場合でも、(RoboFormを開かなくても)そのフィールドを見れば修正可能になるだろう。

余談: こういうちょっとしたスクリプトを作る時、Unix(Linux)は本当に心地よいと思う。「バッチファイル」では到底無理だろうし、MSの、訳の分からない、数年ごとに節操もなく何個も発表されるさまざまなツール(wshとかPower shellなんてのもあったっけ? 今はBashに回帰?w)なんて使う気にならないからだ。大体、なんでそんなに何個も出すのだろうか? 意図も言語自体も理解不能だ。

一方で、Unix(Linux)のシェルスクリプトは、何十年も変わってない。しかも、動きは単純明快だ。だから、ちょっとしたプログラムを作るのは全く抵抗がない。今回はPHPを使ったが、それだって、大昔の文法のまま使える。

問題2: URLが不完全なのでは、ブラウザと連携する時に、自動記入対象としてうまく認識できない可能性があるので、何とかしたかった。上に書いたように、古いRoboForm(2010年頃のもの)ならURLが入っているのだが、プログラムは動き出してしまったし(この考えは良くないのだが、趣味だから良しとするw)、最新版のRoboFormに対応したかったので、別の手段を模索していたら、RoboFormが生成するブックマークファイルにURLが入っていることが分かったので、それを併用することにした。

苦心してそれらに対応したのだが、最後にKeePassの本質的な問題が見つかった。

RoboFormのフィールドは自由で、webページからいくらでも設定(保存)可能で、何個でも自動記入できるが、KeePassのフィールドは全体として固定なので、それができない(KeePassは、ログインの自動化が主目的のようで、基本的にはIDとパスワードのみ)。

パスワード管理ツールは、通常はサイトへのログインに使うから、URLとID・パスワードが取得できれば問題にはならないのだが、いろいろな情報を記入するページ(例: 郵便の再配達、サポート依頼時の個人情報記入)には使えないのが残念だ。

それで、他のアプリを試してみることにした。が、どれも今一つだった。

  • EnPass
    • RoboFormのHTMLからのインポートはちゃんとできたが、当然、URLは不完全だった。
    • ブラウザへの自動記入が駄目(サイト・ページを認識しない場合があるし、自分で選ばないと記入しない)。
  • Keeper
    • ブラウザへの自動記入が駄目(自分で各フィールドのボタンを押さないと記入しない: 2回目からは1度でいいが)。
    • ブラウザからのデータ保存が不可。

それで、KeePassでどうにかならないか考えたのだが、やっぱり難しいことが分かった。(KeePassHttpを使っているので、)ブラウザに追加フィールドを記入することも可能ではあるが、追加フィールドはフィールド名のアルファベット順に記入されるだけでフィールド名での対応はしないので、何がどのフィールドに記入されるか分からないので現実的でない。

それで、KeePassの用途はログイン時がまあ8割以上だろうし、ブラウザの入力記憶機能も使えるだろうし、同じページに同じことを何度も書くことは余りないので(実際には結構あったのだが)、それらのページでの自動記入は諦めることにした。しばらくWindowsで使ってみて、手間に感じる場合は、再度、EnPassかKeeperを検討しよう。

ちなみに、ログイン情報の数は約600個となった。データ変換は一瞬で終わるが、かなり多いせいか、KeePassの動作は重い。ほとんどは古い情報なので、あとで整理する必要がある(面倒なのでやらない気がするが)。

PS. 今、僕のPCは、全ログイン情報がテキストで記載されたHTMLやCSVになっているので、セキュリティ的に大変危うい状態である。ソフトメーカーは、こういうことにも配慮して欲しいものだ。。。

PS2. つくづく、RoboFormは優秀だと思う。(クラウドを使う、ブラウザ専用のLite版はあるが、)ちゃんとしたLinux版を売れば買うのに。難しいのかな。。。

PS3. もしかして、検索でいらっしゃった方が居るかも知れませんが、このブログでは細かい手順は書きません。というのは、基本的な考え方や方針や普通では分からないことを重視しているからです(もし、全部解説したら、とんでもない分量になるでしょう)。でも、質問して下されば、可能な範囲で回答します。

  •   0
  •   0

Linux移行への確認・評価作業も大詰めで、大体見通しがついた感じだ(ちなみに、一年近く前倒しだ)。いくつか、事前の目論見を諦める必要がある物がある。結構痛いのはEvernoteとRoboForm(パスワード管理ツール)だ。どちらも、どう頑張ってもLinuxでは動かないか無理がある。それから、セキュリティソフト(アンチウイルスなど)も、信じられないことに、Linuxには未だに大したものがない。あとは、先日書いたビデオメディア(特にBD)、それに、MusicBeeもScanSnapも動かない。

Evernoteは、Linux用の互換アプリNixNote2があるのだが、出来が悪くて、しばらく動かしていると停まってばかりでまともに使えない。また、Wine(WindowsのプログラムをLinuxで動かすソフト)を使えばWindows版の純正アプリが動くのだが、メモリを食い過ぎるという難点がある(Windowsで調べて分かったのだが、僕の場合、約2.5GBも使っていた)。Linuxで動かしても減ることはないだろうから、そんな出来損ないのプログラムは使いたくない。NixNote2がハングするのも、こういうことが関係しているのかも知れない(僕なんて、それほど大量のデータを入れている訳ではない(全ノートをエクスポートしたファイルが300MB程度)ので、他の人は大丈夫なのか、気になるところだ)。

それで、余り気が進まなかったのだが、web版をちょっと試してみたら、意外に使い勝手がいいので採用し、Windowsでも使うことにした。Web版の欠点は、ノートのエクスポートができないこと程度だ。僕は定期バックアップ時に全ノートをエクスポートするのだが、その時だけ純正アプリを動かせばいいだろう。Linuxでも、NixNote2か純正アプリ(Wineで動かす)でエクスポートすればいい。

なお、他の同様なサービスを調べたところ、一番良さそうなのはBox Notesだったが、まだPC用アプリがない("Coming sonn")ので、現状では乗り換えるメリットがない。アプリができたら検討したい。

RoboFormも、Wineを使えばちゃんと動くのだが(32bit環境がいいようだ)、ブラウザとの連携(webページのユーザー名・パスワードの欄に自動記入する)ができない。試行錯誤してあと少しというところまで行ったのだが、どうしても無理なもの(連携機能を実現するWindows用DLL)があった。ブラウザもWineで動かせば連携できるだろうが、さすがにそれは嫌だ。

それで、いろいろ調べて、KeePassを使うことにした。追加モジュール(KeepassHttpとchromeIPass)を使えば何とかブラウザ(Vivaldi)と連携できたので、使うことにした。あと、RoboFormからのデータ移行をどうするか頭が痛かったのだが、調べたら、何とかできそうな感じなので、安心した。

次に、「Linuxにはセキュリティソフトは要らない」という意見はあるが、それは迷信あるいは誤解だと思う。余程厳格な運用をしない限り、いくらでもウイルスに感染したり侵入されたり攻撃されたりする可能性はある(厳密な用語は良く分からないので、適宜読み替えて欲しい)。オープンソースと言ったって、自分でプログラムを全部チェックできないだろうから、安心することはできない。コミュニティだって、ザルではないだろうか。実際、OpenSSLをはじめとする、いろいろな重要なオープンソースソフトに脆弱性が見つかっているではないか。

それで、かなりいろいろ調べたのだが、結局、フリーのClamAVか、ESETのNOD32(有料)しか残らなかった。残念なことにESETも継子扱いで、日本では販売されておらず(去年はしていたのに、止めたようだ)、本家ESETのサイトでも、(単独でなく)Windowsなど用と合わせて(合計3デバイスで使える)の販売となっていたので、将来性は期待できないと思った。それで、とりあえずはClamAVを使って(気休めではあるが)様子を見ることにした。

ここまでの評価で感じたことは、「まだまだLinuxは一般の人には勧められない」ということだ。「古いPCでサクサク動く」とか言って使っている人は結構居るようだが、勘違いとか、本質を見失っているとか、かなり我慢しているのではないかという気がする。やっぱり、さまざまな困難を苦にしない(逆にそれを何とかするのを楽しむ)マニアが、確固たる覚悟なり信念で趣味として使うのに相応なシステムなのだろう。実際、数年前(Windows XPが終わる時)にデスクトップLinuxがちょっとしたブームになったが、今は下火になっているようだ。

とは言え、一般人が簡単に使えるように改善されてWindowsを駆逐するためには、使う人が増えないことにはどうにもならないので、鶏と卵の関係なのだろう。なので、今は、勘違いでも使う人が増えるべきなのだろう。という訳で、皆さん、どんどん挑戦して下さい。

  •   0
  •   1

すごく眠くて、まともな文章を書く気力がないので、今のLinuxのデスクトップをお見せして、お茶を濁します。

20160922-mint-xfce-desktop-1

(↓「お茶を濁します」と書いた割りにはいろいろ書いてしまったので、暇な方はお読み下さい。)

Linux MintにVirtualBoxを入れ、それにWindows 7を入れ(実際にはMaui Linuxに入れた時の仮想ディスクをコピーしただけ)、その上でMusicBee 2.5 (画面右上。MusicBee 3はUIが嫌いなので止めた)を動かした。VirtualBoxをシームレスモードで表示しているので、MusicBeeがいかにもLinuxで動いているように見えるでござる(←「ござる」と書きたかっただけでござるw)。画面左端はLinuxのタスクバー、下端はWindowsのタスクバー(右端にしたかったのだが、残念な状態になるので止めた)。画面上端はUltraVNCビューアのツールバー。

LinuxのPCは、サブでなくてメインのディスプレイにつないでもいいことに気付いたので、画面がかなり広くなった。その画面をVNCでメインPCに転送してメインディスプレイのWindowsに表示して、メインPCのキーボードとマウスで操作できるようにしている。(入れ子が過剰で、何がなんだか分からないかも…)

仮想化・階層化の概要:

[Linux PC] MusicBee/Windows 7/VirtualBox/Linux Mint

[LAN] VNC (画面・キーボード・マウスの転送)

[メインPC] Windows 7

ちなみに、メインPCのデスクトップには、こんな感じでLinuxが表示されている。

20160922-mint-xfce-desktop-on-win-1

ところが、この設定が終わった直後からLinux上のWindowsが更新をし出して、数日間、ずっと負荷が100%になっていたので、やりたかったMusicBeeでの共有フォルダ上の曲の再生の確認ができず(音切れするので)、某国(あるいは組織・集団)にMSを木端微塵に爆破して欲しい衝動が高まったのは、言うまでもない。

その間、何度Windows Updateの実行と再起動をしたか分からない。「更新を確認しています」とかいうメッセージが出たまま負荷が高くなるだけで経過が分からないので、本当に更新しているのかも分からず、無駄に再起動したりして、とてもイライラした。適用したパッチの数は何百にもなった。いくらソフトの規模が大きいといっても、修正が多過ぎないか? MSの連中はマジで能無しばかりだ。しかも、今だって、この更新が全部終わったか分からない状態で、起動したらまた更新が始まるかも知れないから、一体いつになったら、MusicBeeの確認ができることやら。

そして、更新の間はCPU負荷が高いから、Windowsのせいで世の中の電力使用量がかなり増えているだろうし、膨大な数のパッチのダウンロードでインターネットの通信量は増えているだろうし、その間は作業なんてできないから、社会の生産性は落ちているのではないか。でも、もうすぐ彼らの時代は終わるから、余計な心配だろうw

PS. Linux移行を進める中で、Monoという.NET互換を目指す環境があることを知った。MusicBeeをこの上に乗せれば、比較的容易にLinuxでも動くようになると思うのだが、作者はやる気ないんだろうな。本当にもったいない・・・

やっぱり、挑戦する心を捨てたら駄目だよな。実際には捨ててはいないんだろうが、方向が間違っていると思う。下らないUIいじりなんて止めて、もっとおもしろいことをやるのだ! だって、MusicBeeを超える音楽プレーヤーなんてLinuxには全くないんだから、もしLinuxでちゃんと動けば、すごく広まると思うのだ。それはすごいことじゃないか。

  •   0
  •   1

この連休は天気が悪かったので、部屋に籠ってLinuxいじりに明け暮れてしまった。いろいろ得る物はあったのだが、思わぬことに驚き、腹が立った。

ごく普通にできると思っていた、LinuxでのDVD VideoやBlu-ray Disc(BD)の再生。信じられないことに手こずった。まず、普通のDVDをMaui Linux標準のプレーヤー(VLC)で再生したらエラーになってしまって、「えっ?!」と思った。別のプレーヤーTotemとSMPlayerでも試したが、駄目だった。当然ながら、BDも駄目だった。愕然とした。

ドライブのリージョンが設定されていないのかと思ったのだが、調べると、著作権保護の関係でそのままの状態では再生できないとのこと。それで、DVD再生に必要なパッケージ(libdvd-pkg)を追加した。(→ 参考) そうしたら、ようやく"Back to the future I"が再生できた。

でも、やっぱりBDは再生できなかった。更にしつこく調べたり試したりしたのだが、DVDほど簡単にはできないようで、以下の方法が考えられた。

  1. 諦める。→ しのびない。
  2. 市販のLinux用BD/DVDプレーヤーソフトを買う。→ 全くなし。
  3. WineにWindows用有料プレーヤをインストールする。→ インストールはできたが、再生できず。
  4. VirtualBox上のWindows 7に有料プレーヤをインストールする。→ 再生できず(VirtualBoxの仮想ディスプレイが著作権保護に非対応だからのようだ)。
  5. MakeMKVという変換ソフト(のベータ)とVLCを使う。ちょっと面倒。(→ 参考) → 再生できた。
  6. AnyDVD HDやDVDFabなどで事前にリッピングしておく。: ディスクを食うし、違法。

MakeMKVを使って何とかQueenのブダペストライブのBDが再生できたものの、手軽ではない。有料の再生ソフトだってあれば買うのに、全くないのはどういうことなのかと思った。

コピーは違法だと主張してガチガチのプロテクトを掛けておきながら、今ですらLinuxで合法に再生する手段を提供しない(もちろん、メディアの製作者が再生ソフトを作る訳ではないが、作りやすいように協力するなどのことはできるはずだ)というのは、全くやる気が感じられない。アホかバカかと! そんな態度だからソフトが売れず、YouTubeで済ませる人が多くなってしまったのではないか。海外のメーカーですら出していないということは、需要がないとか、面倒で割に合わないいうことなのかも知れない。

余談: おそらく誰でも考えることだろうが、現代では、PCに買ったメディア(DVDやBD)を挿入しておけば、ネット経由で観られるようにすればいいのではないかと思う。

それで、参考に調べたら、手持ちのBDはたった4枚しかないことが分かったので、以下のいずれかの手段を採ろうかと思っている。

  1. 諦める。(記憶を頼りに、脳内で再生する)
  2. 中古のDVDを買う。(誰か交換してくれる人でもいればいいが…)
  3. 観たくなったらYouTubeなどを探して観る。(ダウンロードしなければ違法ではない)
  4. その他 (詳細は略w)

まあ、移行まで時間があるから、のんびり考えよう。それにしても、BDを沢山買わなくて良かったよ! そして、これからは絶対に買わないことにしよう!

PS. タイトルは、Boomtown ratsの大好きな曲、"I don't like Mondays"より。

  •   1
  •   1