You can read this blog in any language using google translate as follows:

Goto http://translate.google.com/
Paste URL in the box and select "Japanese for From Language" and "To Language". Then click "Translate".

English translated pages are here:
http://bit.ly/xPuXoy

你可以閱讀這個博客,在任何使用“Google”的語言翻譯

本ブログのアクセス統計: 60万アクセスを達成しました。ご訪問ありがとうございました。

60万アクセスまでの経過

2009年12月に始めた本blog。2011年7月ごろに10万アクセスを達成し、2011年12月13日には15万アクセスを達成。
その後、私も更新しておらず、アクセスは少し減りましたが、3月1日には18万アクセス。2012/4/18に20万アクセス、2012/8/21に25万アクセス、2013/1/18に30万アクセス、2013/12/17に40万アクセスを達成しました。しばらく見ていなかったら、2015/5/1に50万2584アクセスになっていました。またまた、しばらく更新しないうちに、2017/6/11に60万7197アクセスになっていました。2018/7/7 .. おお七夕 .. には63万0656アクセスになっていました。久しぶりに更新しました。
ラベル Macintosh の投稿を表示しています。 すべての投稿を表示
ラベル Macintosh の投稿を表示しています。 すべての投稿を表示

2011年10月23日日曜日

MacでBSDツールを利用する・大学の電子ブック


大学の環境を利用するため以下のキャラクターベースのツールを設定したので解説する。すべて無料である。いまのところ、私の備忘のために項目だけだが、そのうち補充する。
  • SSHによるremote login
  • FUSE (Fuse4x)とsshfsを用いたSSHを経由したremote mount (ファイル共有)
    • MacFuseは、サポートが打ち切りになったらしいし、sshfsとの相性が悪く、dialog boxが出てきて、うまく使えなかった。
  • X11のSSHフォワーディング
    • 大学のサーバへのfirefoxをinstallして遠隔ブラウズの確認、Stanford大工学部図書館所蔵の4万冊の電子ブックが家で読める。O'Reillyをはじめ、めぼしいものは、ほとんどありそう。通常は、閲覧者数の制限もかかっていないとのこと。(後述する、後日別記事に分離する予定)
  • rsyncによる差分バックアップ
    • FUSEでマウントした作業データのlocal diskへのコピー。ローカルデータのNASへのバックアップに利用する。time machineのように特定時点には戻れないが、backupしたファイルの中身に随時参照できること、バックアップ項目の制御が楽なのが利点だと思う
    • 日本語ファイル名の漢字コードがおかしいものがあるらしく、途中で止まる
    • bashによるバックアップスクリプトのサンプル
    • そのうち、cronを使いつつ、mountでトリガをかけて、自動化したいと思っている
  • emacsによる編集
    • .emacsのサンプル
    • terminal内で、ATOKの英語・日本語切り替えがうまくいかないので調査中である
  • mailをemacsで読む。文字化けの対策やらメイルヘッダをいじったりしたいので、融通の利くemacsでのメイルプログラムを立ち上げたい。
Macの概要については、以下に書いた。
2011年10月23日日曜日: Macはすごい
SSHによるリモートアクセス) 
ツールはすべてMacに最初から備わっている。
  • キーペアを生成する
    • ssh-keygen -t rsa -C "Comment" など
      Passphraseで改行をいれると秘密鍵のPasspharaseなしになるが、秘密鍵が盗まれると危険なので、秘密鍵とペアで認証に必要になる、パスフレーズを設定した方が良い。また、秘密鍵は、networkやMailでは送らない。複数のクライアントPCからリモートログインしたいときには、PCごとにキーペアを変えておけば、盗難にあったときに、そのPCからのログインだけ無効化できる
    • ssh-keygenの使い方は以下など) http://www.21linux.com/archives/2005/12/sshkeygen.html
      や https://drupal.org/node/1070130
    • キーは、~/.sshに生成される。rsaの場合には、デフォルトでは、id_rsaが秘密鍵、id_rsa.pubが公開鍵である。公開鍵はtextファイルである
    • 公開鍵を、サーバの~/.ssh/authorized_keys に書き込む。いくつでも公開鍵は登録できる
    • キーペアを用いたSSH認証は以下に説明がある。http://www.c.csce.kyushu-u.ac.jp/kb/wiki/index.php?ssh%20%A4%C7%A5%D1%A5%B9%A5%D5%A5%EC%A1%BC%A5%BA%C7%A7%BE%DA
  • sshでログインする
    • ssh -Y -i ~/.ssh/id_rsa USER_NAME@HOST_NAME
    • -Y オプションは、X11トンネリングをするためにつける。ないしは、/etc/ssh_config に、ForwardX11Trusted yes  の行を入れておく
      編集のやり方は、sudo vim /etc/ssh_config など
    • 初回だけ、passcodeを要求されるが、次回からはpasscodeはキーチェインに保存されるのか要求されない。これは以下の利点がある
      • ログインが簡単で高速
      • ログイン時間に影響しないので、秘密鍵には、非常に長い複雑なパスコードをつけて、安全性を高めることができる
      • パスコードを毎度入れないので、盗み見による不正ログインの危険がない。PCを物理的にアクセスされるか・盗難されない限り安全である
      • 万一PCが盗難にあっても、サーバ側の~/.ssh/authorized_keys を編集すれば即刻無効化できる。なにからなにまで、自己完結できるのが、私は好ましいと思う
      • キーペアのビット長を長くしておけば、さらに安全である。これは、ssh-keygenの" -b キー長 " のオプションで指定できると思う
