虎之助の徒然記

Raspberry Pi3でサーバを構築する (1) ハードディスクの設置

 今回からは、Raspberry Pi3を用いたファイルサーバの構築についてまとめようと思います。初代ラズパイでは、nfsサーバ、sambaサーバ、DLNAサーバを立ち上げていたので、まずは、この3つのサービスを実現したいと思います。

 今回の記事では、ハードディスクの設置についてまとめます。

1. ハードディスクの用意

 2.5インチの2TBハードディスクを4台使って、RAID1ディスクを2つ作ります。1つ目のRAIDディスクがマスター、2つ目がそのバックアップ用のRAIDディスク。豪華です(笑)。全部で8TBのハードディスクがありますが、RAID1とそのバックアップに使うので、実質的には、2TBの容量です。ハードディスクは故障するものなので、贅沢構成にしています。初代ラズパイのサーバも合流する予定なので、そのときは初代ラズパイ側をバックアップ用にするつもりです。 

1.1 内蔵HDD

 内蔵ハードディスクよりも外付けのポータブルHDDの方が安いという逆転現象がよく起こりますが、昔買ったものが余っていたので、内蔵ハードディスクを利用しました。また、ディスク障害が起こったときに、ディスクケースであれば、中身だけの交換、SATA/USBインタフェースに変更がないので、トラブルも少ないように思います。

 ディスクは、価格コム最安値圏のSeagate(Samsung)の内蔵ハードディスクST2000LM003を使いました(12,9400円@amazon,2016/6/4)。

 頑張れ日本ということで、同じく最安値圏の東芝の2TB HDD(MQ01ABB200)を使ったこともあるのですが、すぐに壊れてしまったので、それ以降使っていません。それに15㎜厚なので、ハードディスクケースもなかなか適合するものがないかも。

1.2 ハードディスクケース

  ラズパイのUSBは2.0なので、USB3.0を使う必要はありませんが、今回は、玄人志向の昔買ったGW2.5BM-SU3/BK(2163円,USB3.0)と、新規購入したGW2.5SC-SU2(731円,USB2.0)を使いました。本体側のUSBケーブルが2本に分岐している補助電源が必要なタイプです。USB2.0のハードディスクケースの方は、延長ケーブルが2本差しになっているだけなので、1本でも動作するのではないかと思います。ハードディスクケースは、相性があるようなので、動作実績があるものを選んだ方がよいでしょう、というかハマった*1

2. バスパワー接続の検討

 ラズパイには4つのUSBポートがあります。できれば、セルフパワーのUSBハブなどを繋げてケーブルを増やしたくはない。初代ラズパイでは、USBポートから電源を取ると、不安定になるので、USBハブは必須でしたが、ラズパイ3では大丈夫だろうか。普通に考えて、HDDを4つも繋げるのは、無謀でシステムの不安定化につながりそうだけど、ちょっとチャレンジしてみました。

2.1 消費電力の計測

 まずは、ラズパイ本体の消費電力を計測しました。消費電力の計測には、ルートアールの電圧・電流チェッカーRT-USBVATMを用いました。測定範囲は、0~3.3Aまでなので、今回使った電源アダプタの電力量(5.2V*2.4A)は、計測範囲内です。

 ラズパイ単独の消費電力は、Logicoolの無線キーボードが付いた状態で、以下のようなものでした。

  • 起動時: (5V程度) / 0.28-0.47A
  • 何もしていない状態: 4.92V / 0.32A
  • YouTube再生時(CPU50%): 4.85V / 0.45A
  • 行列計算によりCPU負荷100%: 4.72V / 0.72A
  • 何もしていない状態で、USB3.0のHDD(GW25BM-SU3)を接続: 4.63V / 0.55A

 負荷を増やすと、電圧が5Vから4.7Vと低下していきます。なんか雲行きが怪しい。 それに、HDDを接続すると、マシンが不安定になってしまいました。ますます怪しい。

f:id:toranosuke_blog:20160604083129j:plain:w250
USB電流チェッカーでの計測値は5.04V*0.30A(Logicoolドングル無し)。

大きい方は、ワットチェッカー*2。USBでは5V*0.3A=1.5Wであったが、ACアダプターを込みにしたワットチェッカーの計測値では3Wとなっている。

2.2 USB最大電流の設定変更

 いろいろ調べると、ラズパイのUSBは最大電流0.6Aに制限されているそうです。この制限を1.2Aにしてポータブルハードディスクを接続するようなので、試してみました。最大電流1.2Aに変更するには、/boot/config.txtに以下の一行を追加します。但し、1.2Aは各ポートの最大電流ではなく、全体での値。

max_usb_current=1

safe_mode_gpio=4も併せて書く例がよくでていますが、safe_mode_gpio=4とmax_usb_current=1は同じで、片方だけ書いておけばよいとのこと*3。最大電流を1.2Aにしても、やはり動作せず。

 USB2.0のポータブルHDDでは、USB2.0規格の5V-0.5A以下で動くように作られているはずなので、USB2.0のGW2.5SC-SU2やUSB2.0ケーブルが1本だけのHDDケース(CenturyシンプルBOX2.5SATA)を接続しましたが、これも駄目でした。

 バスパワーはやはり無理ということで諦め、セルフパワーのハブ経由で接続することにしました。もともと4台は無理だろうと思いましたが、1台も動かないのは寂しいです。何がいけないのだろうか。

(追記:2016/6/5) SL2000LM003のカタログ*4を見ると、"spin-up current(max): 1000mA"とありました。SATA/USBのインタフェース部分の消費電力は不明ですが、Logicoolのドングル付きではトータルで1.2Aは超えそうです。必要な電流量が多くて、ディスクのスピンアップができないということが原因でしょかね。確かにディスクは回転していません。

3. ハードディスクの設置

 バスパワーでは駄目だったので、セルフパワーのハブを用いてハードディスク4台を接続しました。

3.1 セルフパワーのUSBハブ

 使ったUSBハブは、Bufalloの7ポートのUSBハブ。4台のHDDがそれぞれUSBコネクタを2本持っているので、本当は8ポート必要なのですが、1台だけは、USBケーブル1本だけで接続しています。4台接続でUSBハブのACアダプターのワット数を計測すると、10Wの消費電力でした。ラズパイへの4台接続はどう考えても無理ですね。

(追記)
 Bufflaoの7ポートハブでは、4台のHDDを繋げると不安定だったので、7ポートハブを2台使って配線し直しました(次の記事(RAID1ディスクの構築))。もう少し容量の大きいハブを使えば、1つでも安定して動作したかもしれません。

3.2 ラックへの設置

 100円ショップで買ってきたラックに設置・配線しました。写真で示すように背面はケーブルだらけのスパゲッティ状態、悲惨です。ケーブル長をちょうどのものに合わせて結束すればいいのですけど、そこまでするのは面倒です。仮置きの状態ですが、ハードディスクは縦置きにしました。3.5インチHDDを隙間なしに積み上げて、熱でやられてしまった経験があるので、どうも横置きには抵抗があります。それでも、横置きで積み上げると固定が楽なので、変更するかもしれません。

 下段のミニパソコン用に設置した自作のファンの空気流がHDDにも流れるようになっているので、現状の設置では熱問題は発生しないと思います。

