2009年12月29日火曜日

自動で外部ディスクをバックアップ(同期)する on Mac

Time Machineを使えば出来るじゃん!って言われそうですが,僕の目的はサーバーのバックアップを内蔵ディスクに取ることなので,これはTime Machineでは出来ない(と思う).
まず,バックアップを取る方法ですが,rsyncを使います.
rsyncはファイルやフォルダの同期を簡単に行うことができるCUIアプリケーションです.
Mac OS Xでは,標準ですでにインストールされていると思います
(ターミナル.appでrsyncと入力してみよう.何かしらいろいろ表示されればインストール済み).
無かったら,インストールを頑張って下さい.

まず,バックアップしたい外部ディスク,ファイルサーバーをマウント.
これはFinderでも,何でもマウントすれば良い.
普通にUSB接続だったり,sambaだったりすれば,特に指定しなければ/Volumes以下にマウントされるはず.
仮に外部ディスクの名前がsenddiscだった場合,/Volumes/senddisc/以下に外部ディスクのファイルがあります
(確認するには「ls /Volumes/senddisc」とターミナルで入力).
ディスクの名前(senddisc)はFinderか,ディスクユーティリティ.appで変更できると思われます.
この中にある/Volumes/senddisc/senddirを/Users/hoge/backup/以下に同期したい場合,ターミナル.appで以下のように入力します.
rsync -avz --delete /Volumes/senddisc/sendir/ /Users/hoge/backup
--deleteっていうオプションで同期元で削除したファイルも同期先で削除します.
とりあえず,このコマンドでbackup以下にバックアップされると思います.

これを僕は自動でしたいと思いました.
つまり,「外部ディスクを接続」→「あら,バックアップが自動でとれてる!」ってことです.
この設定は,launchdを設定すれば良い.
lauchdとはサービス管理に使われている何とか,かんとかでよく分かりません.
設定ファイルはXML形式で書かれているらしいんだけど,どうやって編集すればいいんだよってことで,GUIで簡単にこれを設定できるLingonを使います.
まずはインストール.
ダウンロードページはこちら
リンクの最初にはLingon-1.2が最初に出てきますが,このバージョンは使いにくかったので,すぐ下のLingon-2.1.1.zipでインストールしました.
バージョンが違うとインターフェイスが違うので,この後の記事が分かりづらいかも.
ZIPファイルを解凍して,出てきたLingon.appを適当なフォルダに移す.
インストール完了だ!

Lingonを起動すると,現在,launchdに設定されているプロセスがサイドパネルに表示されます.
com.apple.xxxxxとか,良く分からない名前ですな.
ここで,「MY AGENTS」,「USERS AGENTS」,「USERS DAEMONS」とあるのですが,よく分からない.
多分,新たに追加する場合は「MY AGENTS」に追加すれば良い.
ツールバーの「New」を押せば,新たなサービスが追加できる.
「New」を押して「My Agents」を選択,「Create」を押すと,1(Name),2(What),3(When)とステップ毎に分けられた編集画面が出てくる.
まず,1(Name)ですが,こんな感じで適当につけました.
abc.hoge.SenddirBackup
次に2(What)ですが,さっきのrsyncのコマンドを入れます.
rsync -avz --delete /Volumes/senddisc/sendir/ /Users/hoge/backup
3(When)は「Run it every time a volume is mounted」を選択します.
意訳すると,「ボリュームを挿した(マウントした)ときに起動するぜ」ってことです.
これをちゃんと保存すれば出来るはずです.
再ログイン後,有効になります.
確認は,再ログイン後に適当に同期元のファイルを変更して,ボリュームをマウントし直せば同期されているはずです.

最後に注意ですが,複数のボリューム名が一緒だと,これを区別できないので,思わぬところで,上書きされてしまう恐れがあります.
全部のボリュームの名前は変えておきましょう.


番外として,Lingonを使って,壁紙をスクリーンセーバーにする.
  1. Name,sys.hoge.ScreensaverDesktop
  2. What,/System/Library/Frameworks/ScreenSaver.framework/Resources/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine -background
  3. When,Run it when it is loaded by the system (at startup or login)
非常におしゃれですね.

2009年12月21日月曜日

gvimrcの設定

私,エディタはMacVimを使っています.
基本的に,プログラムもTeX文書もMacVimです.
Mac上でgVimを導入する場合,いくつか方法があって,全部は調べきれないんだけど,何となく一通りやってみて,macvim-kaoriyaを使ってます.
こっちのmacvimよりも,日本語切り替えがいい感じ.
日本語の文章も打つ僕にはこれが一番よかった.
インストールも簡単だし.

mvimというシェルスクリプトがあって,コマンドラインから起動出来るのも良い.
このシェルスクリプトをどうやってインストールしたか全然覚えてないんだけど.
たしかバイナリの中にあったような気がしたんだけど,今見たら無かった.
多分これ
これを/usr/local/binとかに置いとけば良いと思います.
すみません,テストはしてません.
あと,mvimからじゃないと,設定ファイルがきちんと読み込まれないことがある.
謎.

基本的に設定ファイルは,~/.gvimrcに書いてます.
.vimrcに書くと,普通のvimにも影響が出そうなので,何となく.
vimはデフォルトの状態で使いたい.何となく.
この設定にはいろんな記事を参考にして書きました.
この設定ファイルで,自分好みに出来ることが,一番の魅力.
逆に,デフォルトの状態で使うと,すんげー使いづらいのよね.
とりあえず晒しときます.長いよ.
" ウインドウの幅
set columns=100
" ウインドウの高さ
set lines=52
" コマンドラインの高さ(GUI使用時)
set cmdheight=1
let s:ext = fnamemodify(bufname(""), ":e")

"Mail.appの外部エディタとしての使用
if s:ext=="mail"
set columns=80
set lines=40
end