FUSEによる、SSH経由のリモートファイル共有)
  • http://www.macupdate.com/app/mac/39025/fuse4x よりFuse4xを取得。Macのインストーラになっているので、そのままインストールする。
  • https://github.com/downloads/fuse4x/fuse4x/sshfs-2.3.0.zip を取得。以下のコマンドで、sshfsを/usr/local/binに展開。
    • sudo unzip sshfs-2.3.0.zip -d /
  • local_mountpoint のdirectoryをMacに作っておく
  • sshfs USER@HOST_NAME:/home/satoshi   local_mountpoint    で、マウントする
  • mount コマンドで、mountの様子が見られる
  • terminalからは、local_mount  の名前でmountされて見えるが、finderアプリからは、違う名前で見える

sshによるX11のフォワーディング)

terminalからsshでログインする際に、先にsshに書いたようにTrustedである、-Yオプションをつければ良い。-Xオプションでうまくいくこともある。
DISPLAYのshell変数が設定され、x11対応のプログラムを立ち上がると、ssh経由でX11のデータが転送され、Mac側にwindowが立ち上がる。Mac側のxserverも自動的に起動される。
まず試すにはxeyesとかxclockがお手軽だろう。

emacsは、DISPLAY変数をみて、X11 forwardingされているとリモートウィンドウを立ち上げる。結構遅いので、これがいやな場合には、emacs -nw としてnon windowモードで立ち上げればよい。

大学内のLAN, WLANであれば、電子ブックが読めるので、以下のサイトから、サーバにfirefoxをinstallした。これはローカルにダウンロードして、FUSE+sshfsにマウントしたdiskから転送できる。

http://mozilla.cdn.leaseweb.com/firefox/releases/latest/linux-x86_64/en-US/

画像を飛ばしているので、かなり遅い。
実はもっと良いやり方がある。
  1. http, httpsをSSHでforwardingする。これは試していないが、以下のようにできると思う。
    ssh -L10080:host.stanford.edu:80 -L10443:host.stanford.edu:443 -Y -i ~/.ssh/id_rsa satoshi@host.stanford.edu

    最初の引数でhttpのポートである80を10080からforwardし、次の引数でhttpsのポートである、443を10443からフォワードするように、host.stanford.eduに指示しつつ SSHにuser名 satoshiでログインするという設定である。これに対しては、ブラウザに
    http://searchworks.stanford.edu:10080/ のように : の後ろに、local port名を指定してloginすれば良い。
  2. ところがである、ちゃんと大学は、そういうproxyを用意してくれていた。
    windows, Mac, iPhone, iPadでの設定の仕方も丁寧に書いてあった。このproxyを設定すると、libraryの電子ブックにアクセスしようとすると、stanford大学のlogin IDとパスワードを要求され、loginが必要になる。学内のWiFiならそれは必要ないが、そもそも学内netに接続するために、loginの設定がされているからである。
    この設定をして、自宅でもどこでも電子ブックが読める。もはや参考書に金を払い、重たい本を持ち運ぶ必要はない。MacbookAirと、MiWiをinstallして3Gのルータになった脱獄iPhone(以下参照)だけがあればすむのである。これはまさに理想の環境である。
大学の図書館の電子ブック)

Safariというサイトなど、複数と契約している。webで以下のように読める。これが上記のX11フォワードとfirefoxで自宅で読めるようになった。図書の貸し出しといっしょなので、IDを登録してもらえば、local なブラウザにloginして読めるだろう。 上記のProxy設定でこれは解決した。



電子ブックの利点は、
  • 本を持ち歩く必要も無い
  • 図書館に出向く必要も無い
  • 原則アクセス数リミットがないので、返却を待つ必要も無い
  • マウスオーバで辞書が引ける
IDを登録してもらうと自宅からloginしても読めるらしいが、 前節で示したProxy設定で解決した。これなしでアカウントにログインして図書館をアクセスしてもサンプルとなりページの半分が読めない。

電子ブックの蔵書数)

工学部図書館には4万冊の電子ブックがあり、Python, C++など、ほとんどの本はどこからでも読める。webで図書館のhomepageを見ると、Stanford大学全体で、計6,627,606冊のbook,Journalなど検索対象がある模様。(紙の書籍やマイクロィルムを含む)

"C++ program"で検索すると55,493冊がhitする。ただし、C,C#も引っかかっている。 O'Reillyなど有名どころの本はほとんどある。Infinibandだと18冊である。かなり偏りはある。

ほとんどの電子ブックは以下のsafariと契約している。アカウントなしでは、トップページにしかいけないが、個人契約もできるようである。

   http://proquest.safaribooksonline.com/

 WiFiが完備しているので、学内なら、芝生の上でもカフェでも、webで本が読める。重たい本を持ち運ばずに、Macbookだけで、どこでも、好きな本が読め、仕事ができる。環境を変えると、脳が刺激され発想に幅が出るように思う。理想の環境に一歩近づいた。

