6月 192014
 

GNOME 方面の人にはまるで興味が無いとは思うのですが、 KDE というか Qt を利用している人にとっては、ご存知な方もいるのではないかなぁ?

世の中には超軽量ブラウザというのが存在しています。 rekonq も konqueror に比べると軽量かなぁ。arora も軽量ですね。 rekonq よりも軽量なのが QtWeb というブラウザです。 arora と同じくらい軽量かなぁ。

以下が QtWeb のサイトですね。

http://qtweb.net/

ここを見ると Windows・OS X・Linux と世界の三大ウィンドを制覇しているんですけどもね;-)。で、それぞれバイナリがあるのですが、ソースコードもあるので、それを FreeBSD に持ってきてコンパイルすると FreeBSD 上でも動作するんですけども。

キャプチャはこんな感じです。

Qtweb_1

で、せっかくなので今回は QtWeb の ports を作ってみました。 arora が ports になっているのに QtWeb が ports になってないのは悲しいことですし;-)。
以下の URL にあるのでもしも「僕も私もちょっと FreeBSD 上で QtWeb を使ってみようかなぁ。」などと思った人は試してみてください。

http://icmpv6.org/Prog/FreeBSD_ports/ports-qtweb-20140619.tgz

あ。コミットするつもりはありません。あくまでノラ ports ということで;-)。

QtWeb の ports の仕様やインストール方法などをちょっと書いてみます。

o. QtWeb をコンパイルするには Qt 4.8.6 のソースコードが必要
FreeBSD の ports 的には qt4-* で色々インストールされているのですが、 QtWeb は Qt ライブラリを static link するので FreeBSD の ports 的な Qt ライブラリは必要としません。
GNOME や xfce4 な人も Qt や KDE のコンポーネントをインストールすることなく Qt コテコテなブラウザを楽しむことがてできます。

しかし、裏を返すと Qt ライブラリ部分もコンパイルするのでコンパイル時間が随分と長いです。orz

僕が作成した ports では /usr/ports/distfiles/KDE/ に Qt 4.8.6 のソースがあればそれを利用し、なければとある日本のサイトからダウンロードしてきます。詳細は files/patch-qt-src.sh を見てください。

o. ports がインストールするもの
QtWeb のサイトからバイナリをダウンロードすると、本当に QtWeb 本体のみしかパッケージングされてないのですが、僕の作った ports では QtWeb バイナリの他に icon として QtWeb.png と QtWeb.desktop をインストールするようにしています。インストール直後から KDE のインターネットメニューに表示されるようにしました。

o. QtWeb の起動
ports からインストールすると /usr/local/bin/QtWeb ができるのでそれを実行するのですが、実行後にできるディレクトリが美しくないです。以下の三つのディレクトリができます。

・$HOME/.QtWeb Internet Browser/
・QtWebCache/
・QtWebSettings/

一番上の .QtWeb Internet Browser/ は $HOME にできるので良いのですが、 QtWebCache/ と QtWebSettings/ はどこにできるかわかりません。実行したときにいるカレントディレクトリにできたりとか、ヘタするとあちこちに QtWebCache/ と QtWebSettings/ ができてしまうような感じです。orz
なお、メニューから QtWeb の設定を変更するとその内容は QtWebSettings/ に保存されます。

が、しかし、それにしてもこの二つのファイルはどこにできるのか解らない・・。orz
ソースコードを書き換えてやろうかと思ったほどですが・・。
なのでしょうがない。起動用にスクリプトを一個書きました。

#!/bin/sh

cd $HOME/.QtWeb\ Internet\ Browser
QtWeb > /dev/null 2>&1
#/usr/local/bin/QtWeb > /dev/null 2>&1
#cd  $HOME

 
$HOME/.QtWeb Internet Browser/ 配下に QtWebCache/ と QtWebSettings/ が作成されるようにするためのスクリプトです。
不便やのぉ・・。って感じなのですが、ソースコード的には browserapplication.cpp の数カ所を直せばちゃんとコントロールできるんじゃね? って感じはします。

 
こんな感じの QtWeb というブラウザなのですが、もしよければ皆さんもコンパイルして使ってみてください;-)。

 
あ。最後にですが、 Qt-Webkit は x-sjis と x-euc-jp には対応してないので文字化けします。 rekonq も konqueror も Qt-WebKit を利用しているのでやはり x-* な文字コードは表示できません。最近は少なくなってきましたが、今では僕が知っている有名ドコロは VECTOR が x-sjis を利用しているので表示できません。

この件については以前 KDE 方面で(その昔は) Nokia の Qt のコードを書いている人に聞いたことがあるのですが、非対応だそうです。するっていと同じ KHTML から派生の Apple-WebKit は独自に x-* な文字コードに対応した。と、いうことなのでしょうなぁ。

 
PC に色々ブラウザが入っていると楽しいですよ;-)。 是非、試してみてください。;-)

11月 292013
 

いやー。ちょっと前のエントリで「MacBook で色々な OS ブート。」というのを書いたのですが、そのときには MacBook の内蔵 HDD を SSD に換装すると USB メモリのインストーラが起動しない。なので今までの HDD にインストールした。と、書いたのですが・・。

新規に Mavericks をインストールしてちょっと試しに smartctl を実行してみたらエラー出まくりで・・。orz まさかの一日で OS を再ストールするするハメに・・。orz