f:id:toranosuke_blog:20160604093429j:plain:w600
ラックに設置したラズパイと4台のハードディスク。
下段に置いてある白いマシンは、中華製の4K出力可能なWindowsパソコンVOYO V3*5
(Cherry Trail X7-Z8700, 4GB-RAM, 128GB-SSD)


f:id:toranosuke_blog:20160604092327j:plain:w600
裏は、ケーブルだらけ。

4. おわりに

 今回の記事では、ハードディスクの設置までを書きました。次回は、RAID1ディスクの設定についてまとめる予定です。

2016/6/4

次の記事

関連記事

*1:価格コム売れ筋の玄人志向GW2.5CR-U3(886円,USB3.0)を新規に4台購入しましたが、動作せず。私の持っている外付けHDDケースでは、これだけが動作しませんでした(涙)。

*2:

*3:https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=105502

*4:http://www.seagate.com/www-content/support-content/samsung/internal-products/spinpoint-m-series/en-us/samsung-m9t-internal-ds.pdf

*5:


emacs-w3mでmarkdown原稿をプレビューする

 今回は、emacs-w3mを使ってmarkdown形式の原稿をemacs内でプレビューする方法を紹介します。

 以前の記事 で、markdown-mode.elを用いてMarkdown形式の文章をemacsで書く 方法について説明しましたが、その続編です。markdown-mode.elでのプレビュー では外部のブラウザ(firefox)を必要としてましたが、今回はブラウザとして emacs-w3mを用いることで、emacs内でプレビューできるようにします。

1. emacs-w3mのインストール

 動作確認は、いま記事を書いているraspberry pi(raspbian)で行いましたが、 ubuntuでも同様に動作すると思います。

$ apt-cache search markdown-mode
emacs-goodies-el - Miscellaneous add-ons for Emacs
$ apt-cache show emacs-goodies-el | grep markdown-mode
markdown-mode - major mode for editing Markdown files;
$ sudo apt-get install markdown emacs-goodies-el
$ apt-cache search emacs-w3m
w3m-el - simple Emacs interface of w3m
w3m-el-snapshot - simple Emacs interface of w3m (development version)
$ sudo apt-get install w3m-el

2. .emacsの編集

 .emacsに以下の行を追加します。コメントアウトしている部分は必須ではありませんので、お好みで。