bashによるshell script) 
Macのxterminal, terminalのshellは、bashである。私は、長いことcshellを使ってきたが、制御性等を考えると本流はbashなどBourne Shell(ボーンシェル)系であろう。shell scriptは、chmod +x ファイル名 で、実行属性を付けておけばよい。別に.batとかいった拡張子はいらない。

 Bourne Shell(ボーンシェル)    http://ja.wikipedia.org/wiki/Bourne_Shell

ちなみに/bin/shも/bin/bashも同じbashである。以下
$ /bin/sh --version
GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin11)
Copyright (C) 2007 Free Software Foundation, Inc. 
$ /bin/bash --version
GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin11)
Copyright (C) 2007 Free Software Foundation, Inc.
ATOKを使っているが、terminalでは、設定した入力モード切替に設定したCtrl-Jが通らない。標準のCtrl-Shift-ZやCtrl-Shift-Cは通る。bashがCtrl-Jを食っているのかと思い、~/.inputrcを変更してみたがうまくいかない。
.inputrcについては以下) http://x68000.q-e-d.net/~68user/unix/pickup?~%2F.inputrc

unixのbashなどのshellは、shell scriptの先頭に以下の行をいれておけば、任意のインタプリタを用いた、scriptが書ける。windowsのbatファイルより、はるかに柔軟性が高い。たとえば、Max OS-Xに最初から入っている /usr/bin/perl を使う場合には、以下のように入れておけば良い。-fというperlのオプションは、起動を高速化するものだと考えておけば良い。bashの機能は、windowsとは比べものにならないくらい高機能で柔軟性が高い。unixは、1970年台から世界中の優秀な研究者達が、オープンソースとして改良を加え続けていのだから当然である。
#/usr/bin/perl -f
bashなどのShell scriptを使うと高度な処理が簡単にできる。例えばフォルダにあるファイル名の一部を付け替えるのは、 ターミナルウィンドウから

$ for   i   in *

> do
> mv $i `echo $i|sed s/18Dec/17Dec/`
> done

とやることで、18Decの部分を17Decに全部置き換えてくれる。これとfindコマンドなどを組み合わせれば、任意のフォルダ配下のファイル名の一括置換もできる。小さなtextコマンドを組み合わせることで何でも出来るのが、unixの美学なのである。Macでは文字コードがUTF-8に統一されているので、これらの検索やファイル名には日本語も使える。


rsyncによるバックアップ)

/user/bin/rsync は、Macに標準で入っている。

rsyncとは)   http://www.itmedia.co.jp/enterprise/articles/0804/21/news013.html
rsyncの使い方) http://futuremix.org/2011/02/rsync

さきのbashのシェルスクリプトを使うと以下のようなバックアップコマンドが作れる。
  • SRC変数に、バックアップしたいソースのdirectory (MacやWindowsでいうfolder)を入れておく。
  • TARG変数に、バックアップ先のdirectoryを入れておく。これは、NASのback先である。
  • 除外したいファイルやdirectoryのリストをEXCLに指定したファイルに書いておく。
このシェルスクリプトの引数は、$@で、rsyncに渡る。シェルスクリプトの名前をnas_backup.sh とすると、nas_backup.sh -n で、rsyncに引数 -n が渡り、rsyncは、表示のみする。どのファイルをコピーするかのリストだけが得られる。コピーはしない。

--- nas_backup.sh ---
#! /bin/sh -f                                                                                                                        
echo
echo '----------------'
echo backup to NAS on `date`
OPT="-av -delete $@"
# OPT="-avn -delete" # for debugging -- dry run. --> -n option with this scripts force dry run.                                      
EXCL=--exclude-from=$HOME/scripts/rsync_exclude.list
SRC=(~/Desktop/ ~/Music/ ~/work/)
TARG=/Volumes/disk/Backup/MacbookAirHomeRsync/      # NAS mount point on Mac OS-X                                                    
for f in ${SRC[@]}
do
 echo Running : rsync $OPT $EXCL $f $TARG
 rsync $OPT $EXCL $f $TARG
done
 ---
$HOME/scripts/rsync_exclude.list  の形式は以下の通り。
  • # から始まる行、#の後ろはコメント
  • - から始まる行が、除外ファイル。正規表現で指定が可能。directoryの場合には、- で終わる
  • + から始まる行は、除外から再度外したいファイルやdirectory
-- execlude.listのサンプル --
# files excluded from ~/Desktop/
- UnUsed/
- work/
# files excluded from ~/Music/
# files excluded from ~/work/
- iTunes\ Media/
# below is precious
+ iTunes\iTunes\ Media/Mobile\ Applications/
- *.dmg
- *~
-- 
emacsによる編集)

~/.emacsを置くことで、起動時設定が変更できる。これはelispというlisp言語もどきで書かれている。

開発元Gnuのelispリファレンス) http://www.bookshelf.jp/texi/elisp-manual/21-2-8/jp/elisp.html
簡単な説明)  http://mibai.tec.u-ryukyu.ac.jp/~oshiro/Doc/elisp_primer.html

.emacsのサンプル)
セミコロン ";" 以下はコメントになる。
とりあえず最初の3行があれば、私は使える。yatexモードは今は使っていないが、参考に残した。
1行目がないと、ctrl-hはヘルプになってしまう。2行目で、markをアサインし、3行目でundoをctrl-x ctrl-uにキーアサインしている。
--

