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アクセスになっていました。久しぶりに更新しました。
ラベル Mac の投稿を表示しています。 すべての投稿を表示
ラベル Mac の投稿を表示しています。 すべての投稿を表示

2013年10月8日火曜日

MacでLaTeXを使う。

Wordでは、長い文章を書くと、フォーマットが崩れます。また、学会等では規定のフォーマットがありLaTeX/Texのテンプレートを用意しているところもあります。

そこで、Mac OS-X Mountain Lion (10.8.5)にLaTeX (正確にいうと、pTeX / pLaTeX) をインストールすることにしました。大体上手くいったので,以下に記載します。

参照した、リンクを掲載します。
  1. 「MacTeX 2013 + TeXShop 3.23 で日本語」
    http://www.clas.kitasato-u.ac.jp/~fujiwara/MacTeX/ 
  2. 「Max OS-X Lionで、Tex環境を整えるのに一番簡単な手順(たぶん)」
    http://d.hatena.ne.jp/lucky_pool/20120209/1328758735
  3. 「Mac OS X Mountain Lion でのpLaTeX環境構築」
    http://mkdir.g.hatena.ne.jp/ymrl/20121105/1352166717
  4. 「初心者がutf8でLaTeXとBibTeXを使うための一通りの準備(Mac編)
    http://hnsn1202.hateblo.jp/entry/2012/08/15/193627
どれをみても、MacTeX と、TexShopを使うのが良さそうである。
おもに、上記3, 4を参考にやった。
3を参考に、GhostscriptとImagemagick も入れようと思ったが、Homebrewが不明なので取りやめた。

グラフィック環境やOutlineエディタに関しては、以下の記事に書いた

2013年10月22日火曜日: Latex用のEditor、グラフィック環境


漢字コード)
はたして、日本語文字コードはMac標準のUTF-8で書くべきなのか、Unix標準のJISないしはEUCなのか、windowsの世界のShift JISなのか。。。日本語の文字コードはいろいろ乱立していてややこしい。
詳しい方に聞くと、Unix/Linuxは今やMac OS-XやiOSと同じUTF-8に統一されているらしいので、Macで作業する分には特に問題はなさそうである。

インストール)
上記、3に従い、コマンドをインストールして、2にしたがってTexShopを設定した。
圧縮されたMaxTeX.pkgだけで、2.36GBもあるので、相当にstorage spaceが必要。
TexChipのインストールパッケージは59.6MBと割と小さい。

コマンドラインから使えるように、/usr/texbinにパスをはる。
つまり、~/.bashrcの
export PATH=の最後にコロンをデリミタとして、:/usr/texbin/: を追加。

terminalから、which ptexで、/usr/texbin//ptex と表示されればOK。
UTF-8にする設定法は上記4に出ている。

設定)
上記、2からリンクされている http://www.misojiro.t.u-tokyo.ac.jp/suribt/#unzip_target から論文用のStyle file: jsclasses-061106.zip と suribt-20070118.zip .を取得。2を参考に、以下の場所にStyle fileを展開。これらのdirectoryは、インストールによって既に作られていた。
  • styファイルの置き場所:/usr/local/texlive/texmf-local/tex/latex/local
  • bstファイルの置き場所:/usr/local/texlive/texmf-local/bibtex/bst/local 
それぞれの場所にコピーしたら、ターミナルで以下のコマンドを実行。
sudo mktexlsr
とあるので、/usr/local/texlive/texmf-local/tex/latex/local に2つのzipファイルをコピーして展開。terminal windowのコマンドラインでsudo以下を実行すると以下の様に表示される。
Satoshi-MacBA:~$ sudo mktexlsr
Password:
mktexlsr: Updating /usr/local/texlive/2013/../texmf-local/ls-R...
mktexlsr: Updating /usr/local/texlive/2013/texmf-config/ls-R...
mktexlsr: Updating /usr/local/texlive/2013/texmf-dist/ls-R...
mktexlsr: Updating /usr/local/texlive/2013/texmf-var/ls-R...
mktexlsr: Done.
TexShopの設定)
これは、冒頭リスト4のやり方:

「初心者がutf8でLaTeXとBibTeXを使うための一通りの準備(Mac編)
http://hnsn1202.hateblo.jp/entry/2012/08/15/193627

でうまくいった。ベースはdefaultのregularでよく、特に、以下のところに注意。

  • 「BibTeXエンジン」を「pbibtex」に変更
  • TeX + dvips + distiller」内の「LaTeX」を以下のように変更*4
simpdftex platex --mode dvipdfmx --extratexopts "-synctex=1 -kanji=utf8"

私の場合、英語設定なので、「内部設定」のタブは、「Engine」となっており、以下の様な設定した。


他は、
Source Tabにて、
  • エディタの文字コードを変更。「UTF-8」を選択(忘れると文字化けの原因になるので注意)
Typesetting Tabにて、
  • デフォルトのコマンド」は[LaTeX]を選択
  • 「デフォルトのスクリプト」は[Tex + DVI]を選択
Misc Tabにて、
  • 「utfパッケージ対応」「UTF-8-MACをUTF-8に自動変換」にチェック
ここまで終わったらTeXShopを再起動すればよい。
テスト実行)
上記リンクから、骨組み見本 ([2005/12/09] 以降用)をTexShopへコピペした(以下)。


実行結果)  「Typeset」ボタンを押すと、以下の様に結果が表示される。styleファイルのデフォルトで「卒業論文」や「東京大学工学部計数工学科」になってしまっているが、これは修正しないと ...  orz....

srribt.cls を見ると分かるが、\documentclass[doctor]{suribt} のように、引数として、masterやdoctorをいれれば、修士論文、博士論文のテンプレートが適用される。これらテンプレートファイルをいじることで、体裁もいじることができる。


2ページ以降10ページまで美しく作成される(以下に一部掲載) さすがは、Latex... (数学の論文を書くために、これの元のツールTexを1980年初頭につくった、Don Knuth, Stanford名誉教授 http://bit.ly/sTdN5u は偉大である!!)




ソースファイルからの文字エンコードの変更)
TexShopでUTFにエンコードを変える方法は、上記リストの2に説明がある(以下に引用)


その後) - 2013/12/26追記
Latex2e 日文書作成入門 改訂第六版 3,200円  http://amzn.to/K8gEKt を購入した。本の顔は以下。


付属のDVDにMacとWindows用の簡単インストーラがついているので、Mac版をインストールした。

これによって、Macでは、以下にインストールされる。
  • /Applications/TeXLive 以下
  • テクスト系ツールは、/Applications/TeXLive/Library がベースdirectoryになる
  • texmfは、 /Users/Shared/TeXLive/ に置かれている。
    ここは、/Applications/TeXLive/Library/texlive/2013/texmf.conf  で指定されているが、このlatexのインストールに組み込まれた必要なファイルも入っている。
ドキュメント)
ドキュメントもインストールされて、以下のURLからブラウザで日本語を含む各国語のdocumentがよめる。

file:///Applications/TeXLive/Library/texlive/2013/index.html

上記からリンクされている日本語版のTeXLiveドキュメント先にはファイルがない。英語版は以下からアクセス出来る。

file:///Applications/TeXLive/Library/texlive/2013/texmf-dist/doc/texlive/texlive-en/texlive-en.html

オリジナルのスタイルファイルの設定)
結局のところは、上手くいかないので、texのソースがある文書フォルダの中に、Styleというフォルダを作り、そこにオリジナルスタイルファイル一式を置き、以下の様に相対パスでスタイルファイルを指定することで解決している。
¥documentclass[doctor]{Style/suribt}
共通置き場作成には未成功)
従来、suribtがおかれていた

/usr/local/texlive/texmf-local/tex/latex/local