(require 'markdown-mode)
;;(add-to-list 'auto-mode-alist '("\\.md\\'" . markdown-mode))
;;(define-key markdown-mode-map (kbd "\C-c \C-c \C-e") 'markdown-export)
(require 'w3m)
(define-key markdown-mode-map (kbd "\C-c \C-c \C-v")
  (lambda ()
    (interactive)
    (setq html-file-name (concat (file-name-sans-extension (buffer-file-name)) ".html"))
    (markdown-export html-file-name)
    (if (one-window-p) (split-window))
    (other-window 1)
    (w3m-find-file html-file-name)))

3. 使い方

  • プレビュー: "C-c C-c C-v" で編集中のmarkdown原稿(例えば、foo.md)をhtml(foo.html)に変換 し、markdown原稿とプレビュー(foo.html)を2分割で表示します。このとき、フォーカスは、w3m側に移ります。

    このコマンドでは、1画面しか なければ、新たに画面を分割します。但し、画面が縦長・横長に拘わらず上下分割してし まいます。左右分割したい場合には、"C-x 3"や"C-x C-b"など適当なコマンド を打って、予め左右に分割しておくと、左右プレビューができます。

  • リロード:原稿を編集した場合には、markdown-exportを実行して、htmlファ イル(foo.html)を更新し、w3m画面の"r"キーでリロードします。

    markdown-exportは、デフォールトでは、"\C-c \C-c e"にアサインされてい ますが、"C-c C-c C-v"でも実行するので、どちらを使っても構いません。

    (追記:2016/5/23) (split-window-right)と変更すれば左右分割、(w3m-reload-this-page)を追加すれば自動リロード、最後にもう一度(other-window 1)の追加でフォーカスをmarkdown側に戻すことができました。これで、"C-c C-c C-v"のキー操作だけで、原稿のプレビューができます。記事の最後に更新版の.emacsを記載します。

f:id:toranosuke_blog:20160604010144p:plain
左がMarkdown原稿、右がプレビュー。(TeraTermでラズパイにアクセス)

4. おわりに

 これで、記事の執筆中にホームポジションから手を離す必要がなくなりました。原稿とプレビューがほぼ横に並ぶでの、見やすいです。画面もfirefoxより綺麗かな。

(2016/5/22)

参考文献

関連記事

(追記:2016/5/23) ubuntu15.10でも動作確認できました。
(追記:2016/5/23) 左右分割指定、w3mのリロードを追加した.emacsの記述は以下の通り。
(追記:2016/5/28) 更新時のカーソル位置が文頭ではなく、現在の位置になるように修正。w3mモードでのbuffer-file-nameはnil、markdownモードなどではファイル名(foo.md)が設定されることを利用して、新規ロードとリロードの条件分岐をしています。このコードでは、other-windowのbuffer-file-nameがnil(例えば、"Bullfer List")だと、リロードできずにエラーします(Can't reload this page)。どうすればよいのでしょうね?
(追記:2016/5/29) get-bufferを利用しました。"*w3m*"バッファがあればリロードし、無ければ新たにファイルを読み込みます。

(require 'markdown-mode)
;;(add-to-list 'auto-mode-alist '("\\.md\\'" . markdown-mode))
;;(define-key markdown-mode-map (kbd "\C-c \C-c \C-e") 'markdown-export)
(require 'w3m)
(define-key markdown-mode-map (kbd "\C-c \C-c \C-v")
  (lambda ()
    (interactive)
    (setq html-file-name (concat (file-name-sans-extension (buffer-file-name)) ".html"))
    (markdown-export html-file-name)
    (if (one-window-p) (split-window-right))
    (other-window 1)

    ;; (2016/05/23)
    ;; (w3m-find-file html-file-name)

    ;; (2016/05/28)
    ;; (if (buffer-file-name) (w3m-find-file html-file-name) (w3m-reload-this-page))

    ;; (2016/05/29)
    (if (get-buffer "*w3m*")
        (prog2 (switch-to-buffer "*w3m*") (w3m-reload-this-page)) (w3m-find-file html-file-name))

    (other-window 1)))

自炊して本棚を捨てる (2) ソフトウェア編

 前回は、自炊のために用意した機器について説明しましたが、今回は、利用したソフトウェアを中心にまとめました。

 自炊本を読めるようになるまでの電子書籍化のステップは、以下の通り。

  1. Windows10上で本を高画質スキャンする。
  2. Ubuntu上で、高画質スキャンしたデータを高圧縮率で再圧縮する。
  3. 読書用に画像を1つのファイルにアーカイブする。
  4. MicroSDに保存して、タブレットで自炊本を読む。

以下では、スキャナソフトや再圧縮の方法について説明します。

1. スキャン用ソフトウェア: CapturePerfect (on Windows10)

 スキャナには、CaptureOnTouchとCapturePerfectというソフトが付属していました。CaptureOnTouchは、GoogleドライブやDropboxなどにも保存でき便利そうですが、CapturePerfectの方がスキャン条件の設定が詳細にできるので、CapturePerfectを使いました。

1.1 設定画面

 CapturePerfectは、以下の設定画面からいろいろ設定できるようになっています。

f:id:toranosuke_blog:20160520003737p:plain:w400
CapturePerfectの設定画面。
「スキャン(S)」→「スキャナの設定(S)...」から設定変更できます。

1.2 設定パラメータ

 ほとんどはデフォールトの設定のままで使っていますが、デフォールト値から変更したパラメータは、以下の項目です。

[基本]

  • カラーモード(M):「256階調グレー」「24ビットカラー」「自動で検知する」を適宜利用
  • 解像度(R): 300dpi。当初600dpiの利用でしたが、あまりにも遅いので300dpiに変更。
  • 読み取り面(S): 「両面」「片面」「白紙をスキップする」を適宜利用
  • 傾きを自動で補正する(L): 「搬送時の原稿の傾きを補正する(F)」。「画像 の傾きを補正する(C)」は挿絵などでときどき誤検知して、へんてこな補正 がかかってしまいます。

[画像処理]

  • 背景スムージング(A): 有効
  • 裏写り/地色除去(C): 除去レベルは4。黄ばんだ原稿ではときどき5に変更。
  • 影消し(S): 有効

[その他]

  • JPEG保存時の圧縮率(C): 85 (75でも十分高画質ですが念の為)。普段使い用のファイルは再圧縮します。

この設定では、黄ばんだ原稿の地色が除去できなかったり、フォント幅が細くなりすぎたりします。綺麗にスキャンするのであれば、原稿毎に調整した方がよいと思いますが、面倒なので、やっていません。

2. 画像の再圧縮とアーカイブ (on Ubuntu)

 画像の再圧縮とzipファイルへのアーカイブは、Linux(Ubuntu)で行いました。

2.1 VirtualBoxを用いたUbuntu環境

 画像の再圧縮・アーカイブは、ubuntu15.10で行いました。ubuntuは、Windows10上の仮想PCで、仮想化にはVirtualBoxを使いました。VirtualBoxでWindows側との共有フォルダの設定をしておくことで、Windows側のファイルをubuntu側で取り扱うことができます。

f:id:toranosuke_blog:20160520010700p:plain:w400
VirtualBoxの共有フォルダの設定。

上の例では、Windows側のC:\Users\toshi\homeを/media/sf_win10にマウントします。 /media/sf_win10/は、owner:root、group:vboxsfなので、/etc/groupを編集して、ユーザにアクセス権を設定します(*1)。

drwxrwx--- 1 root vboxsf 4096 5月 19 21:20 sf_win10

(*1) /media/sf_win10のファイル属性は変更できない仕様のようです。

2.2 インストールするパッケージ

 ubuntu上で用いるコマンドは、convert, zip, csh です。必要であれば、以下のパッケージをインストールします。

$ sudo apt-get install imagemagick zip tcsh

imagemagickはconvertコマンドが入っているパッケージです。

2.3 画像の再圧縮: convert

 JPEGの設定が高画質(Q=85)で設定しているとファイルサイズが大きいので、convertコマンドを用いて高圧縮率で再圧縮します。

$ convert foo_org.jpg -quality 20 foo_q20.jpg

 例えば、以下の文字中心の画像(Q=85)をQ=5,8,10,15,20,30,50で再圧縮すると、画質やデータサイズは、以下のように変わります。拡大すると画質の劣化はわかりますが、1920x1200画素の7インチ端末(MediaPad X1)では、Q=20ぐらいまではほとんど劣化は分かりません。再圧縮では、画質の劣化とデータサイズを考慮してQ=20に設定しました。

f:id:toranosuke_blog:20160520012947j:plain:w300
文字中心の画像(Q=85)

f:id:toranosuke_blog:20160520014414p:plain:w150 f:id:toranosuke_blog:20160520014423p:plain:w150 f:id:toranosuke_blog:20160520014436p:plain:w150 f:id:toranosuke_blog:20160520014444p:plain:w150
q=85 (306KB) q=50 (174KB) q=30 (133KB) q=20 (105KB)
f:id:toranosuke_blog:20160520014450p:plain:w150 f:id:toranosuke_blog:20160520014457p:plain:w150 f:id:toranosuke_blog:20160520014502p:plain:w150 f:id:toranosuke_blog:20160520014509p:plain:w150
q=15 (91KB) q=10 (73KB) q=8 (64KB) q=5 (48KB)
圧縮率を変更した場合の画質の変化。
f:id:toranosuke_blog:20160520015803p:plain:w150
600dpi、Q=100でスキャンした画像(1,848KB)

2.3 アーカイバ: zip

 次にページ毎のファイルを1つのファイルにアーカイブします。

 自炊のためのファイル形式としては、pdf形式とzip形式が候補となります。どちらの形式でもスマホ•タブレットの優れたビュアーがありますが、pdfは一旦変換してしまうと、その後にページ単位に取り扱いたい場合に面倒になるので、zip形式で保存することにしました。

 zipコマンドは、次のように使います。

$ zip book.zip page_001.jpg page_002.jpg page_003.jpg

 page_001.jpg, page_002.jpg, page_003.jpg は、ページ単位の画像のファイル名です。大量のファイルがあるので、実際には、アスタリスク(*)を用いて、次のように利用します。

$ zip book.zip page_*.jpg

2.4 画像圧縮とアーカイブのためのシェルスクリプト

 次のような自作のcshスクリプト(page2book.csh)を使って、一連の処理を実行しています。まず、本のスキャンされたページ単位のJPEGファイル(page_001.jpg,page_002.jpg)は、1つのディレクトリ(book1)の下に保存します。ディレクトリ名やページのファイル名は任意で構いません。但し、ページのファイル名は、"ls page_*.jpg"で順番に並ぶように命名する必要があります。

 使い方は、例えば2冊の本をアーカイブするのであれば、次のように実行します。

$ page2book.csh book1/ book2/

結果は、オリジナルの高画質ファイルは、ディレクトリorg/以下に、book1_org.zip, book2_org.zipで保存され、圧縮されたファイルは、ディレクトリq20/以下に、book1_q20.zip, book2_q20.zipとなります。オリジナルの*_org.zipファイルにオリジナルデータは保存されているので、book1/, book2/以下のデータは削除して構いません。

#!/bin/csh
# usage: pages2book.csh book1/ [ book2/ book3/ ... ]
#   book1's pages (e.g. page_001.jpg,page_002.jpg...) should be saved in a directory "book1/".
#   do the same with book2, book3, ..
#
# process:
#  - book1's original pages are moved to book1/org/, and zip to ./org/book1_org.zip
#  - book1's compress pages are saved to book1/q20/, and zip to ./q20/book1_q20.zip

set q = 20
set cdir = `pwd`

# make output directories
if !( -e $cdir/org/ ) mkdir -p $cdir/org/
if !( -e $cdir/q20/ ) mkdir -p $cdir/q{$q}/

foreach x ( $* )

  set bname = `basename $x`

  if !( -e $x/org/ ) mkdir -p $x/org/
  if !( -e $x/q{$q}/ ) mkdir -p $x/q{$q}/

  #---------------------------------
  pushd $x/org/

  # move original scan pages to "org/"
  mv -i ../*.jpg .

  # archive pages by zip
  zip ../{$bname}_org.zip *.jpg

  #---------------------------------
  cd ../q{$q}/

  #  re-compress scanned pages by quality=20 for example
  foreach y ( ../org/*.jpg )
    set a = $y:r
    set b = $a:t
    echo "convert $y -quality $q $b.jpg"
    convert $y -quality $q $b.jpg
  end

  zip ../${bname}_q{$q}.zip *.jpg

  # show files
  cd ../
  
  ls -al *.zip

  mv -i ${bname}_org.zip $cdir/org/
  mv -i ${bname}_q{$q}.zip $cdir/q{$q}/

  popd

end

exit

3. タブレット端末で読む

3.1 MicroSDへの保存

 2015年に購入したMediaPad X1(7インチ、1920x1200画素)にMicroSD 64GBを入れて使っています。MicroSDはexFatでフォーマットされていましたが、MediaPad X1では、exFATフォーマットを認識しないようでしたので、ntfsにフォーマットし直して利用しました。

toranosuke.hatenablog.com

 スキャンした本は 、rsync を用いてMicroSDに同期。

MicroSDがWindows側のドライブ(ここではFドライブ)をVirtualBoxの共有フォルダ機能を使ってマウントして、以下のコマンドを使います。

$ rsync -av --delete /home/tora/books/ /media/sf_F_DRIVE/books/

ファイルは、Googleドライブにも保存しているので、Googleドライブ経由でダウンロードできますが、いまのところほとんど使っていません。

3.2 PerfectViewer (on Android)

 ビュアーは、Androidの自炊ビュアーの定番PerfectViewerを利用しています。秀逸なソフトです。

f:id:toranosuke_blog:20160520141034j:plain:w300

PerfectViewerでは、ディレクトリの階層構造も保つので、ディレクトリをうまく整理しておけば、楽に本にアクセスできます。

おわりに

 これで一通り、ソフトウェアは使えるようになります。

 次回は、実際に自炊したときに生じた問題点などについて書きたいと思います。

2016/5/20

関連記事

ROOM

楽天ROOMに自炊関連の商品をまとめています(随時更新)。

自炊して本棚を捨てる (1) 機器購入編

 本棚を何台ももっている。電子書籍を買うにようにしているが、それでも本が溢れている。もう限界である。

 大部分は、今後も読むことはないのだから、どんどん捨てていけばよいのですが、捨てられない性格なんですよね。溜まりに溜まったDVDは、何年か前にハードディスクに移して、捨ててしまいましたが、本の場合は、いろいろ設備投資が必要で躊躇していました。最近、財布の紐が緩みっぱなしで、ついにスキャナ・裁断機を買ってしまいました(涙笑)。最終的には、本棚を一つ二つ捨てたいです。

 そこで、今回は、今やっている自炊についてまとめます。記事が長くなってしまったので、3つの記事に分けました。

 (1) 自炊のために買ったもの
 (2) 自炊のためのソフトウェア
 (3) 実際に自炊してみての問題点の指摘と感想

 今回は、自炊のために使ったスキャナ・裁断機・メンテナンス用品・パソコン本体についてまとめます。

1. スキャナ

 いろいろ自炊用スキャナの評判を調べてみると、富士通のScanSnapシリーズ(iX500 FI-IX500A)とCanon imageFORMULA (DR-C240)がよく使われている機種のようです。この2つの機種の私にとっての決定的な差 は、CanonのスキャナはTwainに対応、ScanSnapはTwain非対応の独自規格というところでした。フラットベッドスキャナでは、LinuxでTwainで使っていたということがあり、独自規格というのは受け入れられませんでした。

 最終的には、以下のサイトを参考にCanon imageFORMULA DR-C240を購入しました。

Canon キヤノン ドキュメントスキャナ imageFORMULA DR-C240

Canon キヤノン ドキュメントスキャナ imageFORMULA DR-C240

 到着してから気がついたのですが(汗)、wifi非対応でした(涙)。スキャンスピードからすると、少なくとも我が家のwifi環境では、通信ネックでスキャン速度がでないと思いますので、自炊している間は有線接続で問題ないと思います。自炊が一段落してヘビーに使うことがなくなったら、無線の方が使い勝手がよいので、ちょっと残念です。

2. 裁断機

 会社の裁断機を試しに使ってみましたが、大量の本を自分でカッターで切るのは非現実的と実感。裁断機も購入することにしました。

 このサイトを参考に、自分の使い方からすると、ダーレーDurodex 200DX か、 プラスPK513LNからの選択。

 コンパクト収納が可能なDurodex 200DXを購入することにしました。この機種は、AmazonのCanon DR-C240のページに「よく一緒に購入されている商品」で薦められている製品でもあります。

DURODEX 自炊裁断機 ブラック 200DX

DURODEX 自炊裁断機 ブラック 200DX

3. メンテナンス用品

 メンテナンス備品としては、富士通のクリーナ(F1 FI-C100CF1)とキムワイ プを購入しました。自炊の定番商品のようです。

富士通 クリーナF1 FI-C100CF1

富士通 クリーナF1 FI-C100CF1

キムワイプ 12×21.5cm /1箱(200枚入) S-200

キムワイプ 12×21.5cm /1箱(200枚入) S-200

4. パソコン本体

 本体パソコンは、Windows10の東芝Dynabook AZ77。2015昨年11月に購入しました。メモリも16GBあるハイスペックノートなので、よっぽどのことがない限り、性能不足ということはないでしょう。

おわりに

 総額20万円ほどになってしまいました。パソコンを除いても、8万円強。1冊800円として、本を100冊買えますね...。

 最近、近藤麻理恵さんの「人生がときめく片づけの魔法」を読みました。

人生がときめく片づけの魔法

人生がときめく片づけの魔法

 ノウハウ本というよりは、マインドからのアプローチの啓蒙書。自己啓発的でなんかニュー・エイジっぽい宗教的な雰囲気があります。服の畳み方などのテクニックは早速取り入れていますが、マインド変革ができていないので、なかなか片付きません。本についても、ご指摘の通り、ほとんどの本は2度と読みません。えいやと捨ててしまうのが正しいです。でも、頭では理解できていても、できないんです。

 神様・仏様・コンマリ様、悟りを開いて、早くときめく部屋に住みたいです。悟りを開けば、本棚を何本も自炊化するなどという在世の苦しみから救済されます(笑)。

 次回は、(2)スキャンのためのソフトウェアについてまとめます。

2016/5/20

関連記事

ROOM

楽天ROOMに自炊関連の商品をまとめています(随時更新)。

Markdown初心者が、はてなブログをemacsで書く

 はてなブログの初心者です。これまで、はてな記法を使ってブラウザで記事を書いていましたが、エディタに慣れないのに加えて、反応が遅く、時々、書きかけの記事が飛んでしまうなどと我慢ができなくなって、はてな記法からmarkdown記法に移行し、emacsで編集することを決意しました。

 そうは言っても、markdownについては全く知らないずぶの素人です。環境構築と、はてな投稿までの流れをまとめようと思います。基本的には、emacsで編集・プレビューし、はてなブログにインポートして、はてなのWebのGUIで図の引用や体裁を整えるというフローです。

1. markdown編集環境の構築

1.1 markdown編集環境の条件

 構築する編集環境の条件は、以下の通り。

  • OSは、ubuntu (できれば、raspbianも)
  • emacsエディタで原稿が書けること。
  • 基本的な操作はCUIであること。

 調べると、いろいろと出てきますが、emacsで良く使われるのは、markdown-mode.elのようです。

 markdown-mode.elの公式ページ: http://jblevins.org/projects/markdown-mode/

 今回は、ubuntuの15.10にmarkdown-mode.elをインストールして、この記事 を書きました。

1.2 markdown-mode.elのインストール

 ubuntuのレポジトリにmarkdown-modeがないかと調べてみると、 emacs-goodies-el パッケージに入っていました。よって、apt-getでインストー ル。

$ apt-cache search markdown-mode
  emacs-goodies-el - Miscellaneous add-ons for Emacs
$ apt-cache show emacs-goodies-el | grep markdown-mode
  markdown-mode - major mode for editing Markdown files;
$ sudo apt-get install markdown emacs-goodies-el

 markdown-mode.elのバージョンは、2.0(2013-3-18)でした。最新 の2.1(2016-01-09) に比べると少し古いバージョンですが、凝ったことをする わけではないので、十分でしょう。

 .emacsの編集はなし。.emacsを編集して便利にカスタマイズするのが良いの でしょうが、いろいろなところで環境構築していると、個別に設定するのが面倒になっ てきて、できるだけカスタマイズせずに使うようになっています。

 マシンの設定は、これで完了。検索して調べてみると、markdown環境の構築 は難しそうだなぁと思っていましたが、あっさり終わってしまいました。後は 使い方を覚えるだけです。

2. emacsで原稿を書く

2.1 emacsを起動する

 emacsを起動して、原稿を書く。拡張子は.mdとするのがお作法みたい。ここでは、foo.mdにしています。

$ emcas -nw foo.md

 "M-x markdown-mode"でmarkdownモードに入り編集します。...が、ちょっと面倒だったので、.emacsに以下を追加。拡張子mdのファイルは自動的に markdownモードになります。

(add-to-list 'auto-mode-alist'("\\.md\\'" . markdown-mode))

2.2 markdown文法で編集

 はてなブログのGUIで試し書きすれば、基本的な文法は分かりますので、マニュアルはほとんど読まずに記事を書けそうです。

例えば、2節は以下のコードで書いています。ASINによるAmazon商品の引用もできます。

### 2. emacsで原稿を書く

#### 2.1 emacsを起動する
 emacsを起動して、原稿を書く。拡張子は.mdとするのがお作法みたい。ここでは、foo.mdにしています。

 ```
 $ emcas -nw foo.md
 ```

 "M-x markdown-mode"でmarkdownモードに入り編集します。...が、ちょっと面倒だったので、.emacsに以下を追加。拡張子mdのファイルは自動的に
markdownモードになります。

 ``` 
(add-to-list 'auto-mode-alist'("\\.md\\'" . markdown-mode))
 ```

#### 2.2 markdown文法で編集

 はてなブログのGUIで試し書きすれば、基本的な文法は分かりますので、マニュアルはほとんど読まずに記事を書けそうです。

* 日本語Markdownユーザ会: [http://www.markdown.jp/]
* markdown文法のマニュアル:[http://adiary.org/v3man/Markdown/syntax]
* [http://igcn.hateblo.jp/entry/2016/02/14/073123:title]
* markdownのマニュアル本:[asin:4777518329:detail]

2.3 htmlに変換し、ブラウザでプレビュー

 emacsのショートカットコマンドを使って、プレビューします。 HTMLへの変換は、/usr/bin/markdownコマンドが実行しているので、markdownパッケージをインストールしていないと、エラーします。

  • "C-c C-c p"(markdown-preview)
    ブラウザ(firefox)が立ち上がり、/tmpに書きだされたhtmlファイルを表示する。 ファイル名は、/tmp/burl10957TGR.htmlといったファイル名で、10957のところはemacsのプロセスIDのようです。
  • "C-c C-c e"(markdown-export)
    編集しているfoo.mdを変換し、foo.htmlに出力します。
  • "C-c C-c v"(markdown-export-and-preview)
    foo.htmlを出力し、そのファイルをブラウザで開いて表示する(新しいタブで表示する)。

 その他のmarkdown-modeのショートカットキーは"C-c C-h"で表示できます。

 markdown-export-and-previewでブラウザに表示して、それ以降は、makdown-exportでファイル更新、ブラウザでリロード、といった使い方になりそうです。markdown-previewの場合、プレビュー毎に新たなタブが生成されるので、ときどきタブを閉じる必要があります。また、markdown-previewは開いたタブの先頭から原稿を表示するのに対して、markdown-exportしてリロードだと、前回のプレビュー位置で表示されるので、ブラウザをスクロールする必要がなくなります。

(追記) 暫く使ってみたら、"C-c C-c e"(markdown-export)は、かなり多用するので、打ちやすいように"C-c C-c C-e"にもコマンドをアサインしました。.emacsには、以下を追加。

(require 'markdown-mode)
(define-key markdown-mode-map (kbd "\C-c \C-c \C-e") 'markdown-export)

f:id:toranosuke_blog:20160516155654p:plain
左がemacs、右がfireroxのウィンドウ。ほとんどはemacs画面で作業し、プレビューするときだけ、マウスを動かして、firefoxのリロードボタンを押します。マウス作業がほとんどないので、文章作成に集中できます。加えて、肩こり持ちには健康的。

3. はてなブログで編集

画像入力、文字修飾、最終的な校閲をはてなブログのGUIで行いました。

3.1 markdownファイルのImport

 markdownファイルのインポートの仕方が分からなかったので、コピペで、はてなブログにインポート。emacs -nw だとコピペが面倒なので、このときだけはnwオプションなしのGUIベースのemacsで作業しました。

3.2 はてなブログで原稿を仕上げる

 画像のインポートは、はてなブログGUIでやるしかなさそうです。文字修飾は、markdown文法を勉強すれば、いろいろできるようですが、markdown素人には、markdown文法で直書きするよりGUIベースの方が分かりやすいです。

4. はてなブログの原稿をバックアップ

markdown原稿とMT(MovableType)形式でバックアップする。

  • Markdown原稿の保存:はてなで編集した原稿をコピペで、emacsに戻して、保存する。
  • MT形式の保存:公開した記事をはてなのExport機能で保存。
    全記事をダウンロードしてしまうようなので、emacsで該当する記事のみを切り出して、保存する。
f:id:toranosuke_blog:20160517083034p:plain:w400
このページのずうっと下にエクスポートの項目がある。
f:id:toranosuke_blog:20160517083046p:plain:w400

参考:http://staff.hatenablog.com/entry/2014/08/22/180000
* ダウンロードしたMT形式のファイルのこの記事の部分は、途中で途切れていました。この機能、正常に動作しているのでしょうか?

5. おわりに

 これまで、はてなブログのGUIではてな記法を使ってきましたが、Markdownに移行することで、emacsで安心・快適・効率的に記事を書けるようになりました。環境構築は難しそうだったので、移行に躊躇していましたが、やってみれば案外簡単。emacs環境で記事が書けるようになったのが嬉しいです。

2016/5/16

(追記:20016/5/21)  raspberry piでも、問題なく動きました。 但し、"C-c C-c p"(markdown-preview)で立ち上がるのは、firefox(iceweasel)ではなく、 Leafpadでした。"C-c C-c v"(markdown-export-and-preview)ではfirefoxが立ち上がります。

 はてな原稿のhtmlのプレビュー程度であれば、iceweaselも十分高速なので、pi3ははてな原稿の編集マシンとしては実用的に使えそうです。

関連記事

Raspberry Pi3をデスクトップPCとして使ってみる (2) 利用編

 前回の記事では、基本的なセットアップまでを書きましたが、今回はデスクトップとして少し使ってみて気になったところを書きます。私がデスクトップPCとしてよく使うのは、(1) ブラウザ、(2) 文書編集(LibreOfficやGoogle Sheet、Latexなど)、(3) マルチウィンドウでターミナルを開いての作業です。Windows系だとAmazonビデオやU-Next、YouTunetなど動画視聴することはありますが、普段はタブレットやChromecast/FireTV stickを使うので、ラズパイで視聴することはないと思いますので、今回は見送ります。

(1) ブラウザ

Iceweasel(firefox)のインストール

 標準でインストールされているブラウザ・検索エンジンは、Epiphanyブラウザ + DuckDuckGoという検索エンジン。Ephipanyの検索エンジンの変更の仕方(*1)が直ぐに分からなかったので、chromiumやiceweasel(firefox)をインストールすることにする。

 chromiumは、apt-getでインストールできるはずですが、chromium-l10nパッケージが依存するchromiumパッケージに不整合があり、現状では標準レポジトリからのインストールはできません(*2)。

$ sudo apt-get install chromium-l10n
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
インストールすることができないパッケージがありました。おそらく、あり得
ない状況を要求したか、(不安定版ディストリビューションを使用しているの
であれば) 必要なパッケージがまだ作成されていなかったり Incoming から移
動されていないことが考えられます。
以下の情報がこの問題を解決するために役立つかもしれません:

以下のパッケージには満たせない依存関係があります:
chromium-l10n : 依存: chromium (>= 50.0.2661.94-1~deb8u1) しかし、インストールすることができません
E: 問題を解決することができません。壊れた変更禁止パッケージがあります。

firefox(iceweasel)でも構わないので、chromiumは即座に諦め、iceweaselをインストールしました。

$ sudo apt-get install iceweasel-l10n-ja

 ラズパイのiceweaselでのgoogle検索では、なぜかモバイル版の結果が表示されてしまいます。user-agentを偽装することでPC版を表示できるようになります。今回は"User Agent Switcher"というFirefoxのaddonを使って変更しました。
https://addons.mozilla.org/en-us/firefox/addon/user-agent-switcher/
アドオンをインストールしiceweaselで、「メニューバー」→「ツール(T)」→「Default User Agent」を選択し、他のブラウザ(Internet Explorer8)に変更する。

*1: epiphanyの設定ファイルを編集することで、変更可能。
「Raspberry Piで学ぶ電子工作」補足情報: ブラウザepiphanyの検索エンジンを変更する
*2: 暫く待てば標準レポジトリからもchromiumをインストールできると思いますが、以下の方法でも可能。
Raspberry Pi 3 で Chronium browser を使う - MMAys's blog
Guide: Chromium 51 on Raspbian Jessie - Raspberry Pi Forums

使用感

 遅い!一言、これに尽きます。動作そのものは安定していますが、CPU性能不足なのか、メモリ不足なのか、動作が非常に遅いです。タブをいくつか開くと、すぐに700MB-800MBのメモリを消費します(ラズパイのメモリは1GB)。ちょっとの調べものに使う程度であれば許容の範囲ですが、普段使いの代替にはなりません(*3)。

*3: はてなブログの編集はもともとハイスペックなマシンを要求します。このブログを書くにあたっては、途中までラズパイだけで書いていましたが、耐えられず、リモートデスクトップで接続してラズパイの作業をし、ローカル端末のブラウザ(chrome)でブログを編集しました。リモートデスクトップの設定は後述します。

(2) 文書編集

ドキュメント・スプレッドシートの編集(LibreOffice, Googleアプリ)

 LibreOffice : LibreOffice(主にスプレッドシート)は標準でインストールされているので、あとは使うだけ。ヘビーな編集をするわけではないので、軽快とはいきませんが、十分に使える範囲です。

 Googleアプリ : GoogleドライブやGoogleドキュメント・Googleスプレッドシート等のGoogleアプリはラズパイのiceweaselをサポートしていないようで、アクセスしにいくと「Googleドライブを使用するにはブラウザをアップデートしてください」というようにヘルプページに飛ばされます。これには、user-agentをMicrosoft Edgeに偽装することで、回避することができました。前述のUser Agent Switcherを使いますが、デフォールトの設定ではMicrosoft Edgeはありませんので、以下の設定ファイルをダウンロードして利用しました。

 iceweaselで「メニュー」→「アドオン」→「拡張機能」→「設定」→「Import」からダウンロードしたXMLファイルを読み込むことで、「ツール(T)」からいろいろなuser-agentを設定できるようになります。ここで、Microsoft Edgeを選択すると、GoogleドライブやGoogleドキュメントなどGoogleアプリが使えるようになりました(IE8, IE10, IE11, Safariではうまく動作せず)。一応は使えるようになりましたが、Webブラウジングの場合と同様に非常に重く、残念ながら軽快に使えるというわけではありませんでした。

emacsによるテキスト編集

 テキストファイルの編集は、emacsを使っています。主にマシン設定や簡単なメモ書き、LaTex文書の作成に利用しています。インストールは、以下の通り。

$ sudo apt-get install emacs

 通常は、ターミナルで"emacs -nw"とNo Windowオプションをつけて起動しているので、問題なく軽快に使えています。ラズパイに限らず、GUIで使うよりも、ターミナルで使うほうが高速だし、Ctrl-zで中断してターミナルに戻れるので便利です。

Latexによる文書作成

 Latexとxdvi, evinceのインストールは、以下の通り。

$ sudo apt-get install texlive-doc-ja xdvik-ja # platex, pbibtex, xdvi, dvipdfなど
$ sudo apt-get install evince         # PDFビュアー

 インストールに1時間以上と非常に時間がかかりました(ダウンロードには時間がかかっていないので、原因は、SDカードでしょうかね...)。
 Latexをちょっと使ってみました。少々もたつきますが、実用レベルです。

f:id:toranosuke_blog:20160515081952p:plain
xdviとemacsを用いたLatex文書作成 (画面サイズは1600x1200です)

(3) ターミナルによる作業

 標準のターミナル(lxterminal)を使っています。複数のターミナルを使っても特に問題ないです。gnome-terminalがいつも使っているターミナルなので、インストールしてみました。

$ sudo apt-get install gnome-terminal

いまのところ、lxterminalでも、gnome-terminalでもどちらでも構わないという印象です。

(4) タスクバーの設定

 いろいろ弄っていたら、タスクバーのショートカットが消えてしまった(汗)。lightdmでは、アプリのアイコンをつまんで、タスクバーに貼り付けられないようなので、設定しなおしました。

  • タスクバーで右クリック。
  • 「パネルの設定」→「パネルアプレット」タブ→「アプリケーション・ランチャー」の「設定(P)」
  • 「アプリケーション・ランチャー」のウィンドウがでてくるので、アプリケーションを追加・削除する。

(5) リモートデスクトップによる接続

 Windowsから、ラズパイにリモートデスクトップで接続できるように設定しました。昔は、VNCサーバ(vnc4serverやtightvncserverなど)を立ち上げて接続していたこともあるのですが、Windows側には極力ソフトウェアはインストールしないようにしているので、最近はxrdpを使ってリモートデスクトップ接続で利用しています。

xrdpサーバを立ち上げる(on ラズパイ)

 ラズパイ側にリモートデスクトップサーバ(xrdp)をインストールする。

$ sudo apt-get install xrdp

 以下のページを参考に日本語キーボード用に設定する。
キー配列について - 日本 xrdp ユーザ会

$ cd /etc/xrdp
$ (cd /tmp; wget http://w.vmeta.jp/temp/km-0411.ini)
$ sudo cp /tmp/km-0411.ini .
$ sudo ln -s km-0411.ini km-e0200411.ini
$ sudo ln -s km-0411.ini km-e0010411.ini
$ sudo service xrdp restart

 現在は、wifi/dhcpでの接続なので、ifconfigでIPアドレスを調べる。

$ ifconfig
   :
wlan0 Link encap:イーサネット ハードウェアアドレス b8:27:eb:59:3c:d1
inetアドレス:192.168.1.9 ブロードキャスト:192.168.1.255 マスク:255.255.255.0
inet6アドレス: 240d:1a:183:8300:5916:75db:5a2f:b386/64 範囲:グローバル
   :

 このアドレス(192.168.1.9)でWindowsの「リモートデスクトップ接続」で1920x1080で接続。43型4Kテレビへの表示なので、文字が小さすぎるというような問題はありません。4KノートPCだと、よっぽど目が良くないと、つらいでしょうね。


f:id:toranosuke_blog:20160515081950p:plain
4KモニタのWindows上で、1920x1080サイズでラズパイにリモートデスクトップ接続。右上のウィンドウがラズパイ(ラズパイ内でiceweaselを起動)、左側のウィンドウはWindows上のchrome。

f:id:toranosuke_blog:20160515081951p:plain
さらに、3840x2160サイズのリモートデスクトップを追加。背景部分が2つ目のリモートデスクトップですが、4Kサイズでラズパイ画面が表示できました。

(6) クライアントしての接続

 ラズパイをクライアント端末として使ってみました。手元にリモートデスクトップ接続できるマシンがなかったので、WindowsをVNCサーバにしてVNC接続することにしました。

VNCサーバの設定 (on Windows10)

 VNCサーバとしては、UltraVNC(1.2.1.0)をインストールしました。

 ダウンロード元: 「UltraVNC」PCリモート操作ソフト - 窓の杜ライブラリ

 UltraVNCのインストールのオプションは、デフォールトのままです。インストールできたら、「UltraVNC Server」を起動し、タスクバーに隠れているVNCサーバのアイコンから「Admin Properties 」→「UltraVNC Server Property Page」を開き、VNCパスワードを設定します。これで、VNCサーバ側の設定は終了です。


f:id:toranosuke_blog:20160515111748p:plain
Admin Propertiesを選択する。

f:id:toranosuke_blog:20160515111804p:plain
UltraVNC Server Propertyp PageからVNCパスワードを設定する。

VNCクライアントの設定 (on Raspberry Pi)

 ラズパイ側は、vncviewerをインストールしました。

$ sudo apt-get install xtightvncviewer
$ vncviewer

 vncviewerを起動するとポップアップ窓が開きますので、サーバのIPアドレス (あるいは、ホスト名)を入力、次にVNCパスワードを入力することで、VNCサーバに接続できます。いまのところ、ラズパイからWindowsへのVNC接続が非常に遅い、遅すぎです。Windowsからラズパイにリモートデスクトップ接続して、ラズパイからWindowsにVNC接続する(要するに画面が往復している)よりも遅かったので、ネットワークが不調(Windows側のネットワークはいまいち安定していない)、あるいは、設定が悪いのが原因ではないかと思います。もうすこし、調べないと評価できないですかね。ラズパイの性能からすると、特に問題ないレベルでシンクラ端末として使えると予想しています。

(追記:2016/5/21)
ネットワークが原因でした。ラズパイからWindowsへのVNC接続で多少レスポンスの悪さはありますが、使える範囲です。Windows側のYouTube再生で15frame/sec前後のスピードがでています 。ただし、現状では音声はでていません。Windowsからラズパイへのリモートデスクトップ接続でもYouTube再生ができました。但し、こちらは8frame/secぐらいの速度で遅いです。ラズパイ本体での再生は、ブラウザ内で再生する分には問題はありませんが、全画面表示ではまともに動きませんでした。


f:id:toranosuke_blog:20160515115241p:plain
ラズパイからWindowsにVNC接続

f:id:toranosuke_blog:20160515115619p:plain
(お遊び) Windowsからラズパイにリモートデスクトップ接続し、ラズパイからWindowsにVNC接続。左上の1920x1080のウィンドウがリモートデスクトップの画面で、その中に再帰的に画面が表示されます。表示の遅延があるので、ウィンドウを動かすと、徐々に反映されていくので、見てて面白いです。

おわりに

 現状のラズパイは、ブラウザが遅くて単独のデスクトップ端末としてはまだまだ実用的に使えるレベルにはないです。しかしながら、テキストベースの処理では少々遅く感じるものの実用的な使い勝手が得られます。まあ、20年前に30MHzのCPU, 32MBのメモリのUnixマシンで、お仕事でemacs/gccを使って開発、Latexで文章を作成していた頃と比べると、はるかに高性能なハードウェアなので、実用的で当たり前といえば当たり前ですが。

 個人的には、同じぐらいの価格帯(1万円程度)でLinuxデスクトップPCを構築するとすれば、Intel CPUの中華ミニパソコンにdebianやubuntuをインストールする方が実用的に使えるデスクトップマシンを構成することができると思います。1年ほど前に中華スティックPC(初代MeeGoPad: Intel Atom Baytrail Z3735, 2GBメモリ, 32GB-eMMC)にubuntuやdebianをインストールしましたが、現状のラズパイ以上の速度と実用性がありました。中華パソコンの場合、Linuxのインストール実績がある機種を選んでおかないと、苦労しますけど(実績あっても難儀した)。

 次回は、当初予定していたファイルサーバの構築について書こうと思います。

2016/5/14

次の記事


関連記事

Raspberry Pi3をデスクトップPCとして使ってみる (1) セットアップ編

 RaspberryPi3が発売されてしばらく経ちましたが、ファイルサーバに使っていた初代Raspberry Piのリプレースのつもりで、pi3を購入しました。初代よりも速度性能が10倍以上あるということなので、今回はデスクトップ環境でインストールしてみました。

購入したもの

 Amazonの売れ筋品からケース付きラズパイ本体(6,980円)、ヒートシンク(850円、本体とセット購入で750円引き)、推奨の5V*2.5A(=12.5W)に近い5.2V*2.4A(=12.48W)のUSB電源(900円)、64GBのmicroSDXCカード(2,180円)、HDMIケーブル(432円@ダイソー)、microUSBケーブル(108円@ダイソー)を購入。計10,700円。それ以外のキーボード、モニタ等は、在り合わせのものを利用しました。

Raspberry Pi Model Pi2 / Pi3 用 ヒートシンクセット

Raspberry Pi Model Pi2 / Pi3 用 ヒートシンクセット

RoiCiel USB電源アダプタ 12W

RoiCiel USB電源アダプタ 12W

(追記:2019/2/20) ラズパイ関連の機器を楽天ROOMにまとめました(ここ)。現在は、Raspberry Pi3 B+のスターターキットを利用するのがよいでしょう(→amazon)



セットアップ

以下のサイトを参考に、Raspbian Jessieをインストールしました。

1. デスクトップ用のイメージをダウンロード
 https://www.raspberrypi.org/downloads/raspbian/
 ダウンロードしたファイル:2016-03-18-raspbian-jessie.zip(1.3GB)

2. microSDカードにイメージを書き込む
 作業はdebianパソコンで行いました。microSDをUSBタイプのカードリーダに入れて、書き込み(今回の環境では、デバイス名は/dev/sdb。パソコン直付けのSDカードリーダだと、/dev/mmcblk0といったデバイス名になることが多いです)。

$ unzip 2016-03-18-raspbian-jessie.zip
$ sudo dd if=2016-03-18-raspbian-jessie.img of=/dev/sdb bs=1m

3. 配線と起動
 SDカードができたら、モニタ・キーボード・電源を配線。電源アダプをコンセントに挿すと、自動的に起動します。
 サーバで24時間運用なら電源スイッチはなくても構わないけど、使う時だけ電源オンにしたいときには、電源ボタンが欲しいところですね。

4. GUIでラズパイの基本セットアップ
raspberry pi configurationを起動してGUIベースで設定する。
4.1 raspberry pi configurationの起動
 「Menu」→「Preference」→「Raspberry Pi Configuration」で起動する。
4.2「system」の設定
 a) "Expand Filesystem"をクリック(なぜか既に拡張済みで64GB全体が認識されていました)
 b) "Hostname"の設定
 c) "Auto login"をここでオフにしようとしたけれど、うまく動作せず(後で設定方法を説明します)。
4.3 「Localisation」の設定
 a) "Set Locale" : "Language"を"ja(Japanese)"に設定 (自動的に"Country"がJP(Japan), "Character Set"がUTF-8に設定される)
 b) "Set Timezone" : "Area"を"Japan"に設定(自動的に"Area"がAsia, "Location"がTokyoに設定される)
 c) "Keytboard": "Japanese"に設定
 d) "WiFi Country": "JP Japan"に設定(国設定の意味は不明。設定しなくても特に問題なく動作する)

5. wifiの設定
 タスクバーのネットワークアイコンをクリックして、アクセスポイントを選択し、セキュリティキーを入力。これでネットワークが確立する。

6. 日本語環境のセットアップ
6.1 vlgothicフォントとibus-mozc(Google日本語入力)を設定する。

$ sudo apt-get update
$ sudo apt-get install fonts-vlgothic
$ sudo apt-get install ibus-mozc

sudo でパスワードを要求されたら、アカウント"pi"のパスワード"raspberry"を入力。
6.2 再起動

$ sudo reboot

これで、mozcが使えるようになったけど、もし起動しないようだったら、
 「Menu」→「設定」→「入力メソッド」の「追加」から、Mozcを選択する。
6.3 タスクバーの「US」アイコンをクリックして、「日本語-Mozc」を選択する。
6.4 プロパティーパネルを表示する(「Menu」→「設定」→「IBusの設定」から「自動的に隠す」に設定)。

7. ラズパイ全体を最新版にアップデートして、再起動。

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo reboot

アカウントの設定

初期設定のユーザアカウント"pi"で使い続けるのは気持ち悪いので、新規にアカウントを作成しました。

1. rootパスワードの設定とユーザの追加
rootとpiのパスワードを設定・変更し、新規ユーザ(tora)をsudo権限で追加する。

$ sudo passwd pi        # pi のパスワードを変更する。
$ sudo passwd root       # rootのパスワードを設定する。
$ sudo adduser tora      # 新規ユーザtoraを作成する。
$ sudo gpasswd -a tora sudo  # toraをsudoグループに追加する。
$ sudo sudoedit /etc/sudoers  # piのパスワードなしの実行権限をなくす。
 #pi ALL=(ALL) NOPASSWD: ALL # 最後の行をコメントアウト。

注意:/etc/sudoersを編集する前に、rootのパスワードを設定しておくことを強くお勧めします。/etc/sudoersの編集がおかしいと、sudoでroot権限での実行ができなくなり、復旧に苦労します。

2. 自動ログインの変更
自動ログインがpiアカウントに設定されているので、/etc/lightdm/lightdm.confを編集して変更します。

$ sudo nano /etc/lightdm/lightdm.conf
117行目に"autologin-user=pi"という行があるので、自動ログインするならユーザ名をtoraに変更、しないならコメントアウト。

CapsLockキーとControlキーを入れ替える

/etc/default/keyboardを編集して、XKBOPTIONS="ctrl:swapcaps"を設定する。

$ sudo nano /etc/default/keyboard

再起動後、有効になります。

XKBの設定ルールは、/usr/share/X11/xkb/rules/xorg.lstに書いてあります。例えば、

ctrl:nocaps Caps Lock as Ctrl

XKBOPTIONS="ctrl:nocaps"とすれば、CapsLockキーがCtrlキーとして動作するようになります。

おわりに

これで、基本的な設定は、終了です。GUIベースで設定できるようになったところも多いので、比較的簡単に設定することができました。分からないことがあれば、すぐに情報が得られるところが、ラズパイのいいところですね。

次回は、デスクトップ環境で使っていて、気になったところを記事にしたいと思います。

2016/5/8

次の記事