(global-set-key "\C-h" 'delete-backward-char)
(global-set-key "\C-@" 'set-mark-command)
(global-set-key "\C-x\C-u" 'undo-only)
;; yatex setting                                                                                                                    
(setq auto-mode-alist (cons (cons "\\.tex$" 'yatex-mode) auto-mode-alist))
(autoload 'yatex-mode "yatex" "Yet Another LaTeX mode" t)
(setq tex-command "/Users/satoshi/Library/TeXShop/bin/platex2pdf-euc" dvi2-command "open -a TexShop")
(add-hook 'yatex-mode-hook
          '(lambda ()
             (setq buffer-file-coding-system 'euc-japan-unix)))
--

lrunというコマンドを作った)
#/bin/bash -f
# run with logfile
fname=`date +%Y%m%d`.log
date +"%n----Log: %c ----%n$*%n" >> $fname
cmd="$* 2>&1  | tee -a $fname"
echo log is written to $fname ....
# echo $cmd
eval $cmd
たったこれだけ。
lrun ls -l とかlrunのうしろにコマンドを打つ。すると、20120105.logみたいに日付名のファイルに、標準出力と標準エラー出力を追記する。なければ新規に作る。
どうじに通常通り画面にも出力を表示する。logファイルには、----Log: 日付 ---
の行を挿入するので、----Log: でサーチすれば、区切りに飛べる。
bashの機能と、date, teeという2つのコマンドの組み合わせで、簡単にこういうものが作れる。

teeについてはココ) http://x68000.q-e-d.net/~68user/unix/pickup?tee
bashのリダイレクトについてはココ)  http://x68000.q-e-d.net/~68user/unix/pickup?%A5%EA%A5%C0%A5%A4%A5%EC%A5%AF%A5%C8

--
Disk spaceが足らなくなってきた)

2012/1/13追記:

MacbookAirは256GBのSSDだが空きdiskが大分減ってきた。調べるのは、terminal windowから、

du -md 4 / | sort -rn | tee ~/du.log

で一発。man du, man sortなどで調べれば使い方も直ぐに分かる。
ま、perlやpythonのスクリプトにしても良いが。
ゴミ箱、iTunesライブラリと写真が大量に食っていた。ゴミ箱は消去。写真はNASに置いて、古い写真は消すことにする。
ベースがBSD UNIXのMac OS-Xは本当に良い。iOSもunixなので脱獄すれば自由に使える。Androidはベースがlinuxである。これは元々ルートになれるものもある。
いまどきベースのOSが意味不明なのは、MS windowsくらいなものかも。
--
ファイル名を付け替える)

for 文は、do xxx; のように、1行にまとめて書ける。以下では、ファイル名中のPR0をPR10に一気に書き換える処理を1行に書いている。

for i in *.JPG; do j=`echo $i | sed -e 's/PR0/PR10/'`; mv $i $j; done

--
残りは後ほど。。

Macはすごい


Macbook Air 13inchを購入した。ハードもソフトも大変すばらしいできである。IBMPCやMicrosoft windowsとは格が違いすぎる。
背景)
windowsとは、win3.1, 95, 98, 2000, XP, win7と長くつきあってきたが、いまだに理解できていない。win8も学会で何度か見てきた。最近でも、今年に入ってwin7を3度installしている。4度目になるVMwareへのinstall(以下)で、再度それを感じた。以下の作業が手間取った前半は、壊れかけたHDDの複製に執着したからであり、かならずしもwindowsの完成度とは関係していないが。 
2011年5月29日日曜日: notePCのHDDが壊れました - 復旧作業の紹介
以下、まだ更新中ではあるが、Macについてご紹介したい。のぼせ上がりやすい性格なので、Macにかなり傾倒してしまっており、主観的なのは、ご容赦願います。ご意見・思い違い等あれば、是非、本blogにコメント願います。

OS-X Lion (10.7.2)は大変進化している。ごてごてと過去の遺産を引きずらずに、切るべきところは、すぱっと切るのが、いつもながらAppleの見事なところである。使いにくいというblogも散見されるが、過去を引きずらずに、シンプルにするのが美学だと思う。
過去のソフト遺産とか、従来のデバイスに縛られる場合にはMacには移行しにくい。過去と決別するのを好まない人はMacよりMicrosoftを選ぶのが賢明かもしれない。win8では、Metro UI (新API対応アプリが必要/registoryも使わない) で決別を試みているが、従来互換は維持している。過去への互換性の考え方の違いは、AppleとMicrosoftを特徴づけているように思う。以下にも考察した。
2011年10月11日火曜日: AppleとMicrosoftを比較すると
さらには、MacにVMware Fusio4を入れて、windows7をinstallしたが、大変だった。世界共通バイナリであり、ユーザ毎にも言語環境を変えられるMac OS-Xを使ってからwindowsをinstallすると特に強く感じる。以下に書いた。。
2011年10月30日日曜日 Macbook AirにVMwareをいれwindows7を入れた。windows7 英語版には難儀した。。
Macbook Airは、MacbookProよりは割安だが、格安IBMPCに比べると、割高ではある。ただし、ソフトの追加購入コストがほとんどかからないし、割高なぶんの性能は持っていると思う。

以下にまとめたい。

ハードウェア) 仕様 - http://www.apple.com/jp/macbookair/specs.html
  • レガシーとの決別。
    • Ethernetコネクタ (RJ-45)をもはや本体に配置していない。必要ならUSB Ethernetポートか、Thunderbolt displayをHUBにして接続する。通常は内蔵WiFiで十分なので必要ないが、性能向上のためAppleのUSB Ethernetアダプタも購入した。これは、使っているとかなり発熱する。ちなみに、Bluetoothも持っており、これで、周辺機器をつなぐことも、これを用いたファイル転送もできる
    • HDDから決別し、全機種SSD (Flash)  128GB, 256GBとおごっている。おかげで起動がすこぶる速い
    • マウスやトラックパッドのスクロールの方向は、OS-X Lionでは、標準は逆転したが、これは設定変更可能。(ソフトウェアのところでも述べる)  Tabletにあった自然な方向だとの主張だが、OS-X Lionだけ逆の環境になって、レガシな装置と完全には決別できないユーザが混乱しないのかは疑問。タッチスクリーンのように明らかに操作感が違わないと使い分けができるものやら。これは101 keyboard(英語配列)と106キーボード配列の混在(日本語配列)の混在利用でもいえる
  • キーピッチが、19mmであり、desktopの間隔に近いが、薄くするためなのか、ストロークが小さい。トラックバッドが良いのに残念。やはりオフィスには、エルゴノミックキーボードを配置したい。もっともこれを配慮してか、Thunderbolt displayがdocking stationの役割を持っている。この環境を構築し、以下に記載した
    2011年10月23日日曜日:
    エルゴノミックキーボードと外部ディスプレイを使った生産性の高い環境
  • 13inchではスペック上は電池が7時間持つ。残時間表示をonにしていると、実効5時間くらいが表示されている。さらにLi-Ionは満充電で過充電すると電池寿命が下がるので、これも対策している模様
  • PCでは、ホームポジションから手を離すのは生産性が落ちる。なので、タッチスクリーンにはしていない
  • マルチタッチのタッチパッドが広くて使いやすい。マルチタッチでジェスチャーの認識精度も高い。ジェスチャーも4本指まであり、よく考えられている。余計なスクロールエリアだとか、マウスボタンなどがなく、広々と使える。windows noteのような苦痛が少ないので、移動時には、マウスを持ち運ばなくてもよさそうである。
  • Thunderboltディスプレイが秀逸である。27インチで解像度2,560 x 1,440と高く、発色もよい。10Gbps が2linkあり、ディジタルで専用ディスプレイにつながる。これが、ドッキングステーションになる。
  • Macは、IBM PCがアナログVGAに足踏みしている間に、Digital DVI (single link, dual link -- dualなのはMacぐらいでは...),  HDMI、Thunderboltと進化した。Macbook (AirもProも) おなじmini portにアダプタを変えることで、上記すべてのデバイスがつながる。displayというカテゴリで、本体側はたった一つのコネクタに押さえているのが見事である。10Gbps が2ポートなのが、従来のmini display portであり、このコネクタ形式のケーブルから10Wも電源供給ができるのである
  • 厚さは最薄部0.3cm-最厚部1.7cmと薄く、余計な出っ張りが全くないので、すっきりと鞄に収まる。重量は13inchで1.35kg。が、アルミボディで作りがしっかりとしている。普通のnotePCにある送風用やスピーカ用の穴がない。ファンはついているようで、負荷が高まると音はする
  • 本体LCD上にカメラ、本体にマイクがついており、skype等に対応している。カメラは、PhotoBooth等とも連携している。また、カメラを利用して環境輝度を認識してLCDの明るさを変える。急に変えると違和感が出るので、じわじわと変わる
  • 13inchで256GB Flashがついて13.8万円は安い。さらには、core i7 (dual core, 1.8GHz)にもなる。またキーボードはwebでオーダすれば、101配列(英語配列)も選べる。私は、1列少ない英語配列が好きである。メモリは4GBであり、拡張はできない
 私が購入したのは、電池の持ちと画面サイズを考えて、Macbook Air 13 inch, 256GB SSD, core i7 である。

  • Thunderboltディスプレィには、Macのmini displayケーブルしか出ていない。DVIもHDMIもVGAもつながらない。さらには、古いMacbook等の非Thunderboltのmini portにはつながらない。完全にThunderboltのinterfaceしか持たない。なので、返品が多いらしく、店でも何度も何度も確認された。
  • Thunderboltに搭載されているのは、ウーハ付きスピーカ(2.1ch)、マイク、カメラ、1G Ethernet port、USB 3ポート、IEEE1394(Firewire) port,  Macsafe経由でのnotePCへの電源供給機能,  拡張用Thunderboltポート。Thunderboltは10Wの電源供給能力も持つ。
  • Macを、Thunderbolt displayから出ている電源とmini-display portにつなぐと、Thuderbolt displayが、キーボード・マウス・外部ドライブ・Ethernetなどの、ドッキングステーションになる
    • Macは閉じたままでも良い
      • 閉じていれば、メニューバーが全部Thunderbolt display側にいく。電源を切るのは簡単である、display cableを抜けばsleepになる。ハイバネーションか、sleepかを気にする必要もない。sleepで電池が30日と十分持つらしい。http://www.apple.com/jp/macbookair/features.html#longlasting
      • 電源を落として、Thunderbolt displayなしでMacを開くと、ウィンドウは、Macの小さいディスプレィに収まるように集まってきている。アイコンは自動整列にしておけばよい
    • Macを開けていれば2画面になる
      • このときは、メニューはMacbook側に残る。2画面か複製表示にするかも自在に設定ができるし、設定画面がメニューバーにあり、設定も楽
  • MacbookPro 15inch, 17inchなどAMD Radeon GPUを持つ機種ならDual Displayにできる。Thunderboltは非常に高速なので、通信遅延に対策したプロトコルが作れれば、GPUもDisplay側に設置できる。これにより、notePCの本体コストや消費電力をあげずにThunderboltの芋づる接続で何台でもマルチディスプレィにできるはずである。制御ドライバは複雑かもしれないが。。
    今後の進化に期待したい
  • オーディオは良い音がする。が、背面にも上にも横にも溝はない。下部の見えないエッジにメッシュがある。デザインにはこだわりがある。
外部ディスプレィ等を活用した環境は、以下に別記していく)
2011年10月23日日曜日
エルゴノミックキーボードと外部ディスプレイを使った生産性の高い環境
ソフトウェア) OS-X Lion (10.7.2)
  • 必要なものが、ほとんど最初から入っている。私が、追加で有料で購入したのは、いまのところATOK(まだ30日間の試用中だが)と世界時計だけである
  • App Storeには優良なソフトがきわめて安価でそろっている。iPad, iPhone等から、優良なソフトがさらに増えることを期待したい
    • windowsの高機能な世界時計はsharewareで、1,000円以上もしたが、今回のは1.9ドルであった。他にもApp Storeの品揃えは多い。必要機能はこれで十分である
  • 設定がきわめて簡単。基本的にはOSがSSDにセットアップ済みで、カスタマイズのみなので、2時間もあれば、凝ったものを除いて、ほとんどsetupは終わる
  • 最初から多言語対応である
    • 米国製Macでも、すべてのツールが最初から日本語対応、というか、韓国語でも、アラビア語でも、優先度をつけて対応できる模様
    • 何語の設定にも自由に行き来できるし、ユーザごとに言語設定を変えられる。米国人への説明が便利なようにメニュー等を全部英語にしているが、これで問題なく日本語は使える
    • blog用に日本語環境のユーザも作った
    • 残念ながら、ログインしたままユーザを移動できず、一旦ログアウトする必要がある。 ←これは誤り。上部のコマンドバー右から2番目にある、ログインネームをクリックすると、メニューが現れ、複数ユーザ間を移動できる。もちろん移動時には、移動先ユーザのパスワードが要求される。この移動は、立体が回転するようなアニメーションになっており、なかなか格好が良い。
    • ユーザ間screen shot等のファイルを移動することも可能。管理者設定にしておけば、Unixのdirectoryツリーが全部見えているからである
    • ユーザの環境は、/Users/$USER_NAME に保存されている。
      • /Users/$USER_NAME/Library以下に設定情報が保存されているが、このフォルダは、通常はfinderでは表示されない
      • https://discussions.apple.com/thread/3301036?start=0&tstart=0 でrootを有効化する。若干やり方が違うができた。
      • rootになりtar で、内容をcopyしてchownする。userが違うのでdirectoryのsymbolic linkは効かないと思うが、fileのhardlinkはできるのでは。そのうち、shell scriptかperlで処理してみたい。
    • 言語セットがUTF-8に統一されている。UTF-8ならば、S-JISと異なりバイナリ検索がつかえるし、EUCのように、言語環境にも素直に通る。MailのencodingまでもISO-2022-JPではなくUTF-8にしてしまっているのは、ちょっとやり過ぎ。

      RFC2822によればヘッダを構成していいのはUS-ASCIIと改行文字(CR/LF)なので、UTF-8は一見ルール違反だが、実際に は、UTF-8をQuoted-Printableでエン
      コードしてあるので、これは、MTA的には US-ASCIIでRFC compliant。本文は、UTF-8をbase64でencodeしている。本文は圧縮度のため、件名は英文だけならRFC-8非対応のメイラでも見えるようにするため、エンコードを買えているのだと思うが、この不一致のため、Outlook expressなど、混乱するメイラが多い。

      相変わらず、すっぱりと過去を断ち切るのは、Appleらしい。
  • rebootする前の状態を保存しており、再起動すると同じツールが全部立ち上がる。デバイスドライバ等によっては再起動が要求されるものもあるので、これはきわめて便利。Reboot時間を測定してみた。13個のアプリが開いており、うち1つは14タブを開けたGoogle Chromeである
    • 再起動を指定して、落ちるまで:  6秒
    • そこから、ログイン画面が表示されるまで: 20秒
    • そこから、パスワードをいれて、Chromeやターミナルウィンドウなどアプリが立ち上がるまで' 16秒
    • Chromeのtab等の読み込みが終わるまで: 15秒 (やや怪しい)
    • 13個のアプリが復元した。
  • 一方sleepからの復帰は、以下のようにパスワードを入れている時間のほうが長い。ここまで速いと、指紋認証とか、なにか別な認証が欲しい。iPhoneのような数字4桁は心もとない
    • パスワード入力画面がでるまで3秒 (Sleepに入ってからの時間経過でも、多少ばらつく気がする。最大7秒ぐらいのときもある。)
    • パスワードを入れ終わってから、アプリが復元するまで1秒以内
    • WiFiには、すでにつながっている。電波が弱いときには接続に時間がかかることもある
    • Sleepに入るのは一瞬
  • ツール間のインターフェースが統一されており、有機的に連携している
    • ほとんどのツールが、Emacsのキーバインディングで編集操作ができる。キーから手を離す必要がないので、きわめて生産性が高い。
    • どのツールからもマウス位置の単語が、付属辞書(Oxford 英英、Oxfordシソーラス、プログレッシブ英和・和英、類語、大辞泉、wiki)でひける。これだけの辞書が最初からついてくるだけでもお得である。タッチパッドなら、3本指タップでいける。Chromeは対応していないので、2本指タップでポップアップメニューを出して選択する必要がある
    • どのアプリもCommand /+/-でフォントサイズが変えられる。ウィンドウの大きさは変わらないでフォントだけが拡大縮小する
    • SSHやFUSEでネットワークにつないだまま、sleepに入っても、別段エラーもなく接続が切れるだけである。再開したときに操作が速い
    • 音声読み上げ機能が標準でついている。MailでもEvernoteでも同じように、textを選択して、右クリックメニューないしはEditメニューからSpeechをセレクトすると、音声読み上げができる。Chromeは対応していない。日本語があるとそれは無視しえ、半角数字とか半角アルファベットとか英語で読めるところだけを読む。抑揚もあって、かなり流ちょうな英語である
    • ログインでパスワードを間違えるとwindowが震える。余計なメッセージもなく簡潔でわかりやすい。本体デザイン同様にセンスが良い
  • タッチパッドのジェスチャーの認識精度が高い
    • 特にタップ=クリックの誤認が少ない。windowsのnotePCのタッチパッドでダブルタップをクリックにしていると、勝手にクリックになり操作がめちゃくちゃになることがあるが、Macbookではそういうことは起きない
    • ジェスチャーは、設定画面からそれぞれon/offできる
    • ときどき間違えて、シングルタップを2本指タップにしてしまうが、標準設定では、幸い2本指ではメニューがでるだけなので、悪影響が小さい
  • システム設定も直感的
    • windows系のように設定が分散していない。networkの設定はたった一つのアイコンからできる
    • Userの設定変更等間違うと困るものは、鍵がかかっており、passwordを再入力して解除する必要がある。このインターフェースは直感的でわかりやすい
  • アプリは、Registoryとか、dllとかで、システムを不安定にしない。
    • mail.app は実はフォルダになっており、その下に必要なものが入っている。folderから「構成要素を表示」とやると簡単にいじれる。もちろん、Terminalのbashからはtextベースで操作できる。通常は、xxx.appをゴミ箱にいれるだけで、きれいさっぱりアンインストールできる。
    • http://guides.macrumors.com/Uninstalling_Applications_in_Mac_OS_X
      によると、一部、以下にファイルを残すものがあるらしい。
      • /Library/Preferences/
      • /Library/Application Support/"

  • 退化しつづけるOutlook (outlook 2007はスレッド表示や、引用の制御もしにくくなっている)と違い、添付のMailツールは着実に進化している。(後半に記載した)
  • キーボードのカスタマイズも標準サポート。CapsLockにもControlをmapしたり簡単にできる
    • ちなみにwindows7では、英語配列(101配列)の外部キーボードを接続して英語配列に認識させるのに、registoryをいじりrebootする必要がある。windows系では、悪いことにキーボードごとに配列を変えられない。外部に101(英語配列)をつけ、これように101配列に設定すると本体が106(日本語配列)の場合でも、本体のキートップが英語配列で認識されてしまう。
    • Macは、当然keyboardごとに配列を認識するし、この認識も、指定通りに両シフトキーの内側のキーを2回押すだけで自動認識である
  • マウスのスクロールが従来とは逆になった。が、「設定 →トラックパッド」の「Scroll direction」での「Natural」のチェックを外せば従来互換に戻る。本来、タッチパッドと、マウスで別々に設定できると慣れるのに楽かもしれないが、「下にこする=スクロールバーを下げる、画面が上がる。」というのが、TabletやiPhoneなどの動きの反対で不自然なので、もうやめてしまえよ。。というAppleの主張なのだと思う。(既存インフラをそこまで否定するのか。。とも思うが。。)
  • MS-IMEは変換精度がどんどん悪化しているが、ATOK for Mac を使うことで、変換ミスがかなり減り、入力が楽になる。
    (Windowsでも同じだが)。ATOKは、流行対応した辞書が定期的に追加されるし、定額制ならアプリ本体も更新していく。無料のCloud Storageを使って、他のATOKと辞書を共有できるらしい。Functionキーや矢印キーを使わないATOK標準のキー設定は、操作性をかなり向上させる。もちろんカスタマイズも可能なので、私はひらがな/英語の切り替えを Control-Jに割り付けている
  • OS本体がBSD系UNIX なので、Unix, Linux系のツールが最初からついてくる。コマンドシェルはbash (v3.2.48)であり、/usr/binには、gcc (v4.2.1),  git (v1.7.5.4), emacs (v22.1.1),  perl (v5.12.3),  python (v2.7.1),  ruby  (v1.8.7),  php (v5.3.6), vim, ssh, x-server, rsync, yacc, lex などが最初から入っている。そもそも、unix系のツールはサイズが小さいので、/usr/binには1082コマンドも入っているのに、disk容量は122MBしかない。これもwcやduというコマンドで簡単に調べられるのが、unix系のツールの素性の良さである。
    無いツール (たとえば、wgetやgnuplot)もmac port等で取得するか、source forge等で取得してコンパイルすれば使える。(Unix系ツールの整備については、別記事 :
              2011年10月23日日曜日 MacでBSDツールを利用するに記載する)
  • OSの設定が、BSDなので大変楽。ps, killでjobを殺すこともできるし、使いやすいGUIのツールもついてくる。
  • Terminalが進化した。半透明にできるので下に何があるか透けて見える
    • TerminalやX11のterminalで、ATOKのひらがな/カタカナ切り替えキーが通らない。ATOK標準のCtrl+Shift+C ないしはCtrl+Shift+Zは通る。私がカスタマイズしたCtrl+Jを通したい
    • 変換モードはwindowsごとに持っておらず。グローバルらしいので、一旦他のwindowに出てから、terminalに戻ると仮名入力になっている。それはそれでつかいやすいのだろうか?私には使いにくいが。
  • 無料のwinbottlerを使えば、windowsのソフトが走るはずであるが、win95時代のレガシーツールのインストールには成功していない
    • winebottlerの状況は、別記事に書く :  2つのソフト(一つは、CravingExplorer-1-1-0.exe) を試したがどちらもうまくインストールできていない。日本語フォントへの対応は、以下にあるものを試したが、インストーラは文字化けしている。
      http://www.semerumamoru.com/wblog/?p=1909
    • VMware Fusion 4(有料) は、Mac OS-X Lionに対応した。
      http://www.mdn.co.jp/di/newstopics/19925/
       これを使えば、windowsをOS-X Lion上でひとつのwindowとして走行されられる。費用もかかるし、あえてwindowsを導入したくはないのだが、過去の互換性を確保する一つの方法だろう。
    • 標準添付のBootcampで、Mac OS-X, Linux, windowsのトリプルブートにもできるが、Linuxを入れなくてもかなり類似ソフトは動くし、Mac OS-Xを毎度シャットダウンし、起動の遅いwindowsを起動し、連携していないwindowsツール群をつかうのも癪である
  • Xcodeなど、開発環境はAppleから無料で入手できる。iPhone,iPadのデバイスにダウンロードするには、有料のライセンスが必要である。デバイスが脱獄してあれば、これも無料になる
  • Office系ソフトは、無料のLibreOffice (Openofficeからspinoutした技術者が作ったもの) で十分使える。日本語も問題なく表示・編集できる。PowerPointで、既存のファイルを表示させると、若干、図形が乱れることはあるが、だいたいは正しく表示される。もちろん、pptxなどにも対応し、html, pdf, jpg 出力など、MS Officeよりも多彩なファイル出力を持つ。表計算は、こちらの方が使い勝手が良い
  • iCloudで、iOS5.xとMacのデータが、cloudを通じて同期できるようになるらしい
    • メイルをiCal(カレンダー)にはりつけ、スケジュール化できる模様
    • これがiCloudで他のデバイスと共有できると最強である。現状はgoogle calenderを使っているのだが
  • ireless lanの検出がかなり速い。windows7は、networkがつながらなくなってrebootすることが、時々あるのに
  • MacbookProとMagicmouseがつながっているときに、今度のMacbook Airとマウスの関係はどうなるのかと思った。あるMacとつながっているBlueToothマウスは、他の機器とはつながらないようである。MagicMouseは、MacbookProでは、自動認識されず、手でメニューバーから認識させないとならないことが多かった(Snow Leopardの問題かも...)。今回は、ロジテックM305 Mouseにした
  • Tabletのような、Launch padが導入された。win8でいうところの、Metro UIであるが、従来のMacアプリがアイコンとして表示される。別アプリだけが表示されるMetroとは違う。
  • windowsと異なり、開いているアプリはDOCKに表示されない。4本指までのタッチパッドのアクションを使って、Exposeにしたり、Launch padを起動したり、いろいろなことができる。single fingerのdouble tap(=左クリックの機能)の誤認識も少ない。マウスより便利かもしれない。。。 
  • OS-X Lionの初期設定等は、以下のwikiにも書かれている。
ということで、私は、すべての環境をMacに移そうと思っている。もうかなりレガシーソフトから移行した。後日報告したい。

また、広い画面と、エルゴノミックキーボードを使うことで生産性があがることがわかった。特に、キーストロークが最適で、形状も打ちやすい、エルゴノミックキーボードは、体への負担が軽く、かなりのスピードで打てる上に、体への負担も軽く肩こりにもなりにくいように思う。アメリカでは、大学院生はもちろん、役所などでも、エルゴノミックキーボードを使う人は多い。これも別途レポートする。

進化したMail) 
MailのView→Organize by conversation (日本語モードでは、未確認。)


マウスオーバの辞書検索)

 Mailの場合) touchパッドから単語を3本指タップで、以下の画面になる。wiki-pediaを含めて4つの辞書が一気に検索される。標準添付のブラウザであるSafariでもだめである。


Google Chromeの場合) 単語を選択して、マウス右クリックメニューないしは、タッチパッド2本指タップで出るメニューから辞書検索を選ぶ。


とにかく、なにも買い足さなくて、これが標準機能だけでできるのはすばらしい。