結局、壊れた内蔵 HDD はそのままに、SSD を USB で接続し、 USB メモリのインストーラが起動したので USB 接続した SSD にインストールできたのでありました。その時の手順をちょっと書いておきます。

1). はじめに
MacBook の内蔵 HDD を SSD に換装して USB メモリからインストーラが起動しない状態。内蔵 HDD のままだと USB メモリのインストーラは起動している状態。

2). USB 接続の SSD
MacBook の内蔵 HDD はそのままに SSD を USB 接続します。その状態だと USB メモリのインストーラは無事に起動するのでインストール先を USB 接続の SSD にしてインストール開始。ふぅ。良かった。

3). インストール途中で中断し SSD 換装
Mavericks のインストーラはアップデート後に途中で一回リブートしてからもインストールするのですが、そのとき遅いので 10% 程度のところで強制的に電源断っ!! でもって内蔵 HDD を途中までインストールした SSD と換装します。

4). SSD からブートそして無事に起動
内蔵 HDD を SSD に換装したらすかさず電源 ON。一応 USB メモリのインストーラは付けたまま。で、内蔵 SSD から起動し Mavericks のインストールが継続される(この辺りの動作はちょっと感動的;-)のでそのままインストール。
インストール完了で再起動後は SSD から無事に Mavericks が起動するのでありました。
ふぅ。無事に SSD に換装できました;-)。

 
で、クリーンインストールした OS X Mavericks についてちょっと書きます。かぁなりアコギな OS だぁ。

o. iLife’11 の iPhoto は起動しない
これには驚きましたね。 OS X Mountain Lion のまでで起動していた iPhoto は Mavericks をクリーンインストールすると起動しなくなります。 App Store から新規に購入しろ。と、言われます。しょーがないので僕は買いましたよ・・。

OS X Mountain Lion からアップグレードインストールした人は継続して iLife’11 の iPhoto が利用できます。なので、古いバージョンをそのまま利用し続けたい人は Mavericks はクリーンインストールしないほうが良いでしょう。 GarageBand は無料だから良いんですけど、 iPhoto は 1,500yen ですからねぇ・・。まったくっ!! って感じ。

ちなみに、古い iLife’11 の iPhoto は open コマンドで /Applications/iPhoto.app/Contents/MacOS/iPhoto を開くと起動はするのですが、正しい動作するのかについてはわかりません。と、いうか、 open コマンドで実行すると iPhoto ライブラリとか指定できないし・・。orz

o. iWork も困った
iLife と一緒に iWork も新品の Mac を購入した人は無料になったとは言っても、古い iWork’09 などを持っている人は今度 Mac を買い直すまではそれを使い続けたい。と、思うのですが・・。

iWork の場合、例えば iWork’09 の Pages で作成した文書を iCloud に載せて「そーいえば iCloud 上で ウェブ版 iWork が無料で利用できたよなぁ。」とか思い試しに編集し、保存したあとに OS X 上の iWork’09 の Pages で編集しようとすると「あんたの Pages は古い。最新版にアップデートしろ。」とか言われて、これまた iWork も買い換えなければならない状態です。

と、いうことで Mavericks (とそれらに付属する新機能)を利用する場合には iLife も iWork も最新版が必須ということになります。いくら無料にしたとはいえ、それは新しい Apple 製品を買った人のみで、古い Mac を持っている人からはドンドンお金を吸い上げる状態ですね。もしくは新しい Mac を買え。と。・・。orz。

o. iTunes と iCal の同期の機能
Mavericks に付属の iTunes については以前に書きましたが、カレンダーの他にアドレス帳も同期しなくなったということが解りました。

Mavericks にすると、 Mac と iPhone の間ではカレンダーとアドレス帳が同期できなくなっています。どちらも iCloud 経由でしか同期できない状態です。クラウド上にカレンダーやアドレス帳を起きたくない人にとってはもう地獄のような状態になりました・・。orz。

あ。iCal は「この Mac 内」にカレンダーを持つ場合には iCloud コントロールパネルでカレンダーの同期を解除しておいたほうが良いです。以下、 iCal の動作です。

1). iCal に Mac 内のカレンダーとして新規作成
2). 保存(バックアップ)しておいた ics ファイルを Mac 内のカレンダーにインポート
3). インポートが完了した時点でドドドと iCloud 上にコピー
4). その後は Mac 内のカレンダーが削除される

と、いう恐ろしいとこになります。 iCloud 上のデータをすかさず消しましょう。

 
と、いうことで OS X Mavericks を新規にインストールした場合と、OS 自体を Mavericks にしたときのふざけた機能について、わかったところだけ書いてみました。アドレス帳の同期なんかはメール vcf ファイルを送って iPhone アプリがインポートしてくれるヤツとか多分あるだろうとは思うのですが、そーいうのを今後は探さないとダメですね。

それにしても非常に悲しい世の中になったものです・・。orz

11月 242013
 

いやー。ThinkPad X100e がぶっ壊れて ThinkPad Edge e145 を購入して無事に Windows8.1 と FreeBSD/amd64 9.2-RELEASE が起動したので一段落ついていたのでありますが。

ThinkPad X100e が壊れて、そこで以前利用していた SSD を MacBook に取り込んで OS X Mavericks を高速にしようかなぁ。とか思い早速トライしてみました。

まずはその途中経過。ThinkPad X100e には Windows8.1 と FreeBSD/amd64 9.2-RELEASE がインストールされていたので、それをそのまま MacBook でブートしてみました;-)。

IMG_6085_Win_FreeBSD_OSX_1

いやー。FreeBSD が無事にブートしましたねぇ。途中、 /etc/fstab に NFS の行があったのでそこでタイムアウトしました。 PC/AT 互換機の場合なら Ctrl-C で抜けられるんだけど MacBook ではダメで、このまま延々とタイムアウトが続くのであります。

あ。 FreeBSD はここでおしまい;-)。次に Windows8.1 をブートしてみました。

IMG_6091_Win_FreeBSD_OSX_2

これはもーっ!! スルっと起動しました。スゲっ。って感じ;-)。色々やれば良いんだけど、まぁ、こっちもブートしたのでおしまい;-)。

さてさて。 ThinkPad X100e に入っていた SSD で Windows と FreeBSD のマルチブートですが、基本的には レガシー BIOS と MBR でインストールされているのですが、 MacBoook ってのは UEFI で動作しているとは言っても レガシー BIOS と MBR でちゃんとブートするんですね。あ。ブートは Windows 側の bcdedit で FreeBSD がブートするようにしています。

ただ、 OS X のマルチブートにしようとすると OS X は UEFI が必要になるので『マルチブートが大変』な状態になるんですね。素直に Windows と FreeBSD のみを利用する場合にはなんか行けそうな予感です。

 
てーか。やりたいことはこんなことではなく、余った SSD を MacBook に入れて OS X Mavericks をインストールする。ってのが目的なのですが・・。SSD を MacBook に接続すると、8GB の USB に用意した Mavericks が認識されません。

MacBook に入っている 2.5 インチの HDD を接続すると USB からブート可能なのですが、 SSD を接続すると USB インストーラを認識しません。あらら・・。orz

SSD は Intel の 330 Series 。結構メジャーな SSD なので MacBook が認識しないというのはちょっと考えられないんだけど、ダメでした・・。orz 今回利用した SSD は 120GB のヤツだったのですが、もしかしたら容量チェックが入っていて、120GB では容量が小さすぎて Mavericks のインストーラが起動しないんではないかい? などと思えてきました。が、 SSD はこの一個しか持ってないのでそれが本当のことなのか、確認はできていません・・。

 
しょーがないので default で MacBook についていた 230GB の HDD にインストールすることになったのでありました・・。

IMG_6095_Win_FreeBSD_OSX_3

HDD には無事にインストールできるんですよねぇ・・。

と、いうことで、僕みたいに SSD に変更してインストールしようとしたけどできなかった。と、いう方いましたら是非コメントをい頂ければと思います。

11月 032013
 

OS X Mavericks にしてしばらく使っていたのですが、 iTunes は iOS デバイスとカレンダー同期してくれなくなったんですね。iTunes の[概要]タブから「スケジュール」の項目が消えています。
と、いうことは iCal のスケジュールの情報は iCloud 経由で同期しろ。ってことなんですね。いやー。Apple も google みたいなことしてくれますなぁX-(。

このブログにも以前に書いているのですが、スケジュールは google に預けたくないし、当然 Apple にも預けたくない。そーいう人にとって、今回の Mavericks の iTunes の仕様変更は改悪ですね。困った困った。

さて、ではどうするか? と言えば、僕は自分で CalDAV サーバを持っているのでそれを利用することにしました。

CalDAV サーバを Mavericks の iCal と iPhone4・iPhone5、あと Thunderbird の Lightning からアクセスして参照・更新すれば一応は OK な状態になりますね。

今までは家の中専用で利用していた CalDAV サーバを SSL 化してグローバルからでもアクセス可能な状態にします。そして、 iCal・iPhone4・iPhone5・Lightning から接続テストをしてみます。が、 iOS もかぁなりクセがありますね。けっこう orz 的な事態になったのであります・・。orz。

今回はこの辺りの顛末についてちょっと書いてみます。

1. CalDAV の SSL 化
CalDAV 自体のインストールと設定については以前のエントリに書いたのでそっちを参照してください。あ。一点だけ。
古いバージョンの davical-0.9.9.4 から davical-1.1.1 にバージョンアップするとデータベースの互換性がなくなるようで、サクっと portmaster とか走らせると痛い目に遭います。
iCal とか Lightning で ics 形式のバックアップを取ってから davical とか postgresql などを一旦消してバージョンアップして、1.1.1 で動く状態にしてからバックアップした ics ファイルをインポートすると今度はサクっと動くようになります。 postgresql にデータが残っている状態でバージョンアップして『それを潰さないように』などと思っているとダメっぽいです。

さて本題。 CalDAV サーバと言っても基本的には httpd を httpsd とするだけなので、あと、自分しか利用しないのでヲレヲレ証明書で行きます。 FreeBSD 的には以下のコマンドを打つだけで簡単に SSL 化できます。

# cd /etc/ssl
# openssl genrsa -out ./server.key 2048
# openssl req -new -x509 -days 3650 -key server.key -out server.crt
# openssl x509 -in server.crt -out server.der -outform DER
# cd /usr/local/etc/apache22/
# ln -s /etc/ssl/server.crt
# ln -s /etc/ssl/server.der
# ln -s /etc/ssl/server.key

 
server.crt を作成する場合に色々聞かれてきますので値を入力します。server.der はブラウザにインストールするといちいち「このサイトは怪しいぜぃ。」って聞かれなくなります。

このオペレーションだと apache22 の SSL 化の設定は非常にラクチンですね。 httpd-ssl.conf は以下の部分だけ直すと作業は終了です。

#   General setup for the virtual host
DocumentRoot "/usr/local/www/davical/htdocs"
ServerName ical.running-dog.net:443
ServerAdmin takachan@running-dog.net
ErrorLog "/var/log/httpd-ssl-error.log"
TransferLog "/var/log/httpd-ssl-access.log"

 
あとは apache22 を再起動して作業は無事完了。各クライアントからアクセスして動作確認します。基本的には以下の URL で ics ファイルが取得可能な状態となるはずです。

https://ical.running-dog.net/caldav.php/takachan/home/

ここ、重要ですからねー。覚えといてくださいよー;-)。

 
2. iCal の設定
iCal は OS X に付属のカレンダーアプリです。「環境設定」→[アカウント]から”+”で追加します。 SSL で追加しましょう;-)。
[サーバ設定]タブでは CalDAV サーバの FQDN と URL を書きます。サーバパスは “/caldav.php/takachan/” を指定します。 CalDAV のコントロールパネルで他にカレンダーを設定した時に /home/ の部分が任意のパスとして生成され iCal 上に表示されるようになります。

 
3. iOS デバイスの設定
僕は手元に iPhone5 があって、それは既に iOS7 にしているのですが、このカレンダーアプリはどえりゃーやっかいでした・・。 Maverickes の iTunes も iOS7 もひでーことだぁ。と、知ることになるんですけども。

iOS の場合はまず、設定アプリから「メール/連絡先/カレンダー」を選択し「アカウントを追加」→「その他」→「CalDAVアカウントの追加」を選択し情報を入力します。
「サーバ」は FQDN のみで OK。「詳細設定」で色々指定してあげます。 SSL を有効にしてから「アカウントURL」に上記の URL を指定します。以上で設定は完了。次にカレンダーアプリを開き、しばらくすると新しく登録した CalDAV のアカウントが見えるようになります。うふふ。これでカレンダーの同期が完了だぁ;-)。

が、しかし・・。落とし穴はここからでした・・。orz iOS のカレンダーアプリは default のカレンダーが”カレンダー”として自動的に登録されるんですね。上に書いた URL 覚えていますか? CalDAV の default のカレンダーのパスなんですけども。もう一度書きますね。

https://ical.running-dog.net/caldav.php/takachan/home/

しかし、iOS のカレンダーアプリはここを参照してくれなくて、勝手に EUI-64 でパスを生成してそこに”カレンダー”ってタイトル付けて、そこにしかアクセスできないんですね・・。URL 的にはこんな感じ。

https://ical.running-dog.net/caldav.php/takachan/DE1A314-92BE-4518-A56E-B7138819A30B/

僕的には iOS のカレンダーアプリも /caldav.php/takachan/home/ を参照して欲しいのだけどここは見てくれない。で、新規にカレンダーを作成しようとするとまたまたサーバ上に EUI-64 のパスを作ってそこにタイトルを勝手に付ける仕様になっています。

とりあえず iOS はここで一旦終わって、次に Lightning の話を先に書きます。

 
3. Thunderbird Lightning の設定
Lightning は昔から利用しているしここにも何回かエントリとして登場しました。

Lightning でカレンダーを利用する場合には default の URL である

https://ical.running-dog.net/caldav.php/takachan/home/

を記述すると無事にカレンダーが表示できるのですが、上の iOS デバイスのカレンダーアプリが”カレンダー”と認識している EUI-64 なパスにしかアクセスできないので、Lightning に指定したパスも変更してあげる必要があります。まぁ、http:// から https:// に変更する必要があるので、この際テマは一緒かー。みたいな気はするんですけどね。

 
ちなみに、Lightning の場合はパスを /caldav.php/takachan/ で指定するとその配下の全てのカレンダーを表示してくれます。
Mavericks の iCal のパスは無条件に /caldav.php/takachan/ になって、配下のカレンダー全てを表示してくれます。
iOS の場合は無条件で UEI-64 のパスを掘って”カレンダー”とラベルを付けてそこにしかアクセスできません。 iOS 上で新規にカレンダーを作成するとそれは閲覧・更新可能な状態となりますが、自分で作成したものしか見えずに他のアプリで作成したカレンダーは見えません。
そー考えると iOS のカレンダーアプリが一番ワガママですね。

 
と、いうことで iTunes が iOS デバイスと同期できなくなったというのが一番大きな問題点なので、そこを Apple に何とかしてもらわないとお話にならないですね。一応、「iTunesの意見/感想を送る」から『カレンダー同期復活してくれー。』とは送っておきましたけどね。

CalDAV 経由ではなく、もっとスマートに同期できる方法があったら教えて頂きたいものです。

10月 172013
 

タイトルの通りですねf(^^;;。何故か知りませんが、いつの間にか iPhone5 と iTunes 経由の iCal でカレンダーの同期ができなくなってました。症状としては以下の通りです。

o. iPhone5 のカレンダーに登録した情報が Mac との同期で iCal に情報が書き込まれない。
o. iCal のカレンダー情報は iPhone5 に無事に書き込まれる。
o. iTunes との楽曲や iPhoto との写真などの情報は正しく同期できている。

と、いうことで iCal -> iPhone5 方向のカレンダーのイベント情報は同期できるのに iPhone5 -> iCal 方向のイベント同期がいつの間にか出来なくなっていた。と、いう状態です。これは結構痛い状態でせっかく iPhone5 に登録したカレンダーの情報が iCal に読み込まれない・・。

しょーがないので以前このブログにも登場した PocketLife Calendar アプリを利用し iPhone からカレンダーのイベントを抜き出してメールで送って ICS ファイルを Mac の iCal にインポートする。と、いうほぼ無謀とおも思われる作業を延々とやっていんですけども、いい加減イヤになって来て調べた。と、いう感じです。

なお、余談ですが、僕は PocketLife Calendar の利用頻度が随分と高いので、作者さんへの敬意を表して結局このアプリは 250yen (だったかな?) で購入してしまいました;-)。

で、やはり、そのような現象に陥る人というのはいるようで、Apple のサポートページに解決方法がありました。以下の URL です。

http://support.apple.com/kb/TS1627?viewlocale=ja_JP

OS X Mountain Lion では perl のスクリプトを実行すれば良いみたいですね。そのスクリプトは内部で use SyncServices とかちょっと怪しげな perl モジュールを利用しているようですが;-)。 perl が解る人はなんとなくこのスクリプトを眺めてみるのも面白いかもしれません。『data.version ってファイルを消すのかー。』みたいな;-)。

resetsync.pl というスクリプトを実行するときに list とかオプションを付けると同期するモノを表示してくれるようです。

 
さて。僕の場合ですが、ちょっと強引とも思える以下の手順で問題を解決しました;-)。

$ cd ~/Library/"Application Support"/SyncServices/
$ \rm -r Local.*
$ cd Local
$ mv conflicts _conflicts_
$

 

上記オペレーションは良い子はマネしない方が良いかもしれません;-)。また、上記オペレーションをしたことによって同期のためのデータが消えたり動作が怪しくなっても僕は責任を持ちませんのであらかじめご了承ください。

まず ~/Library/Application Support/SyncServices/ 内の古い(と思われる) Local.* ディレクトリを削除します。
そのあとで既存の Local ディレクトリ内にある conflicts というディレクトリを一時的に名前を変更しました。

あとは iPhone5 を USB で接続して OS X と同期してみる。って感じでしょうか。 2,3 回試してみたら新たに conflicts ディレクトリが作られました。そして iPhone5 で打ち込んだデータは OS X の iCal に読み込まれるようになったのでひとまず復活した。と、言っても良いのではないでしょうか。

/SyncServices/ 自体のディレクトリを mv するとどういう状態になるか確認してみるのも良いですね。状態が変化してけっこう焦ったりしますが、 mv しただけなのでもとに戻すこともできますしね。と、いうことでこのディレクトリは iPhone と Mac を同期する上で重要な役割を果たしている。と、いうことがそこはかとなく解って来ます;-)。

今まで、 iTunes 経由の写真や楽曲などの同期は問題なく出来ていたのですが、あるタイミングからカレンダーの情報だけ iPhone5 -> iCal 方向に同期できなくなっていたのですが、これで復活しました。

けど、良い子はくれぐれもマネはしないでくださいね;-)。上記の Apple サポートの URL を熟読してください。

8月 182013
 

ずいぶん前、それは多分 pgp2.6 辺りが流行っていたころだと記憶していた頃に聞いた話ですが、フランスでは民間人の暗号化された情報のやりとりは禁止されている。ってことらしいですが、それが本当の話か、はたまた全然間違いだったのか? というのは確認してないので定かではないのですが、そんな話を耳にしたことがあります。

最近の出来事としてはマルウェアだかトロイの木馬だかで情報がごっそり、特定のサーバに送られてしまう。なんて話も聞きますが、FreeBSD は安心さー。みたいな感じで。あぁ、確かに利用者数からしても Linux や Solaris よりは圧倒的に少ないとは思うのですけどね。それでも Mac OSX でも最近はちらほらと話は聞くので、 ID やパスワードを書いたテキストファイルをデスクトップに置いといてもちょっとアレですね。

と、いうことで、そーいう重要なファイルなどは暗号化して持っていることにしましょう。と、いうのが今回のエントリの趣旨です。

利用するのは openssl で暗号化形式は des3。 パスワードとか住所とか書かれているファイルを普段は暗号化して持っていましょう。って感じでちょっとスクリプトを書いてみました。

#!/bin/sh

PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin/:/usr/local/bin
export PATH

desfile=`echo "${HOME}/.data/Encryption_txt.des3"`
orgfile=`echo "${HOME}/.data/Encryption_txt"`
oldfile=`echo "${HOME}/.data/Encryption_txt~"`

case $1 in
'-d' )
    if [ -f $orgfile ]; then
	openssl des3 -salt -in $orgfile -out $desfile
	if [ -f $oldfile ]; then
	    /bin/rm -f $oldfile
	fi
	if [ -f $desfile ]; then
	    /bin/rm -f $orgfile
	fi
    else
        echo "$orgfile is not found.";echo ""
    fi

    ;;
'-u' )
    if [ -f $desfile ]; then
	openssl des3 -d -salt -in $desfile > $orgfile
    else
	echo "$desfile is not found.";echo ""
    fi
    ;;
* )
    echo "usage : Encryption.sh { -d(des) | -u(undess) }"
    ;;
esac

exit 1;

 
こんな感じでどうでしょうかねぇ?

色々人に見られたくない情報が書かれたファイルは ${HOME}/.data/Encryption_txt というヤツです。
上記のスクリプトを例えば Encryption.sh という名で保存してオプションに -d を指定すると openssl des3 で暗号化するためにパススレーズを二回入力します。

Encryption_txt と、いうファイルは ${HOME}/.data/Encryption_txt.des3 という名で保存されます。その時、 emacs で編集していれば ${HOME}/.data/Encryption_txt~ ファイルは削除します。

解凍するときは -u オプションを指定してパスフレーズを入れると解凍されます。

これで個人情報はそこそこ守れるかな?

あとは逆に、辞書攻撃しかけて des3 の強度と CPU パワーの確認。なんてのにも使えそうです;-)。

まぁ、気休めかもしれませんが、ベタなテキストファイルで持っているよりは『安心』と、いうことで。

もし、上記スクリプトを利用して大切な情報がどうか(ファイル自体が消えたり、あっという間に解読されたとかその他諸々)なっても僕は一切責任を持ちませんので自己責任でお願いします。

ちなみに動作的には FreeBSD と Mac OSX で確認しています。僕は Linux はデスクトップでは利用してないので;-)。

7月 132013
 

いやー。さすがは Microsoft。って感じがしますね。 WindowsPhone8 と MacOSX のデータ連係はどうするんだろう? とか思っていたんだけど、App Store に “Windows Phone” アプリってのがちゃんと存在していて、日本語対応もちゃんとしている。すげっ!!。

まずはキャプチャ。

WindowsPhone82Mac_1

USB 経由で Windows Phone8 を接続するとサクっと認識してくれて、マルチメディア系のデータは同期してくれます。写真は iPhoto がインターセプトして iTunes の楽曲や着信音まで同期してくれます。

個人的に悲しいのは iCal の連携とアドレス帳の連携をしてくれないことかな。

まず、順番に書くと、一番最初は着信音。
WindowsPhone8 の着信音データは一分以内で 1MB 以下で mp3 か WMA。って制約があります。iOS は 40 秒以内で m4r 、 Android は m4a。m4r とm4a は拡張子の文字列を変えるだけで良いんだけど、mp3 とか WMA なんてのは・・。あと、1MByte 以下のサイズってのもちと厳しいかも・・。

次にアドレスデータですが、これは Nokia 謹製の “Transfer my Data” ってアプリがあります。
iOS や Android 機器と Bluetooth で接続して、アドレスデータをごっそりと持ってきてくれます。ただし、技適マークがない機器は日本国内で Bluetooth 電波を飛ばすことができないのでご用心;-)。

何かしらの手段でごっそり持ってきたアドレスデータはそのまま people アプリの中に入ります。グループ分けとか無視されるので自分で再度グループ分けしましょう。それにしても people アプリの検索機能はなんであんなにダサいんだぁ?
しかし、アドレス帳に写真を組み込んでいる(vCard にテキストで写真データを保持しています)とタイルな画面を見ていると楽しいねぇ;-)。

次に iCal のデータですが、これはまだあまり検証はしてないのですが live.jp とかクラウド上のデータとしか同期できないっぽい。例えば vcs 形式のファイルとか ics 形式のファイルを SkyDrive 上に置いといたらダウンロードしたときにインポートしてくれるとか、そーいう機能があれば良いのにねぇ。

と、いうことで、そもそものタイトルの話しに戻りますが、Windows Phone8 と Mac OSX との連携はマルチメディア・写真に関してはサクっと動作します。 Nokia Lumia 620 が Lightning コネクタだったらラクチンなのに。とか思える瞬間です;-)。

Microsoft の Mac 部隊が作ったアプリなのかなぁ?中々良くできていると思われるアブリです。

9月 192012
 

以前のエントリで「MacBook 2006 バッテリが膨張。」というのを書きました。その後、ガムテープを貼って膨張部分を吸収しつつ利用していたのですが、その後一ヶ月でいよいよ、LED も点かなくなって OS からも認識しなくなってしまいました。あたたた。

しょーがないのでジーニアスバーに行って定価の六掛けで購入するかなぁ。と思い、その前に再度 amazon で探してみたら・・。あいやっ!! ずいぶんと安い互換バッテリがあるじゃないのさー。

でもってメーカはアメリカ製らしいです。アジアの怪しい互換品ではなく、一応、アメリカ製のようなので買ってみることにしまた。

購入したのは「Anker 5200mAhのApple A1181 A1185の交換バッテリー Li-ion 9セル Macbook 13″ シリスに対応ノートパソコンバッテリー」というちょっと長い名前の商品。Anker というメーカのバッテリのようです。

IMG_3206_MacBook_bat2_2.jpg

外箱と中身です。外箱及び中に入っていたドキュメントは英語が書かれていました;-)。

純正品ではアップルのマークがあるところに今回のメーカの名前が書かれています。

IMG_3207_MacBook_bat2_2.jpg

これを MacBook 2006 にはめてみてたらサクっとはまってロックもできて OS を起動したら無事に認識して 76% ほど充電されていました。文句なしで利用できます。パチパチパチ。

後はどれくらい持つかですね。MacBook 2006 は基本的にはバッテリー運用はしない予定なのでほぼ UPS のかわりに利用するみたいな状態です。なので、ちょっとは長く持ってくれると嬉しいなぁ。購入した時の金額は 3,399yenでした。なので純正品の六掛けの値段でも二本買えておつりが来るくらいなのでまぁ、それはそれで良いかー。と、いう感じです。

さてさて。アフリエイトを付けてみました。が、価格は 3,999yen になっていますね。あれぇ? 僕が買ったときは 3,399yen だったので、この安さは異常だなぁ。と思っていたのですが・・。と、いうことは値段を付け間違えていた。と、いうことかな? だとしたらなおさらラッキーだったんだなぁ;-)。

8月 172012
 

僕は、「最後の MacBook」を利用しているのですが、その前に購入した初代 Core2Duo 版 MacBook (通称 MacBook 2006) はちょっと人に貸していました。で、その人いわく、最近、キーボードの調子が悪いのよー。と、いうので「OSX Mountain Lion でもバージョンアップすっかー。」とか思い回収してきたのですが・・。

見てビックリっ!! バッテリがパンパンになっているんですね。でバッテリーが膨張してタッチパッドを圧迫してずっとボタンを押している状態になっていたわけなのでありました・・。orz。

一応写真撮ったのだけど、解るかなぁ?

IMG_3531_MacBook2006_1.jpg

Apple のサポートサイトで調べてみたら特にリコールは出ていないようでした。で、ウェブで調べてみたら「ジーニアスバーで無料で交換してもらった。」とか書かれていたので、すかさず、ダメモトで Apple Store Shibuya の ジーニアスバーを予約してバッテリ持っていきました。

結論から先に言うと無料交換はしてくれませんでした。まぁ、「ゴネり勝ち」とかあるのかもしれませんけど「金持ちケンカせず」って言葉もあるしね(あ。僕は決して金持ちではないです;-)。

無償交換しないのは「Apple の公式見解」だそうです。もうちっと早ければ多分無償交換してくれもしたんでしょうけどねぇ・・。なんせ 2006 製の MacBook なので・・f(^^;;。

で、ジーニアス曰く、「劣化すると多少は膨張します。そーいう設計です。で、バッテリの中にシリコンが入っているので破裂することはありません。」とのことでした。ふむー。で、更にジーニアスが言うには「交換でしたら 9,000yen ちょいの値段になります。」とのことでした。

その時は結構です。と言って帰ってきたのですが、帰ってきて調べ見るとMacBook 2006 のバッテリの定価は 15,800yen、アキヨドで 13,000yen程度、amazon で 12,000yen 程度。互換バッテリは 4,000yen 程度で購入可能でした。

互換バッテリのコメントを見てみると半年程度でダメになる。と書かれているものもあるのでジーニアスバーで購入するのが一番安くて安全なんではないかぁ。などと思えてきました。ジーニアスとバッテリについてお話して、そこでバッテリを購入すると多分定価の六掛けで購入できるのではないかと思われます。僕はまだ買ってないのでわかりませんけども・・。

で、現在は別の経路で相談中なんですけども、その間に利用している MacBook 2006 はこんな感じです。

IMG_3540_MacBook2006_2.jpg

バッテリ自体はまだへたってないのでピンピンしています。膨張したバッテリをロックするとタッチパットに支障をきたすのでロックはしないでガムテープで固定しました。接続するところさえはまっていれば電通はするので。

そしてそこに、ロックを外しているのでゲタを履かせました。本当に美しくない MacBook のできあがりですf(^^;;。しかし、持ち歩かない MacBook なのでしばらくはこれでよいかー。シリコンのおかげで爆発はしない。と、ジーニアスも言っていたしねぇ・・。

あ。最後にですが、初代 Core2Duo 版の MacBook 2006 は OS X Mountain Lion のインストールリストから外れました。メディアを突っ込むと「この Mac にはインストールできません。」と言われてしまいます。

と、いうことは Apple の OS サポートは次回新しい OS が出たところで切れてしまいます。新しい OS は二年後くらいに出て欲しいなぁ・・。

OS のサポートとバッテリの兼ね合いが問題だ・・。

4月 282012
 

以前のエントリで「MEDIAS LTE N-04D 使ってみました。」ってのを書いているのですが、この中で、スケジュールの連携ができない。と書きました。で、色々試行錯誤の結果なんとかできるようになったので今回はそれをまとめてみたいと思います。

「Mac と Android のスケジュールの連携?そんなん Google カレンダー使えば一発じゃん。」

とか言う人がいるかと思いますが、僕の場合、google に情報預けたくないんです。Apple の iCloud にでさえスケジュールはアップしてないんですから。大事な個人情報を広告収入のために利用されたくないっ!!

ってんで、そーなると敷居は一気に高くなるのであります;-)。

では、Mac の iCal アプリ上で管理しているスケジュール・カレンダーの情報について順に見ていきましょう。

1). スケジュールの管理は Mac の iCal を利用しています。
2). iCal で管理したデータは iTunes により iPhone4 に一ヶ月分同期されます。
3). iPhone4 (それはつまり iOS デバイスってことで iPhone4s や iPhone3Gs とかも含まれます) 上ではスケジュールの閲覧と新規の登録・編集・削除などが行えます。

これを google カレンダーを利用せずに Android でも対応しようとするとほぼ無理。考えられる手段を色々試行錯誤したのですが、ボトルネックは以下の通り。

