3月 162015
 

さくらインターネットが「さくらのレンタルサーバ」を契約している人を対象として iPhone・Android アプリである「さくらぼけっと」を提供し始めました。

プレスリリースはこちら

「さくらの VPS」ではなく「さくらのレンタルサーバ」であるところがミソか;-)。ちなみに僕はもう随分と長いこと「さくらのレンタルサーバ」を契約しているので今回の「さくらぼけっと」が利用可能な人です。
「さくらのレンタルサーバ」は 100GByte の HDD 容量が利用できますが、ウェブコンテンツと各種ログやメールなどでも 100GByte というのは到底使い切れる容量ではないのですねぇ。
今回のアプリはそんな状況においては渡りに船。と、いうことで早速 iOS 版と Android 版をダウンロードして実際に利用してみました。

IMG_1058_sakura_pocket_1

今回はコテコテの FreeBSD ユーザ的な「さくらぼけっと」の使い方についてそこはかとなく書いてみます。

 
1). スマートフォン用アプリの利用
iOS 版も Android 版もログイン用ドメインとパスワードを利用することにより利用可能な状態となります。
写真のアップロードとダウンロードなど、スマートフォンユーザの利用形態としては特に問題は無く、フツーに動作すると思います。

ただ、気になるのが一点。Wi-Fi ではログインできるんだけど、携帯電波ではログインできないことがありました。 どうしてログインできないのか表示してくれないのが悲しいところか。もしかしたらコンテンツの .htaccess の “deny from all” の行でも見ているのか? とか思えるんだけどどうなんだろう?

 
2). ssh して ls してみたらっ。ん!?
スマートフォンでしかアクセスしないのであれば全然問題ないんだけど、そもそも「さくらのレンタルサーバ」は ssh が利用できるし scp も利用できる。普段から FreeBSD を利用している人は scp で Microsoft Office Word の文書をサーバ上にアップして さくらぼけっと アプリ経由でアクセスし、その後 Word で開いたらいんじゃね? とか、パっと思うので、勢いそのままに実際に試してみました。

あいや・・。 orz

日本語は文字化けして全然ダメじゃん。状態。どーして文字化けが起きるのだっ!! 早速調査開始です。

あ。さくらぼけっと アプリは ~/sakura_pocket/ に対してアクセスしますね。この中で色々やるのが良いかと思われます。

 
3). アプリの文字コードと端末の文字コード
「さくらのレンタルサーバ」では僕は ssh したときには tcsh を利用していて文字コードは UTF-8 を利用しています。以下は ~/.tcshrc の抜粋です。手元で利用している FreeBSD でも同じ設定をしているので、僕の環境は全ての OS においては既に UTF-8 になっています。

# SETENV Japanese
setenv LC_TIME C
setenv LANG     ja_JP.UTF-8
setenv LC_CTYPE ja_JP.UTF-8

 
通常、この状態で日本語名がついたファイルを scp すると、無事に保存できて「さくらのレンタルサーバ」上で ls するとちゃんと表示できます。
あ、利用している端末(ターミナルソフト)は xfce4-terminal だったり konsole だったり OSX の iTerm だったりしますが、全て UTF-8 です。

しかし、さくらぽけっと アプリからアクセスすると文字化けするし、さくらぽけっと アプリで作成した日本語ディレクトリは ssh で ls すると文字化けしていて ???? となる。どうやらファイル名の日本語文字コードが合ってないようですねぇ。と、いうことで色々調べ出しました。

 
4). 文字コードの確認
まず、判りやすいこととして さくらぽけっと アプリからアクセスして “あ” というディレクトリを作成します。そして、そのときの状況を ssh して調べてみます。

$ ls -1
??/

 
ふむ。見事に文字化だ。ちなみに ssh で “い” というディレクトリを作って確認してみると以下のようになります。

$ mkdir い
$ ls -1
??/
い/

 
ふむー。困った。それにしても さくらぽけっと アプリが吐き出す文字コードは一体何なのだ? と、いうことで hexdump というコマンドで調べてみます。

$ ls -1 | hexdump -C
00000000  a4 a2 2f 0a e3 81 84 2f  0a                       |../..../.|
00000009

 
ふむ。 a4a22f0a とかいう文字コードが並んでいますね。

文字コードをちょっと確認してみると・・。

