2018-09-30

NetBSDのパッケージにあるmisc/libreoffice5-binの解析

NetBSD/i386でパッケージmisc/libreoffice5-binからインストールしたLibreOffice 5.1.0.3を使っています。このバージョンは旧いので、もっと新しいバージョンにしたいと思っています。しかしpkgsrcの枠組みでインストールしているため、勝手にLibreOfficeのバージョンを上げても構わないものなのか気になっています。要するに、LibreOfficeのWebサイトに最新版のrpmが置いてあるのは確認していますが、これを勝手にNetBSD上のディレクトリに展開しても構わないのでしょうか。NetBSDのpkgが管理している情報と不整合を生じたり、またはpkgが変更を加えている情報と合わせておくなどの対処をしなくても良いのでしょうか。ちょっと心配です。

どこから調べていったら良いのか困ってしまいましたが、Webで検索していたら、PKG_DEBUG_LEVEL=2を指定すると、pkgsrcでビルドしている途中の詳細情報が得られることが分かりました。つまり以下のようにコマンドを打つことになります。
# make PKG_DEBUG_LEVEL=2 install
処理中の詳細な情報が出力されますが、次のような部分がありました。
: commands for target extract-rpm; set -x; set -e; /usr/pkg/sbin/rpm2pkg -d /usr/pkgsrc/misc/libreoffice5-bin/work/.destdir/usr/pkg -f /usr/pkgsrc/misc/libreoffice5-bin/work/.PLIST.rpm2pkg -s 1 /usr/pkgsrc/misc/libreoffice5-bin/work/LibreOffice_5.1.0.3_Linux_x86_rpm/RPMS/*.rpm
LibreOfficeのサイトで入手できるLibreOffice_5.1.0_Linux_x86_rpm.tar.gzを展開すると、中にrpmが46個入っています。そのrpmを全て展開するために、上述したコマンドが使われているようです。全rpmを展開すると、2,300個くらいのファイルが展開されます。どうやらそれらを/usr/pkgの下に置いているだけのように見えます。ただし一部のファイルはNetBSDの環境に整合するようにパッチがあてられているようです。

LibreOfficeのサイトにはLibreOffice_5.4.7_Linux_x86_rpm.tar.gzというファイルがありますから、これを上述した手順で展開し、/usr/pkgの下に強制的に上書きすれば良いのではないかと考えています。もしLibreOfficeが動かなくなったら、pkg deleteして再インストールすれば復活できると思うので、それほど致命的な事態には陥らないだろうと思います。

調査している最中に、ログを確認していると、次のようなメッセージが出ていることに気付きました。
==========================================================================
The following variables will affect the build process of this package,
libreoffice5-bin-5.1.0.  Their current value is shown below:

        * RPMFILES = /usr/pkgsrc/misc/libreoffice5-bin/work/LibreOffice_5.1.0.3_Linux_x86_rpm/RPMS/*.rpm

You may want to abort the process now with CTRL-C and change their value
before continuing.  Be sure to run `/usr/bin/make clean' after
the changes.
==========================================================================
もしかするとRPMFILESという変数を上手く利用すれば、 もっと簡単にLibreOffice 5.4.7にバージョンアップできるということでしょうか。こちらも試してみる価値がありそうです。

2018-09-25

コンビニは立ち読み禁止?

コンビニの店構えは、セブンイレブンでもファミリーマートでもローソンでも、だいたい同じような作りになっているようです。出入り口に面した壁面はガラス張りで店内がよく見えるようになっています。そしてガラス張りの壁面には雑誌売り場になっていることが多いようです。

何かで耳にした話によると、このような店構えになっている理由は、雑誌を立ち読みしてもらうことで店内に客が入っていることが外部から見えるようにして、客が入店しやすくさせる仕組みなのだそうです。たしかにガラガラの店舗に入るのは躊躇してしまうこともあるでしょうし、立ち読みであっても客が店内にいれば、他の客も気兼ねなく入店してくるのかもしれません。

そういう訳で、コンビニでは「立ち読み歓迎」なのかと思っていました。余談になりますが、一般的な書店では、立ち読みが歓迎されているとは必ずしも言い切れないところがあると思います。最近ではカフェ併設書店のようなところも増えてきていますが、少なくとも書店にとって書籍は商品なので、立ち読みだけで済まされてしまっては、商売にならないはずです。カフェを設けたり、立ち読みを許容したりして、書籍の売り上げに繋がればよいと願っているのでしょう。しかし客の中には立ち読みだけで(小説などを)読み切ってしまう強者もいるようです。購入しないまま多読に励んでいるという「武勇伝」を耳にしたこともあるので、さすがにそれはやり過ぎではないかとおもいます。

閑話休題。先日某コンビニを訪れたところ、「立ち読みはご遠慮ください」という張り紙があってあり、衝撃を受けました。コンビニであっても「立ち読み歓迎」という訳ではなかったようです。ということは、このような張り紙がないコンビニも多いですが、それは立ち読みを歓迎しているということではないかもしれません。

HDDレコーダの毎週録画の不具合

BSのアンテナで視られるスカパー!(旧:スカパー!e2)を契約していて、ナショナル・ジオグラフィック・チャンネル(Ch.343)を視ています。昔の番組の再放送が多いですが、意欲的な新作もある(なんだこれは、と思うような駄作もありますが)ので、HDDレコーダに録画して観ています。

新作で気に入っているのは「ジーニアス:ピカソ」です。全10回で間もなく最終回です。毎週一話ずつ放送しているので、HDDレコーダを「毎週予約する」モードにしています。ところが、この動作が怪しいのです。

この作品はナショナル・ジオグラフィック・チャンネルにとって一押し作品なので、吹き替え版、字幕版、再放送など、毎週どこかの曜日のいろいろな時間帯に放送しています。第一話は日曜日の22時からの放送だったので、HDDレコーダも、その日の予約を開始日として「毎週予約モード」で設定してあります。

昔々のレコーダは「毎週予約」ならば本当に毎週同じ曜日の同じ時間に予約されるだけだったので、何か別番組の都合で放送時間が変更されると、番組の途中が録画されなかったりしました。ところが最近のレコーダは賢い(?)のか、番組の時間変更を追いかけて予約してくれるので安心です。しかし今回は、この気遣いがアダになりました。

ナショナル・ジオグラフィック・チャンネルのWebページで「番組表」を見ると気が付くように、毎週日曜日の22時から「ジーニアス:ピカソ」の新作を放送していますが、その直前の21時から前週分の再放送をやっています。こういう番組編成になっているのはナショナル・ジオグラフィック・チャンネルの都合だと思いますが、こうなっていると「毎週予約」が22時の新作ではなく、21時の再放送の方に予約時間が合わされてしまうのです。

「毎週予約」機能のアルゴリズムがどうなっているのか不明ですが、番組表の電子データにある「番組名」と同じ文字列を持つ時間帯を見つけようとしているのかもしれません。不運なことに、新作の直前に再放送があるので、そちらを見つけてしまうのかもしれません。

今のところHDDレコーダを買い替える予定はありませんが、もし別のメーカーの製品を選んだら、このような不具合は無いかもしれません。もしくは同じメーカーであっても、最新の製品は不具合が解消しているかもしれません。

クレジットカードを利用させないルールは有効?

普段の買い物ではクレジットカードが利用できるなら、どんな小額であっても、利用するようにしています。現金を持たず小銭が溜まらないようにするという目的もありますし、ポイントが貯まるのもありがたいです。

お店によっては現金扱いのみで、クレジットカードを利用できない場合もあります。それは別にお店の方針なので仕方ありません。今後方針転換してクレジットカードが利用できるようになってくれればよいなとは思いますが、現時点で利用できないのがケシカランとは思いません。

不快なのは、クレジットカードが利用できることを謳っていながら、利用を制限している場合です。例えば、こんな場合があります。
  • 「クレジットカードが利用できるのは××円以上に限る」(→クレジットカード会社と加盟店舗との契約がどうなっているのか知りませんが、このような制限は無効だという話を耳にすることがあります。しかし、このような対応をされることは、たまにあります。) 
  • 「現金をおねがいしています」(→クレジットカードが利用できる店舗だろうと思っても、念のために「クレジットカードは使えますか?」と訊くことがあります。そうすると、このような返事をされます。不快感が増すのは、「クレジットカードは使えません」と質問に正面から回答していない点で、予防線を張っているような印象を受けます。でもレジの脇にはクレジットカードの認証をおこなう機械がおいてあったりするので、事実上の利用拒否だろうと思っています。)
  • 「クレジットカードは困るんだよね」(→店舗の側からすると、クレジットカード払いの場合は、加盟店舗が手数料を負担することになるそうです。それを嫌がるということのようなのですが、だったらクレジットカード加盟店舗になるなと言いたいところです。)
上述したような場合に、クレジットカードの利用者は、所有するクレジットカードの運営会社に連絡すれば、加盟店舗に指導してくれる(?)という噂を耳にすることがあります。本当なのでしょうか。

クレジットカードと言っても、VISAとはMasterCardやJCB以外にも、UCとかDCのようなブランドもありますし、銀行系や流通系など 、数多くのクレジットカードがあり、運営会社があります。これらは互いに提携しているようですから、自分の所有するカードの加盟店舗でなくても、利用する分には問題ないのです。しかし、クレーム対応として加盟店舗への指導は、契約が絡む問題になると思うので、自分が所有するクレジットカードの運営会社に連絡しても、指導してもらいたい加盟店舗との間で直接契約を結んでいるのか否か不明ですから、常に指導してくれるわけでもないと考えています。

現実的な対応としては、クレジットカードを利用しようとして上述したような対応をする店舗は、自分としては今後利用しないということになると思います。

2018-09-24

wpa_supplicantのデバッグ情報

元々Windows Vistaが入っていたdynabook SS SX/15AをNetBSD/i386に入れ換えて使っています。近所にある図書館が館内で無料のWi-Fiを提供しているので、繋ごうとしたらトラブルが続出しました。

この無料Wi-Fiは以前に繋げたことがあるので、 繋がる筈だとは思っています。ただし今年4月から方式を変えたようなので、ちょっと手間取りましたが、ともかく繋がることは間違いありません。ところが先週末に繋げようとしたら、うまくいきません。何が悪いのか不明だし、なにしろハードウェア自体に問題がある可能性も捨てきれないし、もしかしたらNetBSDでは何か一工夫要るのかもしれません。

そこで館内に掲示されている無料Wi-Fiのお知らせを見ると、8月末にSSIDを変えたようです。だから繋がらなかったのでしょう。Wi-Fiに接続するためのSSIDとパスフレーズは/etc/wpa_supplicant.confで指定しているので、変更しました。しかし繋がりません。今度は何が問題なのでしょうか。

この問題に限らず、何か障害が発生した時に問題個所を想定して、闇雲に設定を変えて様子を見るという方法で対処すると、不必要に解決までの時間がかかってしまう恐れがあります。上手く問題が解決できれば良いのですが、原因がはっきりしないままに、あれこれファイルを変更してリブートを繰り返したところで、無駄足を踏んでいる可能性が高いと思います。

 問題を把握するために/var/log/messagesを参照するのは基本中の基本かもしれませんが、特に情報は得られませんでした。/etc/rc.confでは「wpa_supplicant=YES」を指定しています。WPA_SUPPLICANT(8)を確認すると、デバッグ情報を出力することができるようです。出力先ファイル名を指定することもできるようなのでwpa_supplicant_flagsに「-d -f /var/log/wpa_supplicant.log」を追加しました。

かなり多くのデバッグ情報が出力されますが、次のような行が出ていました。
wpi0: WPA: 4-Way Handshake failed - pre-shared key may be incorrect
/etc/wpa_supplicant.confに追加した情報は/usr/sbin/wpa_passphraseで生成したのですが、入力ミスがあったのかもしれません。生成し直したら、繋がったようです。デバッグ情報のファイルに出力されていた状態遷移の状況を抽出すると、次のようになっていました。
wpi0: State: DISCONNECTED -> DISCONNECTED
wpi0: State: DISCONNECTED -> SCANNING
wpi0: State: SCANNING -> ASSOCIATING
wpi0: State: ASSOCIATING -> ASSOCIATED
wpi0: State: ASSOCIATED -> 4WAY_HANDSHAKE
wpi0: State: 4WAY_HANDSHAKE -> 4WAY_HANDSHAKE
wpi0: State: 4WAY_HANDSHAKE -> 4WAY_HANDSHAKE
wpi0: State: 4WAY_HANDSHAKE -> 4WAY_HANDSHAKE
wpi0: State: 4WAY_HANDSHAKE -> DISCONNECTED
wpi0: State: DISCONNECTED -> SCANNING
wpi0: State: SCANNING -> DISCONNECTED
wpi0: State: DISCONNECTED -> DISCONNECTED
wpi0: State: DISCONNECTED -> SCANNING
wpi0: State: SCANNING -> ASSOCIATING
wpi0: State: ASSOCIATING -> ASSOCIATED
wpi0: State: ASSOCIATED -> 4WAY_HANDSHAKE
wpi0: State: 4WAY_HANDSHAKE -> 4WAY_HANDSHAKE
wpi0: State: 4WAY_HANDSHAKE -> 4WAY_HANDSHAKE
wpi0: State: 4WAY_HANDSHAKE -> 4WAY_HANDSHAKE
wpi0: State: 4WAY_HANDSHAKE -> DISCONNECTED
wpi0: State: DISCONNECTED -> SCANNING
wpi0: State: SCANNING -> DISCONNECTED
wpi0: State: DISCONNECTED -> DISCONNECTED
wpi0: State: DISCONNECTED -> SCANNING
wpi0: State: SCANNING -> DISCONNECTED
wpi0: State: DISCONNECTED -> DISCONNECTED
wpi0: State: DISCONNECTED -> SCANNING
wpi0: State: SCANNING -> ASSOCIATING
wpi0: State: ASSOCIATING -> ASSOCIATED
wpi0: State: ASSOCIATED -> 4WAY_HANDSHAKE
wpi0: State: 4WAY_HANDSHAKE -> 4WAY_HANDSHAKE
wpi0: State: 4WAY_HANDSHAKE -> GROUP_HANDSHAKE
wpi0: State: GROUP_HANDSHAKE -> GROUP_HANDSHAKE
wpi0: State: GROUP_HANDSHAKE -> COMPLETED
接続完了するまでの間に何回か「DISCONNECTED」という状態が出てくるのが不安ですが、ともかく接続できました。やれやれ解決かと思いきや、せっかく接続できたのに、すぐに接続が切れてしまいます。しかも次のような、不穏なメッセージが残っています。
wpi0: fatal firmware error
もしかすると無線LANインターフェイスが故障しているのかもしれません。何分にも旧いマシンですので、その可能性は否定できません。もしそうだとすれば、パーツを交換すれば綺麗に直ると思いますが、パーツが手に入るか不明だし、修理に出すとしても手間賃だけでも安いPCが買えるくらいになってしまいそうです。

USBポートに挿す無線LANの子機を買うという手段もあるかもしれません。NetBSDで使えるか否か不明ですが、例えば「TP-Link WIFI 無線LAN 子機 11n/11g/b デュアルモード対応モデル TL-WN725N」のようなものです。

しかし内心気になっているのが、本当に無線LANインターフェイスが故障しているだろうか?ということです。上述したメッセージが出力されているのは事実ですが、これは本当に無線LANインターフェイスが故障の実態を表していると信じて良いのだろうか、若干疑っているということです。NetBSDのバグではなかろうかと考えているということです。

このように考えてしまう理由は、つい最近までサウンド機能が動かなかったのに、カーネルのバージョンを上げたら、音が鳴るようになったという経験をしているからです。現在使用中のカーネルは次の通りです。
NetBSD dynabook 8.99.24 NetBSD 8.99.24 (GENERIC) #0: Mon Aug 20 01:47:02 JST 2018  root@dynabook:/usr/src/sys/arch/i386/compile/obj/GENERIC i386
このPCにNetBSD/i386を入れた時のカーネルは7.0でしたが、そのときはサウンド関係が全滅でした。ブート時のメッセージを見ると、それらしきハードウェアは検出しようとしていますが、何やらエラーが出て、結局音が出ませんでした。ところがカーネルを更新したら、何の問題もなくブート時にハードウェアが認識されたという経験をしているのです。

無線LANも同じような話ではないかと思うこともあります。NetBSDのカーネルのソースコードは全て参照できるわけですから、問題があれば調査できるはずだ、というのは「原理的には」その通りです。しかしサウンド不具合のときもソースを参照しましたが、素人がちょっと見たらすぐに原因が判明するような単純な話ではありません。それなりの経験がないと、なかなか手に負えない問題です。

すぐに問題が解決できるとは考えていませんが、なんとか技術力向上を目指しつつ、対策を考えてみようと思います。



2018-09-21

Sysinternalsに含まれるSysmon

Windows10でVirtualBoxを使っていますが、半年くらい前からVirtualBox自体は動くのに、その上で仮想環境が起動しない現象が発生しています。確証はありませんが、土曜日の晩から日曜日の朝にかけて毎週一回動いていると思われるプロセス(セキュリティ関係?)が怪しい気がしています。

週末に動くプロセスが怪しい気がしていますが、具体的に何が悪いのか確かめる方法を探していました。ある時にWeb上で「Windowsのシャットダウン時、何をしているのか“のぞき見”したい!」という記事を目にしました。いろいろな方法が考えられるようですが、Microsoftが提供している「Windows Sysinternals」に含まれる「Sysmon」が使えるかもしれないという気になりました。

先ずはインストールしてみました。取得した 記録は「イベントビューア」か「Windows PowerShell」を使うようです。

これで原因を突き止めることができるのか否か不明ですが、なんとか解決したいと思っています。

2018-09-08

赤色ボールペンから万年筆へ

普段利用している筆記用具は、以前はボールペンでした。黒赤青の三色を日常的に利用しています。その内で黒は、数年前から万年筆に移行したので、ボールペンを使っているのは赤と青の二色になりました。

書き味の気に入ったボールペンを使いたかったので、「ZEBRA J-0.5芯」の買い置きを持っていたのですが、なんと軸の方が壊れてしまいました。そこで軸を買い直そうと思ったら、もう生産が終了しているそうです。これでは替え芯ばかり持っていても、ただのゴミになってしまいます。

何とかならないものだろうかと文具店で相談したら、一軒目ではけんもほろろに相手にされなかったのですが、諦めきれなかったので二軒目で相談したら、親身に代替策を考えてくれました。ピッタリ合う訳ではありませんが「三菱 UM-151-05」 なら、替え芯に多少加工は要りますが、なんとか収まりそうです。

異なるメーカーの製品を無理やり組み合わせて使っているので、多少無理はありますが、何とかなっています。しかし手持ちの替え芯も残り少なくなってきました。 もう妙なテクニックを駆使する必要もありません。そこで次に普段使いするためのボールペンを探しはじめたのですが、いっそのこと万年筆を使うことにしました。万年筆で赤色のボトルインクを使えば、今後は「製造終了」に困ることは無くなるでしょう。

万年筆には趣味人が好む高価な製品というイメージがありますが、(確かにそういう側面は否定できませんが)手頃な値段で買える製品も出ています。思い立ったら早く入手したくなったので、さっそく文具店で一式をそろえてきました。

  1. PILOT kakuno EF 透明軸 
  2. 専用コンバーター プッシュ式
  3. 色彩雫 山葡萄 

色彩雫は赤色系にも何種類も製品が出ているので迷ってしまいますが、山葡萄の人気があるとのことだし、色見本を見ても良さそうで気に入ったので、これに決めました。帰宅して早速コンバーターを取り付け、インクを吸い上げてみましたが、美しい色合いで気に入りました。

これでボールペンを使っているのは青色だけになりました。買い置きしておいた替え芯が残っているので、もうちょっと使えそうですが、将来的には青色も万年筆に移行しようと思います。PILOT kakunoでも良いのですが、他者から類似した製品が出ているのであれば、そちらを選んでみようかとも考えています。