"Safari.appの外部エディタとして使用"
if s:ext=="safari"
set columns=80
set lines=40
end


" マウスに関する設定:
set mouse=a
" マウスの移動でフォーカスを自動的に切替えない (mousefocus:切替る)
set nomousefocus
" 入力時にマウスポインタを隠す (nomousehide:隠さない)
set mousehide
" ビジュアル選択(D&D他)を自動的にクリップボードへ (:help guioptions_a)
set guioptions+=a

set number
set incsearch
set autoindent
set ic
set ts=4
set noexpandtab
set shiftwidth=4

"リマップ関連
inoremap ¥ \
"<ESC>
inoremap <C-q> <Esc>
vnoremap <C-q> <Esc>

"<移動>
inoremap <C-l> <Right>
inoremap <C-h> <Left>
inoremap <C-b> <S-Left>
inoremap <C-w> <S-Right>
inoremap <C-x> <BS>

"<cm>によってコメントアウト
nmap cm :call EnhancedCommentify('', 'guess')<CR>

"補完ウィンドウの色
highlight Pmenu guibg=#666666
highlight PmenuSel guibg=#AA0000 guifg=#FFFFFF

"vi-latexプラグインに関する設定
filetype plugin on
filetype indent on
"ファルタイプが.texの時のみスペルチェックする
autocmd FileType tex set spell