にあるファイルを以下の様にして、ここの下のlatex用のlocalファイルにcopyする。
cd /Users/Shared/TeXLive/texmf
cp -r /usr/local/texlive/texmf-local/tex/latex/local/* tex/latex/local
sudo mktexlsr
(注: sudoで実行すると、、/Users/Shared/TeXLive/texmf/ls-R にsuribt.clsが記載されるはずだが、出てこないので、suでrootになってから実行した。するとls-Rに掲載される。)

これによって、TexShopからlatexソースがコンパイルできようになるはずだが、suribt.cls が見つからずにエラーになる。
ところが、consoleで、suribt.cls をフルパスすなわち
/Users/Shared/TeXLive/texmf/tex/latex/local/suribt.cls
で打ち込むと、正常に結果がビューアに表示される。つまり、style fileのある場所の指定が上手くいっていないようである。mktexlsrないしは、texhash コマンド(これらのpathも /Applications/TeXLive/Library/texlive/2013/bin/x86_64-darwin/mktexlsr になっている) により、 /Users/Shared/TeXLive/texmf/ls-R にsuribt.clsが記載されるのに、おかしな話である。。


スタイルファイルの置き場所については、以下にも情報がある。
http://hnsn1202.hateblo.jp/entry/2012/08/15/193627

TeXLiveの更新)
新しい版が出ているようなので、tlmgrで更新した。
tlmgr --help   でヘルプが出る
tlmgr update --list  をみると、更新されたファイルが沢山あるので、su でrootになって以下を実行
tlmgr update --all
最後にいくつかfailがでたが、同じコマンドを実行するとup to dateとなり更新は終わったようである。
が状況は変わらず。良くも悪くもなっていない。

環境設定の違い)
デフォルトでは、以下のスクリーンショットのようになっている。

pdfTeXのLatexの設定が
lualatex --file-line-error --synctex=1
Tex + dvips + distillerのLatexの設定が、
ptex2pdf -l -ot "-synctex=1"
とptex2 (e-pTeX Version 3.1415926-p3.4-110825-2.6 (utf8.euc) (TeX Live 2013))
なっている。ここはwebからインストールしたものでは、それぞれ以下のようになっている。この違いのせいで、texmfのlocalを読まないのかもしれない。
pdflatex 
simpdftex platex --mode dvipdfmx --extratexopts "-synctex=1 -kanji=utf8"


図表の挿入)
\documentclassのあとに、
¥usepackage[dvipdfmx,final]{graphicx}
をいれ、
本文に、
¥includegraphics[width=5cm]{foo.jpg}
を入れる。すると、foo.xbbが無いとエラーを起こす。
が、これは、http://bit.ly/1c99UVD にあるように、ターミナルウィンドウから、foo.jpgに対して、
extractbb foo.jpg 
を実行しておけば、foo.xbbが作られて、無事jpgファイルを取り込め、プレビューできた。

2012年12月24日月曜日

Mac OS-Xが依然不安定な理由

Talagentの問題は解決し、Google Chromeを使っていて、Macがfreezeするということはなくなった。詳しくは以下。


2012年12月18日火曜日: Mac OS-X Lion系(10.8.2) でのブラウザ不具合はtalagentが原因


まだまだハングしている)
ところが、相変わらず、Macは何度かfreezseしている。状況は以下。冒頭は日付。これぐらいの頻度で起きている。
  1. 2012/12/20, 2012/12/21: SleepしてDisplayが変わって再起動したとき
  2. 2012/12/22: Time machineが起動したとき
  3. (日付失念) : 理由は不明だが、talagent以外の理由でハング
  4. 2012/12/24: Time Machine関係のツールがハング
今後、継続解析して、対策したい。

1の概要)
1は、自宅でDVI接続で外部LCDをクラムシェルモードで使ったあとsleepさせ、本体displayで起動しようとしてハング。強制rebootして使った後、またsleepさせて、自分のオフィスに戻ってThunderbolt displayにつないで起動しようとしてハング。そして強制rebootという具合。/var/log/system.logをみると、Graphic acceleratorが無応答になっているメッセージが沢山あり、talagentは原因ではないが、尋常ではなさそう。

2の概要)
USB接続の外部HDDを繋いでTimemachineが起動した瞬間にハング。長く起動しつづけていない状況で、依然はバックアップできていた。
/var/log/system.logをみると、

Dec 23 12:40:51 Satoshi-MacBA com.apple.backupd[7813]: Backing up to: /Volumes/My Passport/Backups.backupdb

とでたまま、10分以上メッセージがない。timemachineにもメモリーリークがあって、段々不安定になるのだろうか。。。

4の理由)
/var/log/system.log をみると、以下の通り。

Dec 24 16:20:47 Satoshi-MacBA mtmd[70]: Set snapshot time: 2012-12-24 16:20:49 -0800 (current time: 2012-12-24 16:20:47 -0800)
Dec 24 16:20:47 Satoshi-MacBA kernel[0]: nspace-handler-set-snapshot-time: 1356394849
>>> reboot >>>
Dec 24 16:30:41 localhost bootlog[0]: BOOT_TIME 1356395441 0

nspace-handerがsnap shotを撮ろうとしてハングしている。http://bit.ly/TnFQQp によると、nspace-handerは、Mac系のbackup toolである、Time Machine関係のプログラムらしい。

つまり、2と4を考えるとtime machineを無効にすると改善するかもしれない。
2の前にDisk Utilityでdiskの異常はチェックしている。また、4の後にもDisk UtilityでVerify Diskと、Permission checkをやっている。前者は異常なし、後者はcoreのファイルパーミッションがいくつか不正であった。が、これが、time machineをfreezeする原因とは思えない。

起動して直ぐにtime machine backupを行っても問題ないので、これまた、Time machine関係のツールにメモリリークがあり、動き続けるとおかしくなるということかもしれない。
またもや、定期的にtime machine関係のツールをkillして再起動させれば解決するのかもしれない。
とりあえず、再起動直後にTime machineのバックアップを行い、Time machineの設定でTime machineを止めた。これでどうなるかしばらく様子を見たい。

VMware Fusionには罪はなかった)
VMware Fusionを購入してから、Mac OS-Xが不安定になったと思っていたが、どうも関係ない。先日Application folderから消去したが、ゴミ箱に残っていたので、復旧しておいた。
ま、価格性能比が良いwindowsのnotePC(以下リンク)を購入したので、あまり使うとも思えないが。。

2012年7月18日水曜日:windows7のnotePCをMacの様に使う


終わりに)
と、とんでもなく、OSの、できが悪いように思う。windowsやlinuxでは、このレベルの問題は起きてはいない。

2012年12月18日火曜日

Mac OS-X Lion系(10.8.2) でのブラウザ不具合はtalagentが原因

追記)
ATOKを使わなくても、やはりハングした。

バグレポートをしておいた)
Apple developer networkを使って、英語アカウントから2012/12/20にバグをレポートしておいた。Problem ID: 12921400    である。そのうち、修正版がでると期待したい。

原因はtalagent)
talagentというプロセス(daemon) がwindowを制御しようとし失敗して、膨大なメッセージをはき続けており、この状況でGUIを制御しようとすると軒並み巻き添えを食らっていた。Mail,  Evernote, task managerなど軒並みこれに絡んでハング。この章の最後にsystem.logの該当部分を引用する。

たまたま、terminalが起動できた。そして、このtalagentをkill -9 で殺したところ、ATOK、Chrome、Activity monitorなど、ハングアップしていたものが一気に復活した。

昨日、何度かOS-Xがハングしているが、system.logをみると全てtalagentが以下のようにwindowを操作しようとして、エラーを起こして、システムをハングさせている。
talagent[230]: CGSSetWindowSendExposed: Invalid window 0x35
talagent[230]: CGSBindSurface: Invalid window 0x2c
もう少しtalagentについて調べ、以下の実験が上手くいったら別投稿にまとめる。

それにしても、/var/log/system.logには膨大量のエラーメッセージがはき続けられている。OS-X Mountain Lionは、極めて未完成なままリリースされているOSということだろう。。

talagentとは)
http://forums.macrumors.com/archive/index.php/t-1138868.html によると、以下の様にあり、
talagent -- talagent is a helper agent for the Transparent App Lifecycle feature.
DESCRIPTION
The talagent tool provides services related to the Transparent App Life-cycle feature.
上記で言われている the Transparent App Lifecycle というのは、
http://bit.ly/Zg8TI4 に説明がある。マシンが落ちても、データやウィンドウの位置を含めて以前の状態に復活するということだと思う。なので、時々動いて状態を待避していれば十分。多分状態の待避には1分もかからないので、5分ごとに見付けてkillしても問題はないと思う。talagentは、killされても直ぐには再起動しないのだが、かりに相当時間が掛かって再起動したとしても、killするほうと同期しなければ、talagentは平均2.5分は生きているわけなので、とりあえず状態待避には問題はなさそうである。そもそもcrashしなければ、talagentなど必要はない。。

talagentは不安定になったOS-X Lionの途中で導入された、ないしは、改造され不安定になって、そのまま放置されているのかも知れない。

それにしても、状態復活のためのdaemonの性でシステムがハングするというのは、これまたお粗末。。

talagentの動作)
talagentは殺しても、以下のようにしばらくすると復活する。
Satoshi-MacBA:log$ ps -e | grep talagent
 3726 ??         0:00.86 /System/Library/CoreServices/talagent
 5387 ttys000    0:00.00 grep talagent
Satoshi-MacBA:log$ kill 3726    << 殺した
Satoshi-MacBA:log$ ps -e | grep talagent
 5389 ttys000    0:00.00 grep talagent   << もういない
Satoshi-MacBA:log$ ps -e | grep talagent
 5391 ttys000    0:00.00 grep talagent  << もういない
Satoshi-MacBA:log$ ps -e | grep talagent
 5393 ??         0:00.07 /System/Library/CoreServices/talagent <<復活
 5400 ttys000    0:00.00 grep talagent
launchdで 処理する)
http://bit.ly/YfOCky のようにMac OS-X Lion系にはinit.dがない。
ホームディレクトリにある Library/LaunchAgents に、XMLで記述ファイルをつくれば、自動的に実行してくれる。
http://bit.ly/1ggKTwD にサンプルがある。

~/Library/LaunchAgents/com.satoshi.killtalagent.plist として以下のファイルを作ったところ定期的に実行される。実行されていれば、/tmp/Satoshi-KillTalagent.out に以下のメッセージが追記される。
Killing talagent at Mon Oct 14 22:19:58 PDT 2013 
これが一番簡便である。StartIntervalが1800=1800秒=30分なので、30分に1回実行される。
 ~/Library/LaunchAgents/com.satoshi.killtalagent.plist  の記述は以下のようにする。

--
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>com.satoshi.killtalagent</string>

  <key>ProgramArguments</key>
  <array>
    <string>/Users/matsushi/scripts/kill-talagent.sh</string>
  </array>

  <key>Nice</key>
  <integer>1</integer>

  <key>StartInterval</key>
  <integer>1800</integer>

  <key>RunAtLoad</key>
  <true/>

  <key>StandardErrorPath</key>
  <string>/tmp/Satoshi-KillTalagent.err</string>

  <key>StandardOutPath</key>
  <string>/tmp/Satoshi-KillTalagent.out</string>
</dict>
</plist>

--

/Users/satoshi/scripts/kill-talagent.sh は以下のようなシェルスクリプトである。
--
#!/bin/sh -f
echo Killing talagent at `date`
killall -c talagent
--
perl スクリプトでやると)
5分に一度ぐらい起きだして、talagentを探してkillするcron scriptで解決するのではと思う。

昔使っていたperl scriptは以下の通り。
これをバックグラウンドで動かしていた。

オプションは、
     -vでverbose (これを付けないとメッセージは何も出ない)
                    -t 数字 でsleepの秒数指定 (デフォルトで300秒)
                    -dでデバッグモードである。

このスクリプトをバックグラウンドで動かしておくことで、Mac OS-Xがハングアップしても、5分以内に復活してこれば成功である。

状況)
まる2日動かしてもハングしないし、system.logにはtalagentのエラーメッセージは吐かれない。多分talagentがメモリーリークしていて、長期に渡り動かすと、段々おかしくなるのであろう。つまり、ハングして復旧するためにkillするのではなく、メモリリークを起こすまえに再起動すればよいので、30分毎に再起動でも構わないはず。。ということで、30分間隔にタイマを変えて試しているが、多分これでも大丈夫である。

使い方)
以下を、例えば kill-talagent.pl というファイルに書き込み。
chmod +x kill-talagent.pl
kill-talagent.pl &
で起動しておけばよいはずである。

スクリプトのソースコード)
---
#!/usr/bin/perl                                                                                                                      
use Getopt::Long;                                                                                                                    
                                                                                                                                     
$prog = $0;                                                                                                                          
$sleeptime = 5 * 60; # default 5 minutes                                                                                            
GetOptions('verbose!' => \$verbose, 'debug!' => \$debug, 'time=i' => \$sleeptime);                                                  
while (1) {                                                                                                                          
    open(P, 'ps -e | grep talagent |') || die "Cannot creat pipe\n";                                                                
    while () {                                                                                                                    
#       print if ($debug);                                                                                                          
        s/^\s+//;                                                                                                                    
        @f = split(/\s+/);                                                                                                          
        my $pid = $f[0], $pname=$f[3];                                                                                              
        if ($pname =~ "/talagent") {                                                                                                
                                                                                                                                     
            if ($debug) {                                                                                                            
                printf("%s: Found %s: ps $pid ..\n", $prog, $pname, $pid);                                                          
                system("ps $pid");                                                                                                  
            } else {                                                                                                                
                printf("%s: Killing: %d %s ..\n", $prog, $pid, $pname) if ($verbose);                                                
                system("kill -9 $pid");                                                                                              
            }                                                                                                                        
        }                                                                                                                            
    }                                                                                                                                
    printf("%s: sleeping: %d sec\n", $prog, $sleeptime) if ($verbose || $debug);                                                    
    sleep($sleeptime);                                                                                                              
}                                                                                                                                    
--


状況)
丸2日使っているが、ハングしていない。従来は、1日に2-3度強制リブートしていた。また、Thunderbolt displayにクラムシェルモードで接続したり、LCDにdvi接続したときに、ハングする現象も解決した。

system.logをみても、talagentはエラーを吐いていない。

ということは、talagentのエラーはメモリーリークなどが原因の可能性が有り、長期に渡り動作させ続けなければ問題はおきない。ウィンドウ状態の永続化を有効に実現するには、5分に一度よりはもう少し長い間隔でkillしたほうが良いであろう。つまりハングしたら復活させるためにkillするのではなく、ハングするような不正動作に陥る前にtalagentを再起動しするという手法である。

もうしばらく使って問題が無ければ、Appleにバグ報告をして、killする間隔を30分程度に伸ばして試してみたい。

cron化)
http://borg4.vdomains.jp/~goro/diary/2011/1252 や
http://d.hatena.ne.jp/zariganitosh/20090308 
にやり方の紹介がある。OS-Xでは、cronではなく、launchdはxmlで書くようである。

talagentが原因であると判明したsystem.logの該当部分)
---- /var/log/system.log より ----

Dec 18 03:17:45 Satoshi-MacBA com.apple.launchd.peruser.501[198] (com.apple.accountsd[2592]): Exited: Killed: 9
Dec 18 03:17:46 Satoshi-MacBA kernel[0]: memorystatus_thread: idle exiting pid 2601 [QuickLookSatelli]
Dec 18 03:17:46 Satoshi-MacBA kernel[0]: Wake reason: EC.ACAttach EHC2 (Maintenance)
Dec 18 03:17:46 Satoshi-MacBA kernel[0]: AirPort_Brcm43xx::powerChange: System Wake - Full Wake/ Dark Wake / Maintenance wake
Dec 18 03:17:46 Satoshi-MacBA kernel[0]: Previous Sleep Cause: -113
Dec 18 03:17:46 Satoshi-MacBA kernel[0]: The USB device HubDevice (Port 1 of Hub at 0xfa000000) may have caused a wake by issuing
 a remote wakeup (2)
Dec 18 03:17:46 Satoshi-MacBA kernel[0]: TBT W (1): 0 [x]
Dec 18 03:17:46 Satoshi-MacBA kernel[0]: memorystatus_thread: idle exiting pid 2592 [accountsd]
Dec 18 03:17:46 Satoshi-MacBA kernel[0]: The USB device USB 2.0 Hub (Port 3 of Hub at 0xfa100000) may have caused a wake by issui
ng a remote wakeup (3)
Dec 18 03:17:46 Satoshi-MacBA kernel[0]: AppleUSBMultitouchDriver::checkStatus - received Status Packet, Payload 2: device was re
initialized
Dec 18 03:17:46 Satoshi-MacBA kernel[0]: The USB device USB 2.0 Hub (Port 4 of Hub at 0xfa130000) may have caused a wake by issui
ng a remote wakeup (3)
Dec 18 03:17:46 Satoshi-MacBA kernel[0]: The USB device HubDevice (Port 3 of Hub at 0xfa134000) may have caused a wake by issuing
 a remote wakeup (3)
Dec 18 03:17:46 Satoshi-MacBA com.apple.launchd[1] (com.apple.audio.ComponentHelper[2571]): Could not terminate job: 3: No such process
Dec 18 03:17:46 Satoshi-MacBA com.apple.launchd[1] (com.apple.audio.ComponentHelper[2571]): Using fallback option to terminate job...
Dec 18 03:17:46 Satoshi-MacBA com.apple.launchd.peruser.501[198] (com.apple.scopedbookmarksagent.xpc[2572]): Exited: Killed: 9
Dec 18 03:17:46 Satoshi-MacBA com.apple.launchd[1] (com.apple.audio.ComponentHelper[2537]): Exited: Killed: 9
Dec 18 03:17:46 Satoshi-MacBA kernel[0]: The USB device GCS932UBV1.1.10 (Port 1 of Hub at 0xfa134300) may have caused a wake by issuing a remote wakeup (3)
Dec 18 03:17:46 Satoshi-MacBA kernel[0]: HID tickle 682 ms
Dec 18 03:17:46 Satoshi-MacBA kernel[0]: memorystatus_thread: idle exiting pid 2572 [ScopedBookmarkAg]
Dec 18 03:17:46 Satoshi-MacBA kernel[0]: memorystatus_thread: idle exiting pid 2571 [com.apple.audio.]
Dec 18 03:17:46 Satoshi-MacBA kernel[0]: memorystatus_thread: idle exiting pid 2537 [com.apple.audio.]
Dec 18 03:17:45 Satoshi-MacBA talagent[230]: CGSSetWindowSendExposed: Invalid window 0x2d
Dec 18 03:17:46 Satoshi-MacBA WindowServer[105]: CGXDisableUpdate: UI updates were forcibly disabled by application "SystemUIServer" for over 1.00 seconds. Server has re-enabled them.
Dec 18 03:17:46 Satoshi-MacBA hidd[82]: MultitouchHID: device bootloaded
Dec 18 03:17:47 Satoshi-MacBA com.apple.launchd.peruser.501[198] (com.apple.coreservices.appleid.authentication[2529]): Exited: Killed: 9
Dec 18 03:17:47 Satoshi-MacBA com.apple.launchd[1] (com.apple.audio.SandboxHelper[2536]): Exited: Killed: 9
Dec 18 03:17:47 Satoshi-MacBA WindowServer[105]: handle_will_sleep_auth_and_shield_windows: no action for lock state 1
Dec 18 03:17:47 Satoshi-MacBA kernel[0]: memorystatus_thread: idle exiting pid 2536 [com.apple.audio.]
Dec 18 03:17:47 Satoshi-MacBA kernel[0]: memorystatus_thread: idle exiting pid 2529 [AppleIDAuthAgent]
Dec 18 03:17:47 Satoshi-MacBA talagent[230]: CGSBindSurface: Invalid window 0x2c
Dec 18 03:17:48 --- last message repeated 2 times ---
Dec 18 03:17:47 Satoshi-MacBA talagent[230]: CGSSetWindowSendExposed: Invalid window 0x35
Dec 18 03:17:47 Satoshi-MacBA talagent[230]: CGSBindSurface: Invalid window 0x2c
Dec 18 03:17:48 --- last message repeated 3 times ---
Dec 18 03:17:47 Satoshi-MacBA talagent[230]: CGSSetWindowSendExposed: Invalid window 0x2d
Dec 18 03:17:47 Satoshi-MacBA talagent[230]: CGSBindSurface: Invalid window 0x2c
Dec 18 03:17:48 --- last message repeated 3 times ---

----  talagentを殺したあと
Satoshi-MacBA:log$ ps -ael | grep 230
  501   230   198     4004   0  53  0  2599660   7808 -      S                   0 ??        26:47.77 /System/Library/CoreServices/talagent

Satoshi-MacBA:~$ kill -9 230

Satoshi-MacBA:log$ ps -ael | grep talagent
  501  3726   198     4004   0  49  0  2508904   8872 -      S                   0 ??         0:00.17 /System/Library/CoreServices/talagent

---
元記事)

2011年秋にかったMacbookAir 13 inch (4GB RAM, 256GB SSD) のMac OS-X Mountain Lion (10.8.2) ならびに、その前のOS-X Lionの後半から、ブラウザがどれも不安定である。状況は、
  1. Google Chrome: 一日に1度は、ハングする
  2. Firefox: 文字入力ウィンドウがめちゃくちゃになる。blogが書けない
  3. Safari: 突然Safariがクラッシュする。リカバリのplug inをいれてあるが、restartしたときに意味不明なwindowにリカバリする。
下の絵に引用した、FreeRAM boosterで、いつも1GBくらいのメモリを回収しており、空きメモリを表示しているので、メモリ不足が原因ではない。




Chromeの原因がなんとなく判明)
やはり、使い勝手が良いのでGoogle Chromeに戻した。すると、日に2〜3度Macがフリーズする。Chromeがクラッシュするのではなくて、虹色のくるくるマークがでて、システムが無反応になり、強制電源オフするしかなくなる。

システムテストやらdisk checkも正常。Chromeを消去して、再インストールしてみたあとで、/var/log/system.log (以下のスクリーンショットが該当部) をみたら、原因がわかった。上から3行目(青色部)でJUST SYSTEMのATOKがbus errorを起こして、エラーダンプしたりしたあと、17:32分から無反応になっている。

system.log


その後、下から6行目の17:37分にrebootのメッセージがでている。

その後、膨大なエラーも出ているのだが、特に talagent[230]: CGSSetWindowSendExposed: Invalid window 0x35 というものが膨大にでている。Objective-CのAPIの使い方か、ライブラリにバグがある模様。おそらく、AppleがOS-X 10.8.2で勝手にAPIを変えたので、ATOKが時々死ぬのだろう。

でもやはり)
知人は、Google 変換でChromeを使っているが、やはりよく、システムがハングするという。その状況で調べてみる必要はある。Google変換で、どうなるのかも試してみたい。少し試してみたが、私は変換・無変換などでキーをカスタマイズしているのだが、一旦、英数になると、かなに戻らない状況。

ATOK Passport)
ATOKは賢いし、ATOK Passportだと月300円で、iOSを除く自分持ちの全ての端末(win, linux, Mac, Android) にインストール出来、ユーザ辞書や学習履歴も無料のJust drive経由で共有、時事事象も逐次更新されるので好きなのだが。また、日本のソフトメーカで頑張っているJUST Systemも応援したい。

日本はやっぱりIT辺境)
OS-X 10.8.2の標準メイラが、i-modeメイルからのメイルで完全に文字化けしていたのにリリースしていたり、日本のApple地図がめちゃくちゃだったりということを考えると、Appleも米国の製品ならフィードバックはかかるが、日本Appleは無視され、日本のユーザに対するベータテストはほとんどやられていないのではと思われる。

その点では、IMEが悲惨なMSもダメだし、Linuxに浮気するしかないかも。。

ただし、Mac OS-Xは、BSD unix系であり、勝手が分かっているので解析がしやすい。

2012年10月30日火曜日

Amazon Kindleアプリを入れてみた

AppleからiPad miniとiPad4が発売され、
Amazon Kindleの新型(Paparwhite(Wifi/3G),  Fire HD、
Google Nexusの新型(Nexus 4, Nexus 7, Nexus 10)が発表された。
楽天Koboも無料配布したりと拡販に躍起になっているらしい。

あわせて、電子ブックがいよいよ日本にも投入された。端末については、後に書くとして、iPhone4, iPad2で、Kindleアプリを使ってみたので報告する。

内容は以下の通り。結論としては、専用端末でなくても、iPhone, iPadで十分使えると思った。
  1. Amazon のKindle book store
  2. Mac用のKindle アプリ
  3. iPad2でのKindleアプリ
  4. iPhone4でのKindleアプリ
AmazonのKindle book store)
今まで別だったAmazonの日米のアカウントを統合しようとしているらしいが、今のところ上手くいっていない。メイルアドレスが共通の方は、片方を入れ替えて、一件違うアカウントに見せておかないと、買った本がダウンロードできなくなるなどトラブルがありそう。現に、Mac用アプリではトラブルが起きている。

AmazonのKindle storeには、無料の青空bookが10冊程度。これはお勧めに出てきていないだけであって、「夏目漱石」で検索すると、漱石の0円の作品が沢山でてくる。「森鴎外」も同じ。青空文庫ではない、有料の本は、解説がついているところが違うのか?
「清少納言」くらい古くなると逆に0円の本は少なくなる。源氏物語は与謝野晶子の解説の本がでてくる。「土佐日記」は、青空文庫版があった。

漫画は99円の のだめカンタービレ とか、215円のテルマエ・ロマエがある。テルマエ・ロマエ II,III,IVは一冊714円と高いが、これは紙の本の値段。電子化さえされていないので電子化リクエストをいれておいた。(2012/11/3追記: テルマエ・ロマエ II, III, IV巻は電子化されKindle版は429円になっていた。300円安とは、お徳感がある。早速IIを購入した。)

Motor Fan Illustratedのような、マニアックな本は、電子化されていないが、電子化リクエストができるので、何冊かリクエストしておいた。

Mac用のKindleアプリ)
http://www.amazon.com/gp/kindle/mac/download から、最新版がダウンロードできる。日本のamazonサイトには置かれていないが、日本語にも対応とある。
ところが、日本のAmazon.co.jpに作ったアカウントではloginできない。
米国のアカウントならログインできる。これは、きっとバグであろう。

iPad2のKindleアプリ)
Kindleアプリを入れて、Amazonアカウントを登録すれば、購入した電子ブックが読める。WiFiで転送されてくる。同じアカウントをいれてあれば、iPad2でもiPhoneでも読める。最後に読んだ位置は、iPadとiPhoneで共有されている。おそらく、Kindle Paperwhiteなどの専用端末とも情報が共有されるのであろう。

iPadは画面が大きくて読みやすい。電子ペーパのモノに比べて、重いし、電池の持ちが悪いかもしれないが、以下のメリットもある。
  1. 音楽再生機能があるので聴きながら読める。初代Kindleは、読み上げ機能だけではなく、音楽再生もあったらしいが、Kindle paper whiteには、オーディオ機能はついていない。Nook Touchにもついていない。Kindle Fireなどにはついている。
  2. カラーである
  3. webブラウズ、動画再生、iOSアプリなどが使える
  4. 電池も数日なら持つ
  5. ルビふりや、辞書引きの機能がある
課題として、専用アプリやNook Touchのように、段組やフォントが変えられない。背景色は変えられる。辞書はNetからダウンロードできる。

iPadでのトップ画面。購入した書籍はアカウントをいれれば、クリックすることでWiFi経由で転送される。左の3つは無料の青空文庫

「坊ちゃん」 を読みながら。iPadで辞書を引いてみた画面。画面の中央あたりをタップすると、メニューがでてくる
iPhone用のKindleアプリ)
画面は小さいが拡大できるので、十分読める。以下スクリーンショットである。

iPhoneのKindleのホーム画面。iPad2で途中まで読んだ、テルマエ・ロマエが、その位置を指している。

iPhone4での画面。ピンチで拡大縮小、ドラッグで移動できる。バックグラウンドに音楽をききながら読める。下のバーは、全体でのページの位置

iPhone4で、ピンチして拡大した様子。いくらでも大きくできるが、この大きさで結構読める




2012年7月18日水曜日

windows7のnotePCをMacの様に使う

Macで、VMware Fusionを使ってwinXPを動かしていたが、CPU負荷が高い上に遅い。
一方で、windows7のnotePCは大変安くなってきている。

以前、書いたように、英語版では、windows7 Ultimateでないと、日本語環境にはできず、日本語環境でないと、日本語のアプリのインストーラは途中で不正終了する。単にメニューやdialog boxの記述が英語というだけの問題ではない。

ところが、US 101キーボードに慣れたので106キーボードはイヤダと思っていた。キーボードについては後述する。が、Lenovo Japanでは、英語キーボード版がBTO (Build to Order)できる。さらに安い。以下の構成で、59,850円(税込み)なのである。本当に安い。一時帰国を利用して購入した。メモリは、Amazon.co.jpで安いのがあり(後ほど追加する) 8GBに増設した。

が、Lenovo Japanから、ThinkPadをbuild to order すると、101キーボードが選べる。加えて、E430は機能豊富で安い。ということで、これを購入した。16GBのFlash memoryによるHDDキャッシュはモバイル時にHDDへのアクセスを減らし、diskアクセス速度を見かけ上向上させるのに有効だと思う。加えてE430は、テンキーがついていないので、キーのセンターが画面のセンターにきて使いやすい。キートップにも余裕がある。以下に写真を掲載する。





Mac相当にする)
  1. Caps Ctrlを入れ替える
  2. Controlにさまざまな機能を割り付ける
  3. UACを無効化する
  4. ATOKを入れる
CapsとControl keyを入れ替える)
win7では、winXPまでの定番であった、AltIMEが動かないので、Ctrl2Capというツールを導入した。http://bit.ly/S6nujD に説明がある。

Controlキーに機能を割り付ける)
http://bit.ly/S6nDn4 から入手可能な、MetaFingerというツールを常駐させ、以下を設定した。
  1. Ctrl-JにAlt-~ すなわち、日本語on/offを割り付けた
  2. Ctrl-HにBS バックスペースを割り付けた
  3. Ctrl-B, F, P, Nに矢印キーを割り付けた

2,3の変更によって、Macのツール同様に、emacsライクなキーバインドでカーソルが動くようになる。

当初、sleepすると設定を忘れるバグがあったが、作者のページに書き込んだら、早速、丁寧な症状の打診のメイルをいただいた。(ページにあまり長く掛けなかったので正確に) 説明したところ、翌日には直った版をリリースしていただけた。
このツールは長く愛用することにしたい。


UACを無効化する)
UACは、インストール時に毎度出てきてうっとおしい、「xxのインストールを許可しますか」という画面である。これは、http://windows7faq.net/700/uac/ にあるやり方で無効化できる。windowsの版によって、Controlパネルからのコマンドが少し違う。

ATOKを導入する)
月額300円のATOK Passportを持っているので、Macにもインストールできる。
ATOK Passportの利点は以下の通り。

  1. 変換がMS-IMEよりも圧倒的に賢い
  2. 自分のパソコン、Androidのスマホ・tabletなら何台にでもインストールできる
  3. ATOK Syncでユーザー辞書や学習結果がインストールした機器の間で共有される
  4. 最新のATOKに常に更新される
  5. 最新の辞書に常に更新される。時事辞書とか人名辞書が刻々リリースされる。

http://bit.ly/S6nWhR から入手可能で、これはお勧めである。最初は試用版を入手する。Macなら設定のユーザ設定で自分の登録IDにすることができるし、windowsであれば最初に変換したときに、ユーザ登録画面がでる。。が、windowsではなぜかATOK Passportにならず、ATOK Syncや辞書のダウンロードの設定が出てこない。。不思議だ。。

とにかく、Just systemは製品は良いのだが、サポート窓口とか、こういう製品設定の使い勝手のところが、今一歩である。技術が良いのだから、販促も頑張ってもらいたい。

日本語106の問題)

http://bit.ly/LvnGsn にあるように、記号の配置が各国のキーボードによって、全く違います。プログラミング言語は記号を多用するので致命的ですが、@や:の位置が英語101と日本語106で違うので、大混乱します。マイキーボードを持ち歩くならよいですが、二つのキーボードを使い分けるのは大変です。

とにかくローマ字しか打たない人間には、106の一列分は、全く余分であり、return keyやBS keyが打ちにくいだけではないかと思います。もっとも、慣れたプログラマーはctrlとcaps lockを入れ替えて、returnはctrl-M, BSはCtrl-Hを使います。MacならPreferenceで標準でコントロールできますが、windows系は、無料ソフトを導入する必要があります。(ユーザ数が多いので、大体必要な無料ツールはwindowsに揃っているようですが。。)

もっともエルゴノミックと、notePCのキーボードの使い分けでも慣れが必要ですし、キネシス http://www.edikun.co.jp/kinesis/ などは、101とはいえ記号の配置が全然違います。

だからといって、キーボードには慣れの要素が有り、最初にあるものを学ぶと切り替えるのが大変です。
コンピュータプログラマは、キーボードを持ち歩くべきだと提唱して作られたHappy Hacking keyboardは http://bit.ly/MdbVTD 最初は英語配列しかなかったですし、今も日本語配列の販売は中止になっています。

タイピングは学校で教えるべきでしょう。このとき、今後の国際化を見据えて、106日本語でいいのか101英語にするのかよく考えるべきだと思います。せめて106日本語キーボードで記号の位置が101にあっていればよいのですが。そもそも、先読み変換等もあるし、仮名入力はスマホやタブレットでも非統一なので、仮名タイプを覚えるひとは減るように思います。また、本当に仮名を速く入力したいのならば、以下のような特殊キーボードをならうことが有効かも知れません。

2011年10月23日日曜日:エルゴノミックキーボードと外部ディスプレイを使った生産性の高い環境



に書きました。

2012年5月3日木曜日

YouTubeのダウンロード

YouTubeのダウンロードは契約違反らしい。
が、特に米国では通信料が従量制に移行しつつあるし、tabletなのでprepaidプランも従量制である。そもそも大事な電波資源を使うのはもったいない。スマホやtabletにダウンロードして、好きなところで聞きたい。

これは、Macであれば、Clone2Goという無料ツールでやれる。ところが、古いver2.2.4ではなんどやってもダウンロードに失敗する。これは以下から最新のver2.2.5を入手すれば解決する。おそらくは、YouTubeとのダウンロード防止機構のいたちごっこなのであろう。

http://www.clone2go.com/jp/mac-youtube-downloader.php



使い方)

  1. 起動すると上記の画面になり、一番うえのURLが入る部分にリンクを貼り付けるか、Google Chromeならブラウザのリンクテキストboxにある地球マークを、真ん中の写真がある部分にドラッグアンドドロップする。
  2. あとは、formatをmp4にして、downloadボタンを押すだけと簡単である。
  3. 先に沢山つっこんでおけば、まとめてダウンロードしてくれる。
  4. Output folderの横の .「...」をクリックすればダウンロード先も変えられる。

iTunesへの取り込み

  1. 拡張子、「mp4」を「m4v」に変えてダブルクリックすればiTunesに取り込まれる。
  2. あとは、iPhoneとかiPadにつないで同期すればよい。

Music Videoにすると便利である。これは、以下に書いた。

2011年9月10日土曜日: YouTubeをダウンロード


上記画面では和楽器の演奏をダウンロードしているが、お勧めはまた別途書くことにする。

どう考えているか)

 ダウンロード禁止にすれば、大事な通信帯域(とくに携帯)をムダ使いすることになる。そうして、無制限アクセスが従量制に戻れば、今度は通信業者への利益誘導にも繋がる。
 通信量がむやみに増えれば通信業者(キャリア)の設備投資もかかるので、むしろ通信量は減らしつつも単価の低下を押さえた方が、通信業者側もハッピーだと思う。


自分の演奏をあげているものは著作権的にも問題がない。

有料コンテンツは、最近はコマーシャルつきで流しているものが多く、ダウンロードされてこのコマーシャルをスキップされると困るのだろう、家庭用VTRの出始めたころと同じで、こまかいことを言ってもしょうが無いように思う。コマーシャルも見たくない物を無理矢理見せても、どうせ商品購入には繋がらないと思う。

何度もみたくなるような優良なコマーシャルを作るのが本筋に思う。


2012年3月30日金曜日

Mac OS-X Lionでのユーザ移行, win7からの移行

家人のwindows 7のnotePCの調子が悪いので。Macに移行した。
環境設定を英語にしているので、ツールの設定等は厳密に日本語モードと一致していないかもしれない。

Mac間のuserの移行)
私がしばらく借りていたMacなので、まず、Userを作って環境を移した。ググっても出ていなかったが、ここに一連のplistファイルがあったので、当たりをつけてやったら正解だった。そもそもBSD系のUnixだし、追加分もMacとiOSの作りが似ているので大変分かりやすい。

やり方は簡単。${OldUser}/Preferences以下を丸ごとコピーすればよい。${OldUser}は、たとえば、~Hoge/ とか /Users/Hoge とかになる。

  1. Terminal windowを開く
  2. su   をいれ、管理者パスワードをいれて、管理者特権になる。
     標準では管理者アカウント(root) はoff
    http://support.apple.com/kb/HT1528?viewlocale=ja_JP のやり方で、rootが有効化できる。
  3. cd
  4. cp -r ${OldUser}/Preferences  .
  5. chown $USER   Preferences     Preferences/*
これで再ログインすれば、Desktopの設定やDockの設定などがコピーされる。ただし、システム設定で設定されるような、マウスのスクロール機能や言語環境設定はコピーされない。また、Mailのuser設定もコピーされない。

ここからは、windowsからMacへの移行アシスタントというものもあるが、私は手でやった。
移行アシスタントについて) http://support.apple.com/kb/HT4796?viewlocale=ja_JP

iTunesの移行)
ここからは面倒なので、まずは英語モードの表示のまま書くことにする。

メディアファイルの移動)
  1. Preferences -> Advancedから、Mediaファイルの置き場所をNASにする
  2. Keep iTunes File Organizedにクリックをいれる
  3. File -> Library -> Organize Library をやると、ローカルなファイル(Music, Movie, アプリ) がNASに移動する
  4. ここで、アプリの保存フォルダ等を他のマシンからマージしたので、手でやる必要があった。
管理ファイルの移動)
  1. MacのiTunesの版がwindowsのそれと同じか新しければ自動変換されるので問題はない。
  2. win7 のマイミュージック/*.{itdb,xml,itl} を ~/Music/iTunesの下にcopy。これも、NASにコピーしてから再コピーすると楽かもしれない。
  3. MacのiTunesを開いて、先のメディアファイルの移動で書いたのと同じようにMacのiTunesも設定。
  4. これで、NASのファイルが見えるようになる。
ただし)
  1. 昔のiTunesで変換したメディアファイルは64bit版のiTunesでは開けない。
    http://bit.ly/Hmz9Bj を参照して、iTunesを32bitモードで起動すれば、問題はなくなる。
また、YouTubeのダウンロードツールでダウンロードしたmp3が、マイドキュメントのダウンロードの下に残っていた。これが、NASに転送されないので、見えなくなった。
これは、iTunesをquitしておいて、さきの iTunes Music Library.xml のパスを変更すれば良い。ただし、m4v すなわちmpeg4ビデオのデータは、ここに有るパスを変更しても変わらない。なぜだかわからない。

NASのマウントパス) 

2011年12月1日木曜日: Macの便利なツールなど

に書いた通り、MacでのNASのマウントポイントの名前 /Volumes/の下は適当に決められてしまう。たとえば、Landiskのitunesというvolumeをマウントしようとすると、通常は/Volumes/itunes-1 と-1のサフィックスがつくが、-1の調子が悪く、場合によって2回目のマウントになったりすると、-2のサフィックスでマウントされたりする。ところが、iTunesは、パスを絶対名で参照するので非常に都合が悪い。

これは、上記の記事にあるように、

http://www.wizard-limit.net/mt/pc/archives/004459.html  を参照して以下のように対処した。
  1. 特権ユーザになる
  2. /etc/auto.smb を作成して以下の行を追加。Guestがユーザ名。私のNASはゲストなので、パスワードは不要。
  3. itunes -fstype=smbfs ://Guest:@LANDISK-02/itunes
  4. /etc/auto.master を編集し、以下の行を追加
   /Share                  auto.smb 
automount -vc では設定がおかしくなったので、shutdownして立ち上げ直した。これは、最初、/Shareではなく、通常のマウントポイントと同じ /Volumesを指定したからなのかも知れない。


Mailの移行)
Outlook 2007なので、データフォーマットはpstであり、http://bit.ly/HmHCV8 を参考に移行した。
  1. http://www.ehow.com/how_6132518_convert-pst-mbox.html のやり方を使う。
  2. Thundebirdをインストールする。
  3. outlookから、アドレスブックとメイルボックスをThunderbirdにimport。全てとやるとなぜかエラーを起こした。個別にやるとメイルの設定のimportで失敗していた。
  4. Thunderbirdのメイルのフォルダを右クリックしてプロパティを表示させると、そこにファイルがある。mboxフォーマットではないが、このプロファイルをLionのMailはimport可能である。
  5. Thunderbirdのメイルboxを右クリックする。プロパティから、Thunderbird\Profileの下のフォルダを探し、ExplorerでNASにコピー
  6. Mac OS-X LionのmailからImportで、Thunderbirdを選択し、上記のプロファイルのフォルダを指定、Continueをするとメイルと設定がimportされる。
以下のやり方でmboxファイルをThunderbirdからはき出そうとしてみたが、mboxのメニューは出てこなかったし、そもそも上記のやり方ができるので必要はない。
  1. http://bit.ly/HmVTkH を参考にimport/exportツールをThunderbirdにinstall
    1. http://bit.ly/HmVLBP からdownload
    2. Thunderbirdを起動。ツール -> アドオン
    3. 右上の検索の横にある歯車を左クリックし ファイルからアドオンをインストールを選択。ダウンロードした xpiファイルを選択し、インストール
    4. Thunderbirdを再起動
  2. フォルダを選択し、右クリックしたメニューから、インポート・エクスポートを選択
  3. フォルダ内の全てのメッセージをexportを選択。が、mboxフォーマットではexportできない。emlとかはある。

2012年2月17日金曜日

MacのKey noteには感動した

Macのプレゼン作成ツールである、key noteは直ぐに慣れるし、使いやすい。

helpが感動的)
1) keywordをいれるとtoolメニューにある該当する項目がtopに出る。ほぼ欲しいものがTopに
2) 項目にマウスカーソルをもっていくと、Key note側のメニューが開き、その項目が付箋のように矢印でポイントされる
3) そのメニューがそのまま実行できる



色の設定も画期的) 
カラーパレットというwindowが表示されている。そこから色をドラッグして、文字や図形に落とすと色が設定できる。文字をダブルクリックすると、単語(文節)が選択され、この状態でパレットを叩けば、それでも色が変わる。
直感的で大変簡単。ただし、標準では、図形は塗りつぶし、文字は文字色変更になってしまう。線の色を変えたければ、線を選んで出るパレットに、カラーパレットから色をドロップする。
絵画でパレットに色を調合しておいて、それで塗っていくものの類推。調合したパレットも保存しておけるしApple, Crayon等いくつか用意されている。


気づいてみれば、当たり前のことが当たり前にできているだけだが、他社のプレゼン作成ツールを使っていると、使いにくいのが、当たり前だと思ってしまっている。
観察力と想像力の欠如である。

そのほか)
  • ドラッグアンドドロップで、図を貼り込める
  •  文字や図を移動するときに自動的に基準線がでて、所定位置に近づくと吸引されるような感じで位置合わせが簡単にできる。(これは、建築CADでは普通に使われている手法)グリッドに合わせるよりも、自由度が高く、精度も高い。一方で、揃っていて欲しいものは、綺麗に揃う

そのうち気づいたら追加しておく。

MacのMail)
Mailも旧JISではなく、UTF-8(件名がquoted printable, 本文がbase64) で、読めないメイラが続出。だがこの方針には、意味がある。
  1. 世の中のOSは、UTF-8が、ほぼ標準化しつつある。UTF-8であれば、エンコーディングを指定しなくても、どこの言語でも、混在できる。UTF-8は、byte順に依存せず、世界統一コード体系であるUnicodeのメリットが得られ、また、EUCなどのようにbyte単位で比較ができるようにしたコード体系である。
    Unicode) http://ja.wikipedia.org/wiki/Unicode
    UTF-8) http://ja.wikipedia.org/wiki/UTF-8
  2. 件名がQuoted Printableなので、MIME非対応のメイラでも、英文の件名であれば読める。ただし、コード化の効率が悪い。
  3. 本文は、効率をあげないとならないので、base64である。
メイルの基準であるRFCコンプライアント(準拠) ではあるが、特に2, 3の組み合わせにより、読めないメイラやwebメイルなどが続出している。Outlook expressなどである。

また、行の自動折り返しも無くなくなった。送り側で行を折り返すと、行幅の狭いiPhone, iPadで読みにくいからだと思われる。つまり。

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
CCCCCCCCCCCCCCCCCCCCCCCCCC

と送り側で1つの段落を折り返して送った場合、行の短い端末でこれを読むと。

AAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAA
BBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBBBBBBBB
CCCCCCCCCCCCCCCCCCCCC
CCCCC


となって読みにくいからである。

全部1行のまま送れば。

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
CCCCCCCCCCCCCCCCCCCCCCCCCCBBBBBBBBBBBBBBBBBBBBBB
BBBBBBBBBBCCCCCCCCCCCC
CCCCCCCCCCCCCC

と素直に読める。実はi-mode mailは昔から、送り側では折り返さずに送っている。

だが、受信側のメイラが対応していないと、1行が長いメイルはまともに読めない。
また、返信したとき引用符がはいって、行がおかしくなったりする。

行を折り返さず送ったメイルに返信しようとすると、行の頭に引用符が着くだけである。
MacのMailがどうしているかというと、それを受けて表示するときに、折り返した上に、先頭に引用符が着くように、変換を書けている。。これなら、

>  > AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
>  > AAAA
>  > BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
> > BBBB
みたいな、引用記号と折り返しで、引用部が乱れることはない。

iPad (iOS)のメイラ)
一方、iOS5.0.1では、以下のようになっており統一性がない。
  1. 行は折り返さない。
  2. 件名は、Mime EncodingのISO-2022JP (新JIS) - 従来の形式
  3. 本文はISO-2022JP (新JIS) - 従来の形式
  4. だが、時にQuoted PrintableのHTML部分が着くこともある


MacのMailでは、本文の圧縮度を上げるためにbase64にしているのに、上記の3は統一性がない。Appleといえど、まだまだ、不統一なことをやっており、部門の壁は残っているのであろう。

2012年1月4日水曜日

emacsをMac OS-X LionでコンパイルしてIMEを使う

Emacs23 (Cocoa Emacs) 入門から中毒まで)http://sakito.jp/emacs/emacs23.html#imeのやりかたでIMEパッチをあてる。ここのサイトはemacsについて有用な情報が満載である。

unexecが通らないので、Lionでコンパイルするには以下のパッチが必要。
http://masutaka.net/chalow/2011-07-31-2.html
上記にあるリンクをクリックしてpatchを3つ取得する。

../patch-src_unexmacosx.c.diff は、以下 --- の次の行からをこの名前のファイルにカットアンドペーストすればよい。
* src/unexmacosx.c (copy_data_segment): Also copy __got section. (Bug#8223)
---
ChangeLogにはこのpatchはちゃんと当たらないが、それは気にする必要は無い。

emacs23.3のコンパイル)
上記patchファイルをおいたdirectoryから、以下のような処理を実施する。例えばruncmd.shのような、シェルスクリプトにして、実行時に、
  ./runcmd.sh 1>&2 | tee -a make.log  
とやれば、画面に出つつlogファイルが残って便利。
#!/bin/bash -v -f
/bin/rm -rf work
curl -O http://ftp.gnu.org/pub/gnu/emacs/emacs-23.3b.tar.gz
curl -O http://jaist.dl.sourceforge.jp/macemacsjp/47986/inline_patch-23.2-beta3.tar.gz
tar xvfz emacs-23.3b.tar.gz
tar xvfz inline_patch-23.2-beta3.tar.gz
cd emacs-23.3
patch -p0 < ../inline_patch-23.2-beta3/emacs-inline.patch
patch -p0 < ../patch-no-pie.diff
patch -p1 < ../patch-src_unexmacosx.c.diff
patch -p0 < ../patch-fix-title-bar.diff
mkdir ../work; cd ../work
../emacs-23.3/configure --with-ns --without-x
make
make bootstrap
make install
cp -r nextstep/Emacs.app /Applications/Emacs-23.3.app

これをやると、/Applications/Emacs-23.3.app ができる。
Macの場合 Emacs-23.3.appの下に必要なものが固まっている。finderの右クリック Show Application Contentsで、packageの中身 (実はUnixのdirectory)が見える。Resourcesの下に必要なリソースが詰まっている。emacsの場合には、lisp,site-lisp,infoなど必要なものがここに詰まっている。したがって、アプリを消去したくなれば、トップのEmacs-23.3.appというdirectoryを消去すれば良い。これはfinderからは、Emacs-23.3.appというアプリを消去することに見える。
なんと素直な。。

~/.bash_profile に以下の行を追加して、パスを通し、emacsの名前で、Emacsというバイナリがterminalから実行できるようにする。
export PATH=$PATH:/Applications/Emacs-23.3.app/Contents/MacOSalias emacs="Emacs"
terminalから、which emacsとやって、/Applications/Emacs-23.3.app/Contents/MacOS/Emacsを刺していることを確認する。emacsを立ち上げて、ESC-x versionで、Emacs 23.3.1と出ればOKである。

X11のwindowとしてemacsを立ち上げたくない場合には、emacs -nw を実行する。

ATOK2008を使いたい人は以下のような情報がある) 

IMEの設定)
.emacsに以下の行を入れる。
(setq default-input-method "MacOSX")
(prefer-coding-system 'utf-8)
(global-set-key "\C-j" 'toggle-input-method)
が、これでは、imput modeをUSにすることはできても、ATOKに戻すことができない。さらには、emacsが動いているかぎり、他のウインドウでもUSに強制的に戻されてしまう。
以下のようにしたらできた。
;; C-j の機能を別のキーに割り当て
(global-set-key (kbd "C-m") 'newline-and-indent)
(set-language-environment 'Japanese)

 (prefer-coding-system 'utf-8) 
(global-set-key "\C-j" 'toggle-input-method)
;; (setq default-input-method "MacOSX")
は必要なかった。

prefer...がないと、shellを動かしても、漢字のファイル名(UTF-8)が表示されない。
shellでは、^Jで仮名にはできるが、^Jでは英字に戻らない。.emacsを編集していてもそういう状態になる。

.emacsの中のストリング中の漢字が表示されないのは、"を一つ追加したり、冒頭に; を入れてコメントにすると日本語が正しく表示されるのでバグのようである。これをやっていると、^Jが効くようになったりする。この状態でshell windowにいっても^Jが正しく機能する。が、一旦他のツールのwindowに移動すると切り替えはまた効かなくなる。

表示ルーチンのバグが、英語-日本語切り替え機能にも影響しているのかもしれない。

もう少し調べてみる。

文字やフォントのカラー変更)
後日追記したいが、、
http://www.nongnu.org/color-theme/

からカラーテーマをインストールして、.emacsに以下のなどのように追加すれば良い。ここでは分かりやすくするために、-nwとX11モードで色を変えている。
;; change color themes
;; use it with: M-x color-theme
(add-to-list 'load-path (concat homepath "lib/emacs/color-theme"))
(require 'color-theme)
(eval-after-load "color-theme"
  '(progn
     (color-theme-initialize)
     (if window-system
         (color-theme-subtle-hacker)
       (color-theme-hober))))
使い方については、以下にも解説がある。
http://www.emacswiki.org/emacs/ColorTheme#DoReMiColorThemes

以下では、windowモードの場合に、初期のwindowサイズと、ウィンドウの透過度も設定している。半透明にしておくと下が透けて見えて便利である。半透明化は、Macの通常のターミナルウィンドウでも設定が可能だが、emacsの場合には、activeとnon activeで透明度が変えられる。
(eval-after-load "color-theme"                                                                                                      
 

  '(progn                                                                                                                                  (color-theme-initialize)                                                                                                              (if window-system                                                                                                              
 

         (progn                                                                                                                                  (color-theme-subtle-hacker)                                                                                                           (add-to-list                                                                                                                           'default-frame-alist                                                                                                    
            '(alpha . (95 80))) ;; (alpha . ( ))                                                    
           (setq default-frame-alist                                                                                                                   (append                                                                                                                                '((width . 100) (height . 40))                                                                                    
                  default-frame-alist)))                                                                                                         (color-theme-hober))))                                                                                                     
これらについては、以下に解説がある。http://macwiki.sourceforge.jp/wiki/index.php/MacOSX_WorkShop/dot_emacs_el




2011年12月1日木曜日

Macの便利なツールなど

最近Mac OS-Xに入れた便利なツールなど。

Mac Nativeなもの)
  1. Live Quartz: 画像editor,  1.99ドル - レイヤが使えて、モザイクなどもかけることができる。任意図形で、切り取って上位レイヤに貼り付けてそこでモザイクをかけて、統合すれば、部分的なモザイクが任意にかけられる。無料の画像編集ソフトの一覧は以下:   http://column.nishimula.com/2009/06/mac.html
  2. Clone2go: Mac用のYou Tube downloader
  3. Handbreak: DVDリッピングのソフト: 無料
  4. Finale NotePad: 楽譜作成、演奏も出来る。有料。が、付点音符が入らないみたい
  5. LibreOffice: Open Officeからspin offしたチームが作ったMicrosoft office互換のoffice suites.無料。Power pointは若干配置がずれるが、十分これで使える。扱えるファイルフォーマットも多彩。
ただし、著作権法の改定で、日本では、DVDリッピングソフトの配布は違法行為となった。またYouTubeに上がった動画はどんどん消されている。以下で解説した。
2011年12月1日木曜日: どんどん消されるYouTube, 著作権法はこれでいいのか?
現状、/Volumeにある、NAS等のマウントポイントは、automounterの設定で如何様にも変更できる。以下の解説の最後にある。



非Nativeなもの)

まだ入れていないが、建築用CADであるJWcadを入れようと思っている。自宅設計に使った図面を見るため。


 フォント化けで使えない、WineやWineBotterに変わって、日本語fontを組み込んだAPIコンバータ。Wineは、Emulatorではなく、APIの変換しかやらないので高速。ただし、画面表示がX windowになるので、Mac OS-X Lion NativeであるVMWare Fusion4 ほどの速度は得られないと思う。

他のツールは追って記載する。

膨大なテキストベースのツール群)
OS-XはBSD unix上に構築されている。これはとても便利。テクストベースのツールはファイルサイズが小さいので、OS-Xに沢山標準搭載されている。加えて長きにわたり世界中の研究者が改良してきているし、小回りがきいて使い勝手がよいことが多い。この活用法は以下に書いた。
2011年10月23日日曜日:MacでBSDツールを利用する・大学の電子ブック
windowsとMac OS-Xは格がちがうが、その経緯も以下に考察した。
2011年10月11日火曜日: AppleとMicrosoftを比較すると
2011年10月23日日曜日: Macはすごい