o. iCal からカレンダーを 書き出すと ics 形式になるのでそれを Android に持って行ってインポート。
o. そのカレンダー全ての情報が書き出されてしまう。必要なのは近々の30日分で良いのに・・。
o. ics 形式やら vcs 形式やら文字・改行コードやらの操作が大変・・。

で、やりたいこととしては

1). 近々の 30 日分のデータだけを Android に持って行けると嬉しいなぁ。
2). 更新は Mac および iPhone4 でできるので Android 側では参照のみでいーなー。MySQL のスレーブサーバみたいなもんだ;-)。
3). スクリプトなどを用意したりファイルを編集せずに比較的容易に Android にカレンダー情報を転送できれば嬉しいなぁ。

と、まぁ、こんな感じがベストなので、それでできる手段はないか、 MEDIAS LET N-04D を購入してから約二ヶ月の間ずっと考えていたんですけどもね。

で、その方法がなんとか見つかりました。Android へのカレンダデータの移行も比較的容易にできます。では見ていくことにしましょう。

1. Mac と iPhone4 は iTunes で sync。
まぁ、これは当たり前ですね。 Mac 上の iCal でスケジュールを管理している人であれば、その情報は iPhone4 に入れて持ち歩きたい。で、iPhone4 で更新した情報は 次回の sync 時に iCal に反映されます。すばらしい連携;-)。

2. iPhone アプリのインストール
僕は今まで iPhone4 でスケジュールを見るときは標準アプリで見ていたのですが、探してみると色々あるんですねぇ。で、今回新たにダウンロードしたスケジュールアプリは PocketLife Calendar というアプリ。

ical2android_1.jpg

基本的にはカレンダーの標準アプリからデータを持ってきてそれを表示する。って感じです。が、このアプリのすごいところはそのカレンダーデータを、期間を指定して ics を出力してくれ、なおかつその ics ファイルがメールで送信できる点です。

キャプチャで見てみると、PocketLife Calendar を起動するとカレンダーアプリから情報を取り込んで表示します。そのあと[設定]ボタンを押します。

ical2android_2.jpg

おぉ。「カレンダーを共有/プリント」のメニューがありますね。それをタップします。すると、カレンダーの選択と共有もしくはプリントするための期間の選択の画面が表示されますっ!!

ical2android_3.jpg

この機能が欲しかったんですよー。 Mac の iCal が出力した ics ファイルをエディタで編集して任意の期間を抽出するための作業を行う。なんてことはちょっとあり得ない。自分でやっていても長続きしないと思うし。このアプリはそれを GUI でやってくれます。まぁ、そもそも iTunes から iPhone4 に転送する段階である程度期間は絞れているんですけどもね。 iPhone4 に転送したデータ全てを期間として設定すると問題無いですね。と、いうか、この作業をどうするかがある意味最大のボトルネックだったんですけども解決です。すばらしー;-)。

で、期間が決まったら後は抽出された ics ファイルをメールで送るだけ。以上で iPhone4 側、もしくは Mac 側の作業は完了です。

3. Android アプリのインストール
iPhone4 からメールで送信された ics ファイルは Android のメールアプリで閲覧します(僕は IMAP を利用している)。で、メールに添付の ics ファイルを /mnt/sdcard/ 辺りに保存します。

ical2android_4.jpg

おぉ。これで任意の期間に絞られたカレンダーデータが Android 端末に取り込まれたことになりますね。いーぞいーぞぉ;-)。

さてさて。ここからは docomo の Android の機能なのかもしれませんが、 MEDIAS LTE N-04D には多分 google 謹製の カレンダーアプリ と、多分 docomo 謹製の スケジュールアプリ がありますが今回利用するのはスケジュールアプリのほうです。

Android 内部に保存された ics ファイルをマージします。docomo 謹製の スケジュールアプリ は .vcs ファイルに対応はしているのですが .ics ファイルには対応していません。すると Google play でその機能を持っているアプリを探す必要があります。で、色々ダウンロードして動作確認も含めてテストしたのですが、ありましたっ!! iCal Import/Export というアプリケーションです。

この iCal Import/Export を起動すると味気ないメニューが出て来ます(失礼っ!!;-)が 「Search for iCal files」をタップします。すると、届いたメールから保存した添付ファイルを見つけてくるんですなぁ。

ical2android_5.jpg

後はメニューに従って [OK] をタップしていけばスケジュールアプリにスケジュールデータをインポートしてくれます。

僕はスケジュールデータを転送することに一生懸命になっていて、スケジュールアプリの使い方はいまいちまた解っていませんが、スケジュールアプリには「全件削除」とかすばらしいメニューがあるのでインポート前にいったん全部削除してから新たにインポートするとかできます。

まぁ、その前に iCal Import/Export でインポート時に「重複したのはどうする?」と、英語で確認されるのでそれに任せる。と、いうことも可能ですけどね。

さてさて。Mac で管理しているカレンダー、iCal と iPhone4 は双方向レプリケーション。 iPhone4 とAndroid はバッチ的な一方向レプリケーションによって、これでデータの共有ができるようになりました。この手順でもまだうっとうしいとは思うところもあるのですが、ここれが多分、限界かなぁ。と思えなくもないです。が、自分の Mac で管理しているカレンダーデータが google を経由せずに Android に転送できるようになったことは大きいと思います。

この組み合わせで、皆さんも是非試してみてください;-)。