"Octave, Matlab用にリマップ
if s:ext=="m"
"括弧の補完
inoremap ( ()<++>5<LEFt>
inoremap { {}<++>5<LEFt>
inoremap [ []<++>5<LEFt>
inoremap '' ''<++>5<LEFT>
"行末に;を挿入
nmap ; <S-a>;<ESC>0
end

"インクリメントコピー,数字部分だけをインクリメントしてコピーする.
map <C-I> Yp:s/\d\+/\=(submatch(0)+1)/g<CR>

"インプットモード内で<C-w>で単語毎のbackspace
inoremap <C-w> <ESC>bdwa

"vim-cocoaとMacVimの共通設定
if has('mac')
set showtabline=2 " タブを常に表示
set guioptions-=T
set guioptions+=ai
autocmd VimEnter * tab all
set transparency=30 " 透明度を指定

set formatoptions+=m
set backspace=indent,eol,start
set wildmenu
set wildmode=list:full
set noswapfile
set showcmd
set ffs=unix,dos,mac

set complete+=k " 補完に辞書ファイル追加
set termencoding=utf-8
set encoding=utf-8
set fileencodings=utf-8,cp932,euc-jp

set smarttab "行頭の余白内で Tab を打ち込むと、'shiftwidth' の数だけインデントする。

"フォント関連
set guifont=Courier:h12
set guifontwide=Courier:h12
set antialias

colorscheme desert
hi NonText guibg=NONE guifg=NONE
hi Normal guibg=grey5
hi LineNr gui=bold
hi LineNr guifg=#DDDDDD

highlight ZenkakuSpace cterm=underline ctermfg=darkgrey gui=underline guifg=darkgrey "全角スペースの可視化

"ステータスラインの設定
set laststatus=2 "表示
set statusline=%t<%<%F>%m%r%h%w
set statusline+=%{'['.(&fenc!=''?&fenc:&enc).']['.&fileformat.']'}
set statusline+=%=%l-%c[%p%%]
"ステータスラインの色
highlight StatusLine term=NONE cterm=NONE guifg=white guibg=NONE gui=bold
highlight StatusLineNC term=NONE cterm=NONE guifg=grey50 guibg=NONE
" highlight StatusLineNC cterm=reverse

"検索ハイライトの色
highlight IncSearch guifg=white guibg=black
highlight Search guifg=white guibg=blue

"カーソルの色
highlight Cursor guibg=white guifg=black

"vsplit時の境界の色
highlight VertSplit guifg=black guibg=NONE
" set fillchars=vert:I

"折りたたみ
highlight Folded guibg=gray10

"スクロールバーの非表示
set guioptions-=r
set guioptions-=L

"行送り
set scrolloff=10

"<C-e><C-y>によるスクロールを速くする
nnoremap <C-e> <C-e><C-e><C-e><C-e>
nnoremap <C-y> <C-y><C-y><C-y><C-y>

"OSのクリップボードとリンクさせる
nmap _ :.w !nkf -Ws\|pdcopy<CR><CR>
vmap _ :w !nkf -Ws\|pdcopy<CR><CR>

set visualbell

"タブ移動リマップ
nnoremap t gt
nnoremap T gT

"セパレートウィンドウを切り替えをリマップ
nnoremap <C-w> <C-w><C-w>

"NERDTreeの表示と非表示
let NERDTreeWinPos="right"
let NERDTreeWinSize=25

"vim-cocoa用のサイズ
set columns=1000
set lines=1000
endif

" MacVim用
if has('gui_macvim')
set columns=100
set lines=52
set transparency=30 " 透明度を指定

map <silent> gw :macaction selectNextWindow:
map <silent> gW :macaction selectPreviousWindow:

" フルスクリーン切り替え関数
function! FullAndHideTab()
set fuoptions=maxvert,maxhorz
set invfullscreen
set transparency=50
if &showtabline==0
set showtabline=2
"set columns=columns
"set lines=lines
set fuoptions=lines,columns
set transparency=30
else
set showtabline=0
end
endfunction
nnoremap <silent><space>f :call FullAndHideTab()
endif

" Windows用gvim-kaoriya
if has('win32')
colorscheme desert
set transparency=200
nmap ; :
set guioptions=-c
"IME状態に応じたカーソル色を設定
if has('multi_byte_ime')
highlight Cursor guifg=#000d18 guibg=#8faf9f gui=bold
highlight CursorIM guifg=NONE guibg=#ecbcdc
end
set guifont=MS_Gothic:h11:cSHIFTJIS
set linespace=1
if has('kaoriya')
set ambiwidth=auto
endif
end

長かったわ〜.一応,Windows用の設定も書いてます.
ときどき追加するんで,順番とか一貫性が無いですな.
見づらいですが,コメントも一応つけといたんで,気になる箇所だけチェックしてみて下さい.
ポイントとしては
  • インプットモードからのESCをC-q
  • set fileencoding=utf-8,cp932,euc-jpとかいて文字化け防止
  • 全画面モード(多分MacVim限定)への切り替えをFullAndHideTabで定義
  • 半透明(set transparency=数値)
  • 試行錯誤したhighlightの設定
  • フォントはMonaco,Osakaあたりが人気なのに,敢えてCourier
こんなところです.
使ってるプラグインは
  • vim-latex(latex文書の入力支援,コンパイルをキーバインドに割り当てることができる)
  • YankRing(ペースト後にC-p,もしくはC-nで前にヤンクしたものを辿れる)
  • autocomplpop(補完ウィンドウを自動的に表示する)
  • EnhCommentify(コメント記号を自動的に認識して挿入,削除できる) 
  • NERDTree(サイドウィンドウにカレントディレクトリのファイルを表示,開くことが出来る.ディレクトリを辿ることも可)
に落ち着いてます.
あんまりプラグインを増やすのもアカン.
こんな感じで,vim人生を送ってます.

2009年12月5日土曜日

LaTeXの数式をsvgにする

LaTeXの数式を画像に入れたい,ってときありますよね.
僕はあります.
そういうときは,結局,TeXでつくる書類に入れる図だったりするので,今まではpicture環境で入れてた.
ただ,数式の数が増えるとめんどくさい.
いちいち,場所を調整するのも面倒だし,図の大きさを変えたいときとか,位置調整したり,\unitlengthを調整したりと,結構手間がかかるのよね.
見栄えはいいけど.

LaTeXの数式をInkscapeに挿入できるエクテンションがあるらしい(参考).
調べると,pstoeditというので,eps --> svgへの変換が可能らしい.
というか,ここに書いてあった通りにできました.
手順は,
とりあえず,pstoeditをインストール.
fink install pstoedit
もしくは,
sudo port install pstoedit
LaTeXのソースを作る.
\documentclass[30pt]{jsarticle}
\usepackage{txfont}
\begin{document}
\thispagestyle{empty}
$$\sum_{k=1}^{n} k = \frac{n(n-1)}{2}$$
\end{document}
こんな感じで.日本語は入れちゃ駄目.
あと,documentclassをjsarticleにしないと,30ptというデカ文字は指定できないっぽい.
できたら,LaTeXのコンパイル.
platex math.tex
できたmath.dviをepsに変換するよ.
dvips -Ppdf -E math.dvi -o math.eps
さらにこのmath.epsをアウトライン化.
eps2eps math.eps math1.eps
eps2epsはghostscriptについてくるコマンドなので,TeXがコンパイルできるなら,多分インストール済み.
上書き保存はできないので,ファイル名を変える必要あり.
最後に,math1.epsをsvgに変換だ.
pstoedit -f plot-svg math1.eps math.svg
以上で完成です.

Inkscapeに読み込むには,ファイル --> インポートで出来る.
グループ化されているので,オブジェクト --> グループ解除する.
文字内で円になっている箇所が,塗りつぶされている可能性があるので,その箇所を範囲指定してから,パス --> 排他を選ぶ.
いや〜出来た,出来た.
コマンドがたくさん出てきたので,関数としてzshrcに書いておいたら,快適になりました.

2009年11月13日金曜日

Chrome on Mac

Googleが作ったブラウザ,Chrome.
Windowsじゃ既にデフォルトのブラウザにしていて,早いわ〜と言っていたんですが,Chrome for MacのDeveloper Releaseの新しいのが出てるみたいです.

というわけで,試してみました.
ダウンロードはここから.新しいのが出るとURLが変わりそうな気がします.
10月20日リリースバージョンが今のところ,ダウンロードできます.

前回のリリースより格段に使えます.
UIも整備されているし,何より早い.
Safariは読み込みにくいページがあると,しばらくの待機(とはいってもすごく短い)から一気に読み込まれる感じですが,Chromeはちょっとずつ表示されてるって感じがしますね.
たぶん,最終的な読み込み速度は変わらないだろうけど,Chromeが体感で早い気がします.
あと,Snow Leopardにしてからメモリ消費が激しいので(気づいたら非使用中のメモリが10MBくらいのときがある),そういう面でもメモリ食いのSafariを使いたくないというときは,便利かもしれない.
Chromeがどの程度メモリを消費するか見てないですが.

だけど,Chromeはマウスジェスチャーが出来ない.
複数のエクステンションをインストールしてみたけど,ちゃんと動きませんでした.
マウスジェスチャーは結構使うので欲しい.

あと,プライベートブラウジングのときのテーマ(?)みたいなものが,ちょっとかっこいい.

嬉しいことに
ChromeをVim風にキーボード操作する拡張
という記事で,ChromeがVim風になる.
これはちゃんと動いた.
FirefoxのVimperatorより,機能はかなり劣るけど,jkでスクロールできるだけでも嬉しい,
あと,fでリンクを数字で表示もかなり使える.
Vimperatorは正直言って,かなり良いけど,コマンドやキーバインドの挙動を調べるのが,面倒くさくなっちゃいました.Vimperator用のプラグインとかね.
このくらいシンプルなのが良い.
これだけあれば,キーボードだけでブラウジングは出来る.
ただ,hlで「戻る」「進む」動作が出来ないので,これが残念(Macだからかな,Windowsでは試してません).
Backspaceは遠い.

ただ,Vimperatorは時間があれば,思いっきりカスタマイズしてみたい.
SafariでVimperatorが使えればなぁ.
多分,思いっきりやってますね.

一応,この記事「Vim」っていうラベル貼ってみたんですけど,どうですかね.
間違ってますかね.

あと,ChromeはPower PCにも対応して下さい.

2009年11月10日火曜日

Fink on Snow Leopard

FinkからMacPortsへの移行を昔(とは言っても1ヶ月くらい前)書きましたが,結局Finkに戻すことにしました.
理由はやはり,FinkのpTeXパッケージの場合,TeXの文字コードを意識しなくて良いから.
あと,Finkの方がyumとかapt-getに何となく似ているから使いやすい.
とりあえずMacPortsの方は,
sudo port deactivate active
としてportsを取り除いといた.

FinkのSnow Leopardの方はバイナリパッケージがまだ無いので,bootstrapでインストールします.
方法はここに書いてある通りに出来ましたが,一応書いておきます.
まず,ここ(上のリンクと一緒です)からfink-0.29.tar.gzをダウンロードします.
その後,ターミナルでダウンロードしたフォルダに移動して,
tar -xvzf fink-0.29.10.tar.gz
cd fink-0.29.10
./bootstrap
/sw/bin/pathseup.sh
fink selfupdate
これで完了です.

というわけで,MacPorts移行計画は失敗に終わりました.
まぁ,最初に必要なものをインストールしたら,そんな使わなくて,久しぶりにアップデートしたら,最後には再インストールというはめになるので, どっちでも良いや.


関係ない話
なんか最近のfedoraのアップデートで,dvipdfmxが
** ERROR ** Could not find encoding file "H". 
的なエラーで出来くなってた.
このエラーは,今まで,/usr/share/texmf/dvipdfmとかにAdobe ReaderのCMapやghostscriptのResourceへのリンクを張り直しておけば,治ったんだけど今回は治らなかったわ.
あんまり使わないので,放っといた.
Linuxの場合は,xdviでプレビューするのでそんな困らないかな.困らないといいよね.

2009年11月7日土曜日

LaTeX-Beamerの備忘録

最近スライドを作ることが多いので,Beamerで新発見したことなど.
Beamerに関しては,検索すれば日本語の良い解説記事があります.
僕は趣味みたいなもので,スライドの外観を毎回変えるようなクソヤローなので,どうでも良いことしか書いてません.

参考URL
インストール法などはココが分かりやすいです.すぐに使えるサンプルファイルもあり.
アニメーションなど日本語解説はココ.スライドの遷移アニメーションについても書いてます.
とにかく何でも書いているのはbeameruserguide.pdf(英語).これはBeamerをインストールすれば,パソコンのどこかにあります.


outerthemeのsmoothbars(それぞれのページに対応する小さい円とセクション名)でsubsectionを表示する行を無くす.
\useoutertheme[subsection=false]{smoothbars}

block環境の枠を,縁を丸く,影付きにする.
\setbeamertemplate{blocks}[rounded][shadow=true]
ちなみに,roundedをしないと影付きにならないみたい.
丸いのはちょっと,という方は[rounded off].


Apple keynote風に背景をグラデーションにする.
\setbeamertemplate{background canvas}[vertical shading][bottom=white,top=gray!15]
分かりにくいよ,という方は,top=gray!15のところをtop=red!50とでも変えてみて下さい.
僕はこのくらいがちょうどいいです.


背景のグラデーションだけじゃ足りない.わたしゃ絵を入れたい,という方は,
\logo{\includegraphics[width=\textwidth, height=\textheight]{background.eps}}
とすると,背景がbackground.epsになります.


フレームの見出しの書式を変える.
\setbeamerfont{frametitle}{size=\large, series=\bfseries}
\setbeamercolor{frametitle}{fg=white, bg=blue}
\setbeamerfontはフォントを変える.例の場合はサイズが\largeで太字.
\setbeamercolorは色を変える.例の場合は文字の色が白で,背景が青.
frametitleと書いているところに違うものを入れれば,他の箇所の設定も変更できる.
titleはスライドのタイトルページに表示されるタイトルの書式.
block titleはblock環境の見出し部分の書式.
block bodyはblock環境の本文部分の書式.
他にもblock title alertedとか.


beamercolorbox環境をページいっぱいに広げない.
以下のように新たな環境を定義する.
\newenvironment{colorbox}[2]%
{~\begin{beamercolorbox}%
[wd=#1, sep=0pt, shadow=true, rounded=true]{#2}}%
{\end{beamercolorbox}~~}
使いかたは
\begin{colorbox}[width][color]
本文
\end{colorbox}
という感じ.[width]というところには直接[24pt]とか書き込む.
[color]も同様に,[block body]などを書いてみるといいよ.
これだと改行もされないので,文中に埋め込むことも可(ただし文字幅が異なるので,変な感じになるかも.\raiseboxなどで調整すれば良いかもしれない).


一番のヒットはやはり背景のグラデーションですかね.
というか,それぐらいしか結局使ってません.うっすいグラデーション.
基本的にプリアンブルに書いとけば,なんか印象が変わるみたいなものしかいじらない.
わたし,\pauseとかも全く使いませんから.

2009年11月5日木曜日

dvipdfmxでのしおり文字化け

beamerでつくったPDFのスライドの日本語のしおりが文字化けしとる.
プリアンブルに下記の行を入れとけば,今まで化けなかったんだけど.
\AtBeginDvi{\special{pdf:tounicode EUC-UCS2}}
これは,TeXのディストリビューション(texlive2008とかに)にEUC-UCS2というmapファイルが抜けてるかららしい.
下がdivpdfmx hogehoge.pdfのエラー.
** WARNING ** Failed to load ToUnicode mapping: EUC-UCS2
** WARNING ** Interpreting special command tounicode (pdf:) failed.
** WARNING ** >> at page="1" position="(72, 200.126)" (in PDF)
** WARNING ** >> xxx "pdf:tounicode EUC-UCS2"

Mac OS XでSpotlightで検索すると,EUC-UCS2ってファイルはあるんだけどね.
どうもパスが通ってないらしい?よく分からない.

そこで,このEUC-UCS2ってファイルをTeXのソースファイルのあるフォルダに置いてやる.
そうすると無事に文字化けせずに出てきました.

これは!と思い適当に,パスが通ってそうなところにコピーしまくったんですが,どこにコピーしても治りませんでした.
残念だよ.いつも期待通りに動いてくれないよ.
当分はソースファイルと一緒に所に置いとくしかなさそうです.

ちなみにfinkの場合,stableのままplatexをインストールすると,そのままでは文字化けしない.
(unstableにすると,texlive2008がインストールされるので化ける.)

あと,プリアンブルにこんな感じのことを書くと,化けない可能性あり.
\usepackage{atbegshi}
\ifnum 42146=\euc"A4A2
\AtBeginShipoutFirst{%
\special{pdf:tounicode EUC-UCS2}}
\else
\AtBeginShipoutFirst{%
\special{pdf:tounicode 90ms-RKSJ-UCS2}}
\fi

それかいざとなったら\sectionを書くときに,
\section[Introduction]{はじめに}
みたいな感じに書くと,しおりにはInroductionが使われるので,化ける心配無し.
ただし,beamerのouterthemeにも英語の方が使われるので,なんか気まずい.

2009年11月3日火曜日

Linuxとかでヒラギノ

Windows XPとディアルブートでUbuntuを使ってます.
Ubuntuはインストールも非常に簡単で,「日本語環境セットアップ」なるものを使えば,TeXもbeamerもすぐ入るので,重宝してます.
Ubuntu 9.10へのアップグレードも簡単に済みました.
「システム」-->「システム管理」-->「アップデートマネージャー」で「アップグレード」って所をクリック.2時間程度で終了.
GUIでアップグレード出来るなんていいよね.
ちなみにFedoraはポップアップをクリックしたら,Fedora 11が入ったんでびっくりしたよ.
まぁ,壊れてもあんまり使わないし,またインストールし直せば良いんで,こんな適当にアップグレードしてるんですが.

最近は,「日本語環境セットアップ」でIPAゴシックが入るので,わりと見栄えはいいです.
ちょっと前まではさざなみフォントとかだったので,手動でMacから,ヒラギノフォントとか持って来てみたいよね.

Mac上: /Library/Fonts/ あたりにヒラギノがあるような気がする.
Ubuntu上: /usr/shar/fonts/ あたりにヒラギノをおけばシステムフォントとして使える,様な気がする.

著作権とかその辺に触れそうなので,そんな気がするだけでやめときます.
多分,mapを指定すれば,LinuxでもTeXでヒラギノを埋め込んだPDFが作れる,かもしれないですね(これは,面倒なので本当にやってない).

iPhoneが同期されない

家でUSBケーブルでMacとiPhoneを繋いでも,何にもおこらないので焦りました.
ググってみると,わりとそういうことがあるみたいですね.
復元とか(これは,全くMacが反応してないので無理),iTunesの再インストールとかで解決するみたい.

僕の場合,Windowsや他のMacに挿してもウンともスンとも言わないので,近くのSoftbankショップにでも行ってみるか,と諦めかけてた.
そこで,USBのACアダプタあったよな,と思い出し,コンセントと接続.
何も反応無し.
これは,ケーブルの断線かコネクタ部の故障か?と思い,ケーブルをよく見ると,コネクタ部にすんげーたくさんゴミ詰まってた.
これ取ったら,治ったよ.

まさか,こんなことだとは...
Macは割と壊れやすいので,すぐ故障だと思うのはいけないですね.
ググる前にまず,現実を確認しないと駄目だ,現実を見ないと駄目だ.

ちなみに,調べた結果,このUSBケーブルは無償で交換できるらしいよ.

2009年10月26日月曜日

Power Mac G5 Quadのメモリ増設

Power Mac G5 Quad(M9592J/A)のメモリを増設しました.
今さら感が否めませんが,Snow leopardをPPCにインストール出来ないので.買い替えたいという気持ちがすごかったのです.
もう,長いこと使ってるし.
でも,気に入る機種も無いわけで.
なので,それを押しとどめるためにも,メモリを増設しちゃえということで...

現在,2.5GB(512MB×2,1GB×2)なので,8GB(2GB×4)の増設で,合計10.5GBとなる計画.
2GB×4で値段は2万円弱でした.

方法は到って簡単です.
  1. 電源を切り,電源ケーブルを抜く.
  2. 背面のレバーを引いて,側面のカバーを外す.
  3. プラスチックのカバーをとる.
  4. G5とかかれている箱(?)の側面にあるファンを,引き抜く(この際,コードとかを抜く必要はありません.割と強めに引けばとれます).
  5. だいたいのPower Mac(Mac Pro)は中がホコリまみれなので,小さめの掃除機,もしくはハンディワイパー的なもので,できるだけホコリをとりましょう.
  6. なんか掃除していると,他にもいろいろ外して徹底的に掃除したくなりますが,後々面倒なので,踏みとどまりましょう.完璧なPCなんてこの世に無いのです.
  7. 2. で外したファンの奥にメモリが挿さっているので,開いてるスロットにしっかり差しこみましょう(その前に,どっか金属部分に触れて,体内の静電気を放電しましょう.箱がアルミだから要らない?).
  8. 1~4で外したものを,元に戻す.
  9. 起動して,システムモニタで確認.
簡単でしたね.
かなり昔にメモリを換えたiBook G3に比べれば,もう赤子の手をひねるようなものです.
それにしても,半年くらい前にハードディスクを換えたときに掃除したんですが,すぐ溜まりますね.
メモリが10.5GBってことは,先述したiBook G3のハードディスクの容量(10GB)を超えた.

通常使う範囲(Finder操作や,ブラウジング,メールとか)では体感は変わりませんでした.
確実に変わったところは,Logic Proを使っていて,ときどき「システムオーバロード」的なエラーが出て,再生が止まることがあったのですが,これが無くなりました.
別にそんなに困るようなエラーではなかったですが.

実際,メモリの多さで得をするときは,Safariでウィンドウ(もしくはタブ)を開きまくったときだけだと思う.

僕は仕事でSnow leopardのMacBook (Late 2007,2.2GHz,2GB)を使っているのですが,Power Mac G5と実際,体感の速さは一緒ぐらい.
どちらもストレス無く動きます.
ただ,MacBookはときどき熱くなりすぎて,心配しちゃいます.
あと,外部ディスプレイに繋ぐと,MacBookは若干もたつく.
最近,PPCはMac miniより遅いと言われたりしてますが,今ぐらいになると,体感は変わらない.
まぁ,一緒でいいのかってことですが.
MacbookにLogicを入れて,試してみないとわかんないですね.
それぐらいしか重いソフト使わない.
しかも,Power MacでもCPU使用率,60%ぐらいしかいかないけどね.
あと,Snow leopardのExposéのアニメーションがLeopardのときより,早くなってるみたいで,Leopardを使っているときに,なんか遅くてイラっとくるのは,僕だけですかね?

このPower Macで次のOSが出るまでは頑張ろう.

2009年10月23日金曜日

Mail.appの音が鳴らない

最近,Mail.appで受信時に音が鳴らないな〜と思っていたら,
どうやら「システム環境設定--サウンド」のサウンドエフェクトタブの設定が怪しい気がする.

というか,元から音が鳴っていたか,どうかすらあんまり覚えてないけど.
ただ,設定的には音が鳴るようになっているので,何かがおかしいんだろう.

まず,検索した結果,10.5.6(or .7)のアップデートの際に
「ユーザーインターフェイスのサウンドエフェクトを再生」
というチェック項目が外れることがあるらしい.
これが原因で鳴らなくなることもある.

見てみたけれど,僕の場合はチェックは外れてなかった.
しかし,「警告音の音量」がミュートになっていた.
たしか,ターミナルとか使っているときに,警告音が鳴るのがうざかったから,ミュートにしたような,してないような(何にも覚えてないな).

とりあえず,この音量を上げた.
しかし,鳴らず.
ルールを適用して,「サウンドを再生」にしても鳴らず.
なんでや.

僕は,Mail.appのルールを使って「AppleScriptを実行」で,以下のスクリプトをメール受信時に呼び出している.
これは,Growlで件名と差出人を表示できる.
(僕はDockを自動的に隠しているので,何か通知が欲しかった)
どこかで,見つけたやつだけど,ソースを忘れたので,載せときます.
tell application "GrowlHelperApp"
set the allNotificationsList to {"Mail", "Junk Mail"}
set the enabledNotificationsList to {"Mail", "Junk Mail"}
register as application "Growl Mail Rule" all notifications allNotificationsList ¬
default notifications enabledNotificationsList ¬
icon of application "Mail"
end tell

using terms from application "Mail"
on perform mail action with messages messageList
repeat with thisMessage in messageList
set theSender to sender of thisMessage
set theSubject to subject of thisMessage
if junk mail status of thisMessage is true then
set noteType to "Junk Mail"

else
set noteType to "Mail"
end if
tell application "GrowlHelperApp" to notify with name noteType ¬
title noteType description ¬
"From: " & theSender & return & return & "Subject: " & theSubject ¬
application name "Growl Mail Rule"
end repeat
end perform mail action with messages
end using terms from
使いたい人はこれをスクリプトエディタで開き,一回実行して(メニューバーの「実行」を押す),どこか適当なフォルダに保存して,ルールから呼び出せば良いです.
Mail.appを起動しておかないと,動きません.
そんなに使えないか,もしかして.

「システム環境設定--Growl」のアプリケーションタブから,各アプリケーション毎の設定を選べて,音も出せる.
今までは,このGrowlの音量もミュートされてたみたい.
この設定で音を選べば,とりあえず音が鳴ったよ.
やったー.なんか回りくどいけど.

Mail.appの「新着メールの着信音」(フォーンってやつ)にしたいわ〜,って人は,Mail.appのパッケージの内容を表示して,Contens/ResourcesからNew Mail.aiff(フォーンってやつ)を/System/Library/Soundへ移す.
もしくは,ターミナルで,
sudo cp /Applications/Mail.app/Contents/Resources/New\ Mail.aiff /System/Library/Sounds/New\ Mail.aiff
とする.
管理者権限が必要です.できない人は残念.
そうすると,New Mail(フォーンってやつ)が選べるようになる.
メールが来たらGrowlの通知とともにフォーンと鳴ります.

これが,面倒で,Mailの通知が欲しいという人はMail.appetizerを使いましょう(参照).
Snow leopardな人はHeraldが良いみたいよ(参照).
参照のページはとっても分かりやすい.
こんな僕のブログを見てないで,そっちを見なさい.
と,さんざん書いたあとに書いてみる.
ちなみにこの二つは,フローティングウィンドウ内で,本文も読めるし,開封済みにもできるらしい.
便利よ〜.

ターミナルの警告音は,ウィンドウの設定でベルのチェックを外せば,すぐ消えました.

2009年10月16日金曜日

Mail.appと@i.softbank.jp

僕はiPhoneを使っている.
メインのメールはGmailにしたかったのだけど,携帯アドレスに送った場合,フィルターに引っかかる恐れがあるので,友人とかにはi.softbank.jpのアドレスを知らせた.

PCで受信,送信が出来たので便利に使ってたけど,最近すこぶる調子が悪い.
Mail.appで受信しているが,起動時に新着メールを一度受信するだけで,その後同期してくれない.
iPhoneの着信は鳴るけど,いつまで経ってもMail.appで受信できない.
これのせいで,鳴ったことをすっかり忘れる(iPhone見ろよ).

前は少しの遅れはあったものの,そのうち受信できてたんだけどな.
何で?

解決策としては,
  • iPhoneをちゃんと見る
  • iPhoneが鳴ったら,サイドパネルにある受信ボックスを右クリックして,一度,オフラインにして再びオンラインにする
後者の方法で,再起動すること無く,Mail.appで受信できます.
多分,ソフトバンクのせいだと思う.
転送も出来ないし,困ったもんですね.まぁ,そんなにメール来ないですが.
それに,送信はちゃんと出来るので,送信できるだけでも,便利です.
全くiPhoneで文字を打つ気になれない.

よく連絡する人には,Gmailが引っかからないようにフィルターを解除してもらっているので,Gmailを使ってます.

GmailもExchange ActiveSyncをiPhoneでプッシュ通知が出来るようになって,大変便利です(設定方法はここを見ましょう).
「同期するメール日付」を制限無しにしたら,ダウンロードにメチャクチャ時間がかかった.
だけど,結局全文検索は出来ないのね.
あの,検索欄の「すべて」って言うのは意味があるの?
iPhoneでメールを検索する場合は,SafariでGmailを開いて行う.

ちなみにMac上のMail.appでも「オフライン表示のためにメッセージのコピーを保持」の選択欄を「すべてのメッセージ,添付ファイル」,もしくは「すべてのメッセージ,添付ファイルは省略」にしとかないと,IMAPアカウントの全文検索は出来ない.
そりゃそうだけど,意外と気づかない.

2009年10月14日水曜日

nkfによる文字コード変換

MacPortsのTeXは
sudo port install pTeX +utf8 +motif
として,文字コードをutf8としている.

texのソースファイルはutf8で書いているんだけど,クラスファイルとかeuc-jpが混ざっていたりする.
そこでnkfで変換.
まず,インストール.
sudo port install nkf
すぐ終わる.
変換したいファイルがhogehoge.clsの場合,utf-8に変換する.
nkf -w hogehoge.cls > hogehoge.cls
と最初にしたんだけど,出来たhogehoge.clsの中身が消えた.チクショウ.
nkf -w --overwrite hogehoge.cls
と,--overwriteというオプションをつける必要あり.

finkのplatexは勝手にnkfにパイプしてたっぽい.
文字コードを意識しないで良いのは良いよね.

ちなみにMacのGUIのエディタで,文字コード変換が一番信用できるのはmiだと思う.
MacVimもutf-8以外,ちゃんと読み込まれなかったけど,.gvimrcに
set fileencodings=utf-8,cp932,euc-jp
と書いたら,だいたい読み込めるようになった.
vimだと,だいたい読み込めるんだけどね.

一生,文字コードに関して手を煩わしたくないので,nkfのパイプについて調べてみよう.
そのうち,書きます.

2009年10月10日土曜日

MacPorts on Snow leopard

MacPortsをインストールしました.
まず,finkをアンインストール.
sudo rm -rf /sw
Xcode Toolsはインストール済みなので,ダウンロードページのSnow leopardから,dmgをダウンロードする.
インストーラーの指示に従って,インストール.
問題なく終了.
パスは勝手に追加されてました(~/.profileと~/.zshenv).

とりあえず,pTeXとgnuplotをインストール.

pTeX
sudo port install pTeX +utf8 +motif

gnuplot
sudo port install gnuplot

全く問題なく終了.

MacPortsのpTeXにはlatex-beamerも含まれているが,なぜかdvipdfmxでエラーが出る.
エラーを無視すれば,dvipdfmxでpdfに出来るが,レイアウトがところどころずれる.
とりあえずここからlatex-beamer-3.07.tar.gz,pgf-1.01.tar.gz,xcolor-2.00.tar.gzをダウンロードする.
ダウンロードしたフォルダに移動し,
tar xvfz latex-beamer-3.07.tar.gz
tar xvfz pgf-1.01.tar.gz
tar xvfz xcolor-2.00.tar.gz
sudo cp -r latex-beamer-3.07 /opt/local/share/texmf/tex/latex/latex-beamer
sudo cp -r pgf-1.01 /opt/local/share/texmf/tex/latex/pgf
sudo cp -r xcolor /opt/local/share/texmf/tex/latex/
sudo mktexlsr
とした.
まぁ,それでも残念ながら,
! Undefined control sequence.
l.30 \usepgfmodule
{shapes,plot}
的なエラーが出る.pdfの最初にゴミページができる.残念だ.
port searchで検索した結果,pgf-2.00が見つかったので,
sudo rm -r /opt/local/share/texmf/tex/latex/pgf
sudo port install pgf
としたら,出来ましたよ(ちなみに一番最初にpgf-2.00はインストールしたんだけど,それでは治らなかった).
良かった,良かった.

デフォルトでヒラギノフォントを埋め込むらしい.
ヒラギノフォントを埋め込むとゴシックフォントがW6になるけど,これは良いのかな?
埋め込まない場合,ゴシック体はW3で表示される気がする(いまいち分からないけど).
finkでdvipdfmxのmapを自分で書き換えたけど,MacPortsのTeXもそうなるのなら,別にどっちでも良いんですかね.
好みの問題?

MacPortsへの移行はすんなり済みそうだ.


あと,Guns & Rosesの東京公演のCMについて.
過去の楽曲を流されると,なんか,すごく行きたくなる.
そこにイギーもスラッシュもダフもいる気がするから.
ただ,画面下に小さく書いてある値段を見ると,なかなか.
というか,アクセルしかいないもの.短パン履かないし(多分).
せめて,バケットヘッドがいればね,何となく面白い気がする.

2009年10月8日木曜日

Octave3.2.xでxlabelが表示されない

先日書いた,Octaveのバイナリパッケージ(ver. 3.2.3)を使ってみました.
矢印キーでの履歴表示が前方一致(Matlabの履歴と同じ,zshのhistrory-search-endみたいな)になっている.
これはすごく便利.
zshではCtr-pで履歴をたどっているので,これと同じキーバインドにしたい.
やり方が全然分かりません.分かったら書きます.

plotしたら,xlabelが表示されない.ylabelは表示される.
Mac os X上で,aquatermのデフォルトで表示した場合,今までのウィンドウと比べ,一回り小さい.
調べたところ,ここで発見.
octavercに次の行を追加.
set (0, "defaultaxesposition", [0.13, 0.17, 0.775, 0.755])
これで解決.

ちなみに,コマンドからOctave.appを起動するには,Pathがとおっているフォルダ(例えば/usr/bin)に/Applications/Octave.app/Contents/Resources/bin/octaveにリンクを張れば良い.
ターミナル上で,
ls -s /Applications/Octave.app/Contents/Resources/bin/octave /usr/bin/octave
とする.

Octaveもこれで入ったし,もうfink要らないかな.
でも便利だよね.
よく分からんことが多い(エラーでたら基本的に解決法が分からない)ので,もっと使いやすくならないかな.

MacPortsも試してみようかな.
3連休それで潰れそう.それはなんか悲しい.

Snow leopardのgnuplot(fink)

finkでインストールしたgnuplotが使えなくなっていた.
ptexとかそのまま通ったので,油断してました.
octave上(これもfinkでインストール)でplotを使うと,
dyld: Library not loaded: /usr/X11/lib/libfontconfig.1.dylib
Referenced from: /sw/lib/libgtk-x11-2.0.0.dylib
Reason: Incompatible library version: libgtk-x11-2.0.0.dylib requires version 6.0.0 or later, but libfontconfig.1.dylib provides version 5.0.0
/sw/bin/gnuplot: line 6: 87456 Trace/BPT trap /sw/bin/gnuplotx "$@"
こんなエラーが吐かれる.
gnuplotを起動した場合も同様.

いろいろ試した結果,結局,
fink install gnuplot-nox
こんな感じで,一応プロットできた.
根本的な解決にはなってない気がする.
フォーラムとかで似たような質問を見ると,finkを削除して再インストールすれば的な意見がでてたよ.
もっと納得できる解決法は無いのかなぁ?

今回,いろいろ調べた結果,ここで配布されているバイナリパッケージ(ver. 3.2.3)の方が,octaveのバージョンが新しかった.
finkのパッケージ(現在3.0.5)は古いのね.

このまま使っていても,どっかで不具合が出て,/swを全削除するはめになりそうだ.

あと,僕はoctave(3.0系)から図を出力する場合,
print hogehoge.svg -dsvg '-S500,350'
として,SVGで出力,Inkscapeで細かいところを編集,という流れでやっている(-Sはサイズを指定するコマンド).
残念なことにSnow leopardにしたら,Inkscapeも動かなくなりました.
まぁ,これはver. 0.47にすれば,普通に動きました(ただし,まだpre3らしい,近々正式版リリース).
今まで,Inkscape上でsvgfixをしないと,軸とかが消えてたんですが,これが治ってました.
gnuplotを入れ替えたからか,Inkscapeが頑張ったのか分かりません.

Snow leopardのおかげで,当分は備忘録が尽きなそう.
Snow leopardはMacBookにインストールしたんですが,そんなに目に見える変化はないですね.
システム終了が早くなったことくらいかな.
ただ,QuickTime Xが非常にキレイなのでPowerMac G5にどうにかQuickTime Xを入れたいです.

2009年10月7日水曜日

Snow LeopardのPreview.app

Snow LeopardのPreview.appはなんか使いづらい.
hogehoge.pdfを開いた状態で,Terminalで
open hogehoge.pdf
とすると,最初のベージに戻る.
これが困る.

僕は,texで文章を書くときに,zshrcに
function tex2pdf(){
platex $1.tex;
dvipdfmx $1.dvi;
open $1.pdf;
open $1.tex;
}
と書いて,zsh上で
tex2pdf hogehoge
として,pdfにした後,preview.appにプレビューする. 最後に,open $1.texとして,editor(MacVim)に選択ウィンドウを戻す. これとVisorの組み合わせで,かなり快適でした.

Leopardまでは,preview.appはいままで表示されたページのままで更新されてたんだけど,Snow Leopardは最初のページに戻ってしまう.
設定を見ても,変更できない.
仕方ないので,pdfの表示にはTexShopを使うことに.
ただし,TexShopのpdfビューワーは,openコマンドをしただけでは,内容が更新されない.
そこで,「TexShop環境設定」の「プレビュー」タブにある,「プレビューの自動更新」にチェックを入れ,tex2pdfの関数を次のように書き換える.
function tex2pdf(){
platex $1.tex;
dvipdfmx $1.dvi;
open -a /Applications/TeXShop.app $1.pdf
sleep 0.7
open $1.tex;
}
sleep 0.7ってところが,若干のポイント.
openしただけじゃ更新されず,1秒後くらいに更新され,TexShopのウィンドウがアクティブになってしまう.
なので0.7秒ほど待ってから,MacVimがアクティブになるようにopenコマンドを実行.
なんかめんどくさいな.
いい方法があれば,教えて下さい.

備忘録とかとか

今まで,自分用にメモとか備忘録とか,自分宛にメールで送ったりしてました.
そんな悲しいことはやめて,ブログとして書いていこうと思います.

いままで,他の方々のブログなどのメモに大変お世話になってきました.
ネタはあまり無いですが,整理して書いて行こうと思います.

主にMacとかの話題.
マニアックな内容も多いですが,素人なので浅いです.