文字 UTF-8 UTF-16 S-JIS EUC-JP JIS
E38182 3042 82A0 A4A2 2422
E38184 3044 82A2 A4A4 2424

 
ふむー。これを見ると、 さくらぽけっと アプリが吐き出す文字コードは EUC-JP のようです。これまた随分と前時代的な文字コードを利用しているようですねぇ・・。
ls -1 | nkf -w8 するとちゃんと表示してくれるので何かしらの文字コードなのは解るんだけど、しかし「文字コードは何を利用しているの?」状態に陥るのであります。

と、いうことでどうやら EUC-JP を利用しているらしい。と、いうことが解りました。

 
5). アプリから見えるようにする。
と、いうことで話はそろそろ佳境です。普段から UTF-8 で生活している人が持っている日本語ファイル名を持つファイルの文字コードは UTF-8 になります。 UTF-8 でも BOM あり/なしなど話がややこしくなるのですが、話によると、ふつー、アプリなどで利用する文字コードは UTF-8-BOM らしいのですけどね。でもって FreeBSD で LANG=ja_JP.UTF-8 を設定していると UTF-8 BOM 無し になります。

しかしまぁ EUC-JP とわかれば、あとはなんとかなるでしょう。

まずは convmv というのをインストールします。 ports 的には converters/convmv になります。これを手元の FreeBSD で make install します。インストールされた convmv コマンドはライブラリは特にリンクされていないようなので、アーキテクチャが合えばそのまま「さくらのレンタルサーバ」に scp して利用可能です。僕は FreeBSD/amd64 10.1-RELEASE 上で make したものを「さくらのレンタルサーバ」に持って行ったら無事に動作しました。
ASP キャリアと同じ OS を利用しているとこーいうことができるので嬉しいですね;-)。

ちなみに「さくらのレンタルサーバ」には nkf はありますが convmv はありませんでした。 nkf だと以下のコマンドでファイル名の文字コードを変えてくれるみたいなんだけど、今回はうまく動きませんでした。

$ nkf --overwrite --oc=EUC-JP い

 
と、いうことで convmv を実際に利用してみます。「さくらのレンタルサーバ」に ssh でログインしてディレクトリを一個作ります。その作ったディレクトリは さくらぽけっと アプリでは文字化けしてディレクトリとして認識されています。

$ mkdir  い
$ ls -1
??/
い/
$ convmv -r -f utf-8 -t euc-jp い --notest
mv "./い"      "./??"
Ready!
$ ls -1
??/
??/

 
ファイル名の文字コードが UTF-8 のモノを作成し、それを EUC-JP に変換します。ターミナルの表示的には文字化けしてますが さくらぽけっと アプリから参照すると無事に見えるようになると思います。

と、いうことでスクリプトを書いてみました。

#!/bin/sh

export LC_CTYPE=ja_JP.UTF-8
export LANG=ja_JP.UTF-8

case $1 in
'-s' )
    convmv -f euc-jp -t utf8 * --notest
    ;;
'-p' )
    convmv -t euc-jp -f utf8 * --notest
    ;;
* )
    echo "usage : encChange.sh {-s|-p}"
    echo "           -s : ssh mode"
    echo "           -p : Pocket mode"
    ;;
esac

 
-s オプションは ssh モード。ssh でログインしたときにファイルを操作したい場合に -s オプションを付けて UTF-8 なファイル名にします。
-p は さくらぽけっと モード。 ssh での作業が完了したあと、さくらぽけっと アプリからアクセスするときに文字コードを変換します。
あ。僕は convmv は ~/bin/ に置いて PATH を張っています;-)。

 
ふぅ。今回やりたかったのはまさしくこれで、 FreeBSD からファイルを scp で送って、それを iPhone6 や Android アプリで閲覧することができるようになりました。
これでアプリと既存の UNIX 環境を上手に使い分けて作業を行うとシームレスにファイルが共有できて作業が捗りそうです;-)。

 
それにしてもクラウドなストレージサービスというのは OneDrive Dropbox BOX など有りますが、ファイルが貯蔵されているクラウド側をプロンプトから ls で見ることができるサービスというのは、今のところ「さくらぽけっと」のみ。と、いうことになります。さくらインターネットに拍手を送りましょう;-)。

と、いうことで「さくらのレンタルサーバ」を利用している人は是非とも さくらぽけっと アプリを使ってみてくだい。 100GByte のクラウドストレージが利用できることになります;-)。