土曜日, 3月 17, 2012

Command+Tab で Finder を表示しないようにする方法

Mac OS Xの「Command+Tab」でアプリ切替をする時にFinderが表示されないようにする方法 : ライフハッカー[日本版]

こちらのリンクを参考にやってみた。Command+Tab でアプリを選択している時に誤って Finder が選択されてしまうことが時々あったので、この Tips はとても嬉しい。

ほぼリンク先のまんまの記事で申し訳ないが、リンク先にある手順を実行するだけで簡単に設定することが出来る。

環境

  • Mac OS X Version 10.6.8
$ su -
# vi /System/Library/CoreServices/Finder.app/Contents/Info.plist

dict ノードの下に以下を追加する。

< key > NSUIElement < /key >
< string > 1 < /string >

Doc にある Finder を Option キーを押したまま右クリックして、「Relaunch」を選び、Command+Tab で Finder が表示されないことを確認。

これは便利だ!!

(・∀・)イイ!!

金曜日, 9月 02, 2011

bm.el の色の設定を変更してみた

背景

以前、bm.el をインストールした訳だが、デフォルトの色がちょっと見にくかったので変更してみた。

【参考】自分のための日記: bm.el を入れてみた

環境

  • Mac OS X Version 10.6.7
  • GNU Emacs 22.3.1 (i386-apple-darwin9.8.0, Carbon Version 1.6.0) of 2010-01-09 on gs674-seijiz.local
  • bm.el,v 1.55


デフォルトの色

デフォルトの色は、こんな感じ。文字の色は白で、背景は紺っぽい色。


文字の色が単色であれば、そんなに問題ないようにも思えるが、ソースコードなどは型名、クラス名、メソッド名、リターンタイプ、予約語などは色付けされているので、紺だとちょっと色が強すぎる気が。。。あと、文字色がすべて白になってしまうのも、ソースコードを読むとき、コーディングしているときに見づらいと思った。

デフォルトの色の変更

bm.el 内で color で検索したら、この辺が出てきた。

    (((class color)
      (background light)) (:foreground "White" :background "DarkOrange1"))
    (((class color)
      (background dark))  (:foreground "Black" :background "DarkOrange1")))

    (((class color)
      (background light)) (:foreground "White" :background "DarkBlue"))
    (((class color)
      (background dark))  (:foreground "White" :background "DarkBlue")))

    (((class color)
      (background light)) (:foreground "White" :background "DarkOrange1"))
    (((class color)
      (background dark))  (:foreground "Black" :background "DarkOrange1")))

    (((class color)
      (background light)) (:foreground "White" :background "DarkBlue"))
    (((class color)
      (background dark))  (:foreground "White" :background "DarkBlue")))

bm-persistent-face, bm-fringe-persistent-face に設定されている以下の色が怪しい、と思った。

(:foreground "White" :background "DarkBlue")

自分のバックグラウンドは白で明るいので (background light)の行を変更する。という訳で、399行と434行の設定を以下のように変更してみた。

  • 変更前
          (background light)) (:foreground "White" :background "DarkBlue"))
  • 変更後
          (background light)) (:background "LightGreen"))


設定を変更して、Emacs を再起動。


すると、何も変わらなかった。。。

Σ(゚Д゚;)ガーーーン!

よくよく bm.el のある ~/.emacs.d/auto-install ディレクトリを見ると、bm.elc ファイルがある。という訳で、bm.el をバイトコンパイル。

M-x byte-compile-file[Enter]
~/.emacs.d/auto-install/bm.el

そして、Emacs を再起動。

すると、ブックマークの色が期待した色になりましたー!

(・∀・)!


こちらの方が、foreground のカラーは維持されるし、background のカラーもどぎつくないので、断然見やすいのではないでしょうか?

因みに、今回は bm-persistent-face, bm-fringe-persistent-face の両方を変更しましたが、bm-persistent-face を変更するだけで、所望の結果が得られることが分かりました。lisp の書き方が分からないので、emacs の設定をするときは毎回「トライ&エラー」なのが悲しいところ。。。


(´・ω・`)

土曜日, 6月 11, 2011

Mac OS X で Java のアップデート

背景

JPCERT/CC からの 注意喚起にて、Java SE のクリティカルパッチアップデートがあることを知る。Java SE 6 Update 26 にアップデートする必要があるようだ。


環境

現在の環境は、以下の通りです。

  • Mac OS X version 10.6.7


現状確認

JPCERT/CC によると、以下のページで Java のバージョンの確認が出来るようだ。

Java のバージョンの確認


実際に確認してみたところ、以下のページが表示された。



Mac をお使いの場合: お使いの Mac に最新バージョンの Java がインストールされているかどうかを確認するには、アップルメニューのソフトウェアアップデート機能を使用します。

とのことだが、ソフトウェアアップデート機能を使用しても何の更新も起こらない。

iTerm2 から以下のコマンドを入力すると、古いバージョン(1.6.0_24)のままであることが分かる。

$ java -version



対策

以下の自分のブログの記事を参考にして、"Java for 10.6 Update 5" をインストールした。

自分のための日記: Eclipse で rt.jar のソースを見る方法


インストールすると、/Library/Java/JavaVirtualMachines に 1.6.0_24-b07-334.jdk の他に 1.6.0_26-b03-377.jdk がインストールされていることが分かる。


ついでだから、上記の自分のブログを参考に、Eclipse で使う JRE を 1.6.0_26 の JRE に変更しておいた。


因みに、1.6.0_24-b07-334.jdk は必要なさそうというか、以下の記事を参考にすると「旧バージョンの Java は削除することを推奨する」とのことだったので削除した。

JDK および JRE 6 Update 26 が公開されています - 特に重要なセキュリティ欠陥・ウイルス情報


1.6.0_24-b07-334.jdk を削除するとどうでしょう。java -version とコマンドを入力すると、バージョンが 1.6.0_26 となっていることを確認することが出来ました。



感想

あれ?おかしくない?java コマンドは /usr/bin/java にあり、/usr/bin/java は /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java へのシムリンクになっている。

$ which java
/usr/bin/java
$ ls -l /usr/bin/java
(略)java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java

/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java の親フォルダが /Library/Java/JavaVirtualMachines/1.6.0_26-b03-377.jdk/Contents/Home/bin へのシムリンクになっているのかと思ったが、そうではないようだ。

「現状確認」でも確認したように、Mac の場合、「最新バージョンの Java がインストールされているかどうかを確認するには、アップルメニューのソフトウェアアップデート機能を使用」するしかないようなので、ソフトウェアアップデートによって Java を最新の状態にすることでデフォルトの Java が最新の状態になるのかと思っていた。しかし、開発版の Java を入れることで Java が最新になった。

自分でも何がなんだか分からない。

Mac OS X 上にある java コマンドを探すと

$ find / -name java -type f 2>/dev/null
/Library/Java/JavaVirtualMachines/1.6.0_26-b03-377.jdk/Contents/Home/bin/java
/System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java
/usr/share/file/magic/java

と表示される。それぞれのコマンドで java -version を実行してみた。

  1. /Library/Java/JavaVirtualMachines/1.6.0_26-b03-377.jdk/Contents/Home/bin/java
  2. /System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java
  3. /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java
  4. /usr/share/file/magic/java
とする。
  1. java version "1.6.0_26"
  2. java version "1.6.0_26"
  3. java version "1.6.0_24"
  4. zsh: permission denied: /usr/share/file/magic/java
4. は、file コマンドが使う magicfile と呼ばれるデータベースのようだ。 【参考】 2005年4月 | 今日の一行 | column | OSS-Web

という訳で、システムにインストールされている Java で 1.6.0_26 のものは、

  • /Library/Java/JavaVirtualMachines/1.6.0_26-b03-377.jdk/Contents/Home/bin/java
  • /System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java

で、1.6.0_24 のものは、

  • /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java

だった。

「アップルメニューのソフトウェアアップデート機能を使用」することで、/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java のバージョンが 1.6.0_26 になるのではないか、と信じている。

金曜日, 6月 03, 2011

Eclipse で rt.jar のソースを見る方法

完全にこちらのサイトを参考にしました。



環境

  • Mac OS X version 10.6.7
  • Eclipse ( Version : Helios Service Release 2 )


ダウンロード

Developer Downloads & ADC Program Assets から "Java for Mac OS X 10.6 Update 4 Developer Package" をダウンロード(2011年6月3日現在での最新版)。


インストール

ダウンロードした dmg ファイルを解凍してインストール。


src.jar のパス

以下の手順に従って、src.jar があるパスを突き止める。

  1. /Applications/Utilities から Java Preferences.app を起動する
  2. General タブにある "Java SE 6" をダブルクリックする
    • 因みに、"Java SE 6 (System)" をダブルクリックしても何も起こらなかった
    • 自分の CPU-Type は 32-bit だが、CPU-Type が 64-bit の "Java SE 6" をダブルクリックしても目的とするフォルダが開いた
  3. 1.6.0_24-b07-334.jdk を右クリックして Show Package Contents を選択する
  4. 1.6.0_24-b07-334.jdk/Contents/Home ディレクトリの中に src.jar があることを確認する

ということで、私の環境では src.jar は以下にインストールされていた。

/Library/Java/JavaVirtualMachines/1.6.0_24-b07-334.jdk/Contents/Home/src.jar


Eclipse の設定

  1. Eclipse メニューの Preferences を選択する
  2. Prefereces ダイアログの Java の Installed JREs を選択する
  3. Add をクリック
  4. MacOS X VM(多分)を選択して Next をクリック
  5. JRE Home に以下を入力する
    /Library/Java/JavaVirtualMachines/1.6.0_24-b07-334.jdk/Contents/Home
    • Directory... ボタンを押してディレクトリを選択する方式で行くと 1.6.0_24-b07-334.jdk が選択出来ない状態になっていて行き詰まる
  6. 名前は Home にする(適当)
  7. Finish をクリック
  8. デフォルトで使う JRE を Home にする
  9. 既存のプロジェクトを右クリックして Properties をクリック
  10. Java Build Path をクリックし、JRE System Library [JavaSE-1.6] をクリック
  11. Edit... をクリック
  12. ラジオボタンの Workspace default JRE (Home) をクリック
  13. Finish をクリック
  14. JRE System Library [Home] となっていることを確認する
  15. すべての既存のプロジェクトの System Library を JavaSE-1.6 から Home に変更する

既存のプロジェクトの1つを変更すると、あるプロジェクトは System Library が Home に勝手に変更され、あるプロジェクトは JavaSE-1.6 のままだった。System Library が自動で変更されなかったプロジェクトについては、手動で Home に変更した。


使い方

調べたいクラスやメソッドを選択した後、F3 を押すことで、クラス、あるいはメソッドのソースを見ることが出来る!!

これは、便利だ!!

(・∀・)


感想

今まで、なんでエラーになっているかよく分からなかったところ、どういう実装になっているか興味のあったところなど、ソースをみてみたいと思う。特に Collection, Map, HashMap などは興味があるので見てみようと思う。

火曜日, 5月 31, 2011

Carbon Emacs で使うフォントを Ricty にする

背景

最近、「プログラミング用フォント Ricty」というフォントが巷で噂になっているらしく、「試しに」ということで、iTerm2 のフォントを Ricty にしてみた。

因みに、iTerm2 については、以下を参照。

iTerm2 - Mac OS Terminal Replacement

「フォントを変更したくらいじゃぁ、何も変わらないだろう。。。」と高を括っていたのだが、使っているうちに非常に読みやすいことが分かり感動した!!なので、普段 iTerm2 よりも頻繁に使っている Carbon Emacs のフォントも Ricty にすることにした。


奮闘

以下の複数のページを参考に、Ricty になるよう孤軍奮闘してみたが、どの設定をしても上手く行かない。。。


「なんだ、これはー。もうダメだ。」と諦めていたところ、ついに設定方法を発見しました。


環境

設定方法を書く前に、私の環境を晒しておきます。

  • Mac OS X version 10.6.7
  • GNU Emacs 22.3.1 (i386-apple-darwin9.8.0, Carbon Version 1.6.0) of 2010-01-09 on gs674-seijiz.local


設定方法

Ricty をインストールした後、以下の内容を ~/.emacs に書いて Carbon Emacs を再起動することで設定内容が反映されます。

(set-face-attribute 'default nil :family "Ricty" :height 140)
(set-fontset-font "fontset-default" 'japanese-jisx0208 '("Ricty" . "iso10646-*"))

参考にしたサイトでは「:height 160」となっていたが、160 では大き過ぎるので「:height 140」とした。勝手に「:height 140」としていいのかは不明。。。


参考サイト

以下のサイトを参考にしました。

Mac de Emacs総合スレ v6

ありがとうございます。


感想

Ricty に変える前は、「フォントを変えるくらいでは何も変わらないのでは?」と思っていたのだが、Ricty にしてから非常に見やすくなった。特に濁点、半濁点の区別がしやすいのが気に入っている。ブラウザのフォントの設定も Ricty にしようかな?

木曜日, 5月 26, 2011

bm.el を入れてみた

まずは、環境から。

環境

  • Mac OS X version 10.6.7
  • GNU Emacs 22.3.1 (i386-apple-darwin9.8.0, Carbon Version 1.6.0) of 2010-01-09 on gs674-seijiz.local


参考

以下のページを参考にしました。


基本、上記のページを参照して頂ければ、bm.el のインストールは出来ると思います。。。

(;・∀・)


インストール

Emacs の scratch buffer で以下のコマンドを入力して、C-j で実行する。

(install-elisp "http://cvs.savannah.gnu.org/viewvc/*checkout*/bm/bm/bm.el")

上記のコマンドを入力すると、bm.el のソースがダウンロードされる。ダウンロードした後に、"C-c C-c to continue" と言われるので、C-c C-c を入力してインストールを行う。

install-elisp の引数には、http://cvs.savannah.gnu.org/viewvc/*checkout*/bm/bm/bm.el を指定する。ブラウザから http://cvs.savannah.gnu.org/viewvc/*checkout*/bm/bm/bm.el にアクセスすると、bm.el の最新のソースコードが表示される。


設定

設定をする上で、キーバインドを何にするか迷った。候補としては、参考にしたサイトを参考に以下が上がった。

M-;
M-:
M-@
M-[
M-]

これらのキーバインドは、以下に割り当てられていた。

M-;  ww-next-gtag
M-:  eval-expression
M-@  mark-word
M-[  (undefined)
M-]  (undefined)

M-@ に割り当てられている mark-word は何をする関数か調べてみる。

mark-word is an interactive compiled Lisp function in `simple.el'.
It is bound to M-@.
(mark-word &optional arg allow-extend)

Set mark arg words away from point.
The place mark goes is the same place M-f would
move to with the same argument.
Interactively, if this command is repeated
or (in Transient Mark mode) if the mark is active,
it marks the next arg words after the ones already marked.

単語ごとに選択が出来るようにする関数らしい。特に、使うこともないので、M-@、 M-[、M-] を使うことにした。

因みに、キーバインドがどんな関数に割り当てられているか、関数が何をするかの詳細を調べるには、以下のコマンドを利用する。

  • キーバインドがどんな関数に割り当てられているか
    [f1] - c
    または
    M-x help-for-help c
  • 関数が何をするか
    [f1] - f
    または
    M-x help-for-help f

詳細は、以下のページを参照。

いつもの操作がなんなのか調べる方法 - 32nd Diary(2010-12-12)


そういう訳で、M-@、M-[、M-] を使って設定をする。と言っても、bm.el入れました - kenkov dialy にある設定を ~/.emacs にコピペしてみました。。。

;;; bm.elの設定
;;; (install-elisp "http://cvs.savannah.gnu.org/viewvc/*checkout*/bm/bm/bm.el")
(require 'bm)
;; キーの設定
(global-set-key (kbd "M-@") 'bm-toggle)
(global-set-key (kbd "M-[") 'bm-previous)
(global-set-key (kbd "M-]") 'bm-next)
;; マークのセーブ
(setq-default bm-buffer-persistence t)
;; セーブファイル名の設定
(setq bm-repository-file "~/.emacs.d/bm-repository")
;; 起動時に設定のロード
(setq bm-restore-repository-on-load t)
(add-hook 'after-init-hook 'bm-repository-load)
(add-hook 'find-file-hooks 'bm-buffer-restore)
(add-hook 'after-revert-hook 'bm-buffer-restore)
;; 設定ファイルのセーブ
(add-hook 'kill-buffer-hook 'bm-buffer-save)
(add-hook 'auto-save-hook 'bm-buffer-save)
(add-hook 'after-save-hook 'bm-buffer-save)
(add-hook 'vc-before-checkin-hook 'bm-buffer-save)
;; Saving the repository to file when on exit
;; kill-buffer-hook is not called when emacs is killed, so we
;; must save all bookmarks first
(add-hook 'kill-emacs-hook '(lambda nil
                              (bm-buffer-save-all)
                              (bm-repository-save)))

一つ変えたところは、セーブファイル名。ドットファイルから、通常のファイルにした。

  • 変更前
    (setq bm-repository-file "~/.emacs.d/.bm-repository")
  • 変更後
    (setq bm-repository-file "~/.emacs.d/bm-repository")


動作確認


~/.emacs を保存した後に、以下のコマンドを実行して ~/.emacs を読みなおす。

M-x load-file [return]
~/.emacs [return]

そして、M-@ でブックマークをし、M-[、M-] で前のブックマークに戻ったり、次のブックマークに進んだりする。

期待した通りの動作をしました!!

これで、少し速く開発できる!!と思う。

ヽ(´ー`)ノ

火曜日, 5月 24, 2011

Mac でピクセルの色を調べる方法

ひょんなことから Mac でピクセルの色を調べる必要があった。グーグルで検索した結果、便利なツールを発見したので、備忘録の意味でブログにしておこう、っと。

環境

  • Mac OS X 10.6.7

手順

  1. 「Applications」フォルダの「Utilities」フォルダにある「DigitalColor Meter.app」を開く
  2. ドロップダウンリストから「RGB as Hex Value, 8-bit」を選択する
  3. 必要に合わせてスライドバーで「Aperture Size」を変更する
  4. 知りたいピクセルにマウスカーソルを合わせる
  5. Shift + Command + C でピクセルの色の値をコピーする
  6. エディタなどに値を貼り付ける



以上のことは、「Mac OS X 10.6 Help: ディスプレイに表示されている色を計測する」に書いてあります。。。


Mac OS X 10.5 を使っている場合は、以下を参照。

Mac OS X 10.5 Help: 色を HTML 書類またはグラフィックス書類にコピーする


また、画面上のピクセルの色の値を確認する「ColorSync ユーティリティ」なるアプリケーションもあるようだが、使い方がいまいち分からなかった。

Mac OS X 10.6 Help: 画面上のピクセルの色の値を確認する

(´・ω・`)

月曜日, 5月 23, 2011

ターミナルから Emacs を起動すると Symbol's function definition is void: fixed-width-set-fontset のエラー

まずは、環境から。

環境

  • Mac OS X version 10.6.7
  • GNU Emacs 22.3.1 (i386-apple-darwin9.8.0, Carbon Version 1.6.0) of 2010-01-09 on gs674-seijiz.local

背景

普段は、Carbon Emacs を使っているが、時々、ターミナルから Emacs を使うことがあった。ターミナルから Emacs を起動した時に、以下のエラーが発生していた。

Symbol's function definition is void: fixed-width-set-fontset

原因

以下の2行目でエラーが発生。if 文の中に fixed-width-set-fontset が入っていないことが原因だったようだ。

(if (eq window-system 'mac) (require 'carbon-font))
(fixed-width-set-fontset "osaka" 10)

対策

以下のページを参考に、progn 式を使って、if 文の中に複数の式を書いて解決!!

Lisp一夜漬け -- 1.Lispの書き方

(if (eq window-system 'mac) (progn
  (require 'carbon-font)
  (fixed-width-set-fontset "osaka" 10)))

感想

Osaka フォントは、carbon-font を require しないと使えない。なので、carbon-font の require と Osaka フォントの設定は、同時に行う必要がある。

また、「if 文を取ってしまえ!」と思い、if 文を取って (require 'carbon-font) としてみたところ、ターミナルから起動した時に以下のエラーが発生。

File error: Cannot open load file, carbon-font

理由は Carbon Emacs じゃないから?詳細は不明。。。

あれ?Osaka フォント にしたときは、どこかから設定をコピーしてきて .emacs に貼り付けただけだと思うんだけどなぁ。。。コピーしたサイトも同様に設定に失敗していたか、もしくは、コピペに失敗したか、のどっちかだなぁ。。。

多分、後者。

(´・ω・`)

水曜日, 5月 18, 2011

Mac OS X で mail コマンドでメールを送る

とりあえず、環境から。

環境

  • Mac OS X version 10.6.7
  • Postfix 2.5.5

因みに、Postfix のバージョンを調べるには、以下のコマンドを実行すると分かります。因みに、root アカウントでなくても出来ます。私は、出来ました。

$ postconf mail_version
mail_version = 2.5.5


経緯

Linux を使っていたころは、

$ mail hoge@example.com
Subject: test
test
.

とかやれば、hoge@example.com にメールを送信することが出来た。「Mac は Unix ベースだから、Linux と同様のことが出来るだろう」と思い、同じようにコマンドを入力してメールを送信しようとしたが、一向にメールが送られない。/var/log/mail.log を見ると以下のエラー。

$ less /var/log/mail.log
May 17 20:00:17 MacBook postfix/smtp[5737]: connect to gmail-smtp-in.l.google.com[74.125.127.27]:25: Operation timed out

色々と調べていたら、最近のプロバイダは、迷惑メール防止のために TCP 25 番ボートをブロックしていることが分かった。


解決方法 その1

以下のページにあるように、Gmail の SMTP サーバを利用して、Gmail からメールを送信する。

Mac OS X Snow LeopardでPHPのmail()関数を使うには - Awaresoft

詳細な説明をすると、上記のページをそのままコピーすることになってしまうので、出来るだけ省いて記載します。

# vi /etc/postfix/sasl_passwd
smtp.gmail.com:587 ****@gmail.com:password
# postmap /etc/postfix/sasl_passwd
# ls /etc/postfix/sasl_passwd.db # .db ファイルが出来たことを確認
# rm /etc/postfix/sasl_passwd # パスワードが平文で書かれているので削除
# vi /etc/postfix/main.cf
# Minimum Postfix-specific configurations.
mydomain_fallback = localhost
mail_owner = _postfix
setgid_group = _postdrop
relayhost=smtp.gmail.com:587

# Enable SASL authentication in the Postfix SMTP client.
smtp_sasl_auth_enable=yes
smtp_sasl_password_maps=hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options=

# Enable Transport Layer Security (TLS), i.e. SSL.
smtp_use_tls=yes
smtp_tls_security_level=encrypt
tls_random_source=dev:/dev/urandom
# postfix reload

これで、mail コマンドを使ってメールを送信することが出来ます。ただ、この方法でメールを送ると From: がすべて /ect/postfix/sasl_passwd で設定した Gmail のアドレスになってしまいます。それで問題なければ、それでいいのですが、/etc/postfix/main.cf の mydomain で設定した値を使う場合は、以下の「解決方法 その2」を使います。


解決方法 その2

以下のページにあるように、自分のプロバイダの SMTP サーバを利用します。

Postfix + インストール + OP25B設定 | NINXIT-BLOG

自分のプロバイダの SMTP サーバの認証方式を確認します。最後のポート番号は、25 の場合、587 の場合とあるので、自分で試してみる必要があります。

$ telnet mail.example.com 25
Trying *.*.*.*
Connected to mail.example.com
Escape character is '^]'.
220 Example SMTP
ehlo localhost  # 入力する
250-****
250-AUTH LOGIN PLAIN
250-***********
250-***********
250-***********
(略)
quit


確認した内容を /etc/postfix/main.cf に反映します。

# vi /etc/postfix/main.cf
relayhost = [mail.example.com]
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/authinfo
smtp_sasl_security_options = noanonymous
smtp_sasl_mechanism_filter = PLAIN

認証ファイルを作成します。ポート番号は、telnet で接続できたポート番号を利用します。

# vi /etc/postfix/authinfo
[mail.example.com]:25 hoge@example.com:password
# postmap /etc/postfix/authinfo
# ls /etc/postfix/authinfo.db
/etc/postfix/authinfo.db
# rm /etc/postfix/authinfo

Postfix のリロード。

# postfix reload

これで、mail コマンドを使ってメールを送信することが出来ます。メールヘッダの From: は、ユーザ名に /etc/postfix/main.cf で設定した mydomain がくっついた形になります。



役に立ったコマンド


  • 溜まっているキューを見る。
    $ postqueue -p
  • queue_id のキューを削除 (root で実行)。
    # postsuper -d queue_id
  • キューをすべて削除 (root で実行)。
    # postsuper -d ALL
  • /etc/postfix/main.cf の文法チェック。
    # postfix check
  • すべての postfix の設定を表示。
    # postconf
  • デフォルトから変更した postifx の設定を表示。
    # postconf -n



感想

昔は、ターミナルから mail hoge@example.com って入力すれば、hoge@example.com にメールを送信することができたんだけどなぁ・・・。まぁ、昔っていっても、2004年、2005年頃のことだから、6、7年前だけどね。ってそんなに前になるのかぁ。そりゃぁ、それなりに SPAM 対策なり、セキュリティ対策なりされるわなぁ。。。

それにしても、Outbound Port 25 Blocking が原因であることが分かるまで結構、時間かかっちゃったなぁ。まぁ、勉強になったからヨシとしよう!!



参考

以下のページを参考にさせて頂きました。大変、勉強になりました。ありがとうございます!!

金曜日, 5月 13, 2011

Google Chart Tools を使って地図に色塗りをする

学校の授業で自分が行ったことのある国についてプレゼンテーションをする機会があり、そのときに「自分が行ったことのある国を地図上で色を塗って見せることが出来たら、とても分かりやすいんじゃないか?」と思って色々と調べてみた。

調べてみた結果、Google Chart Tools または Google Image Charts または Google Chart API を使うことで出来ることが分かった。


以下のページで、マウスをポチポチするだけで、自分の欲する地図チャートが出来上がった。

Chart Wizard - Google Chart Tools / Image Charts (aka Chart API) - Google Code


国のデフォルトカラーを設定したかったので設定し(DDF8CC)、塗りたい色を作成した(FF9999)。そして、Country を選択、Data Values に1を入力すると、行ったことのある国が塗りたい色ではなく青で表示された。


なので、Data Values に 100 を入力してみた。すると、行ったことのある国が赤で表示された。



どうやら Data Values に入力した値を正規化して色を割り当てているようだ。Color Gradients を一色にし、すべての国に対して同一の値を設定しても、思ったように色は塗られないようだ。

ということで、新たに色を作成し(FF0000)、Data Values を1に設定してみたところ、Color Gradients で最初に設定した値になった!!また、Color Gradients に同一の色を2つ設定しても期待した動作をすることを確認した。



出来た地図は以下の通り。


いつか、またどこか行ったことのない国に旅行に行って、この地図の色塗りの続きが出来るといいなぁ。。。

FLV ファイルから音声を無劣化で抽出

ついに見つけた!!

色々とソフトウェアをインストールしたり、Mac、Windows の環境を行ったり来たりしてたけど、ようやく本当に FLV ファイルから音声を無劣化で抽出する方法を見つけました。


こちらがその方法。

flv/mp4ファイルから音声のみ劣化無しに抽出 - 堕落した人生を目指す日記


ffmpeg と mp4box というのを使うらしい。

ffmpeg は既にインストール済みだったので、mp4box をインストール。brew でインストール出来た。

$ brew install mp4box

音声部 aac を劣化無しに抜き出す。

$ ffmpeg -i [infile (flv/mp4)] -vn -acodec copy [outfile (aac)]

抜き出した aac ファイルを MPEG4 Audio 形式でパックする。

$ mp4box -add [infile (aac)] [outfile (m4a)]


出来たー。音質良くなったし、ファイルサイズも小さくなった!!それに、FLV だけじゃなくて MP4 からも音声を無劣化で抽出することが出来た!!

一石三鳥ですね。これは本当に嬉しい!!!

(・∀・)!!

iExtractMP3 - FLV から MP3 ファイルを抽出

Mac で FLV から音声部分のみを抽出する方法を以前に紹介した。

自分のための日記: Mac OS X で Youtube から動画をダウンロードして AAC 規格で圧縮する方法

しかし、この方法よりももっと良い方法が Moongift で紹介されていました。

気に入ったFlashビデオからMP3ファイルを抽出する「iExtractMP3」 - MOONGIFT|オープンソース・ソフトウェア紹介を軸としたITエンジニア、Webデザイナー向けブログ


これはスゴイ。ということで、早速試してみることにした。


環境

  • Mac OS X version 10.6.7


インストール

以下から iExtractMP3 をダウンロード。

iExtractMP3 -- BONNOH FRACTION 14

展開して、/Applications フォルダに置くだけ。


FLV から音声部分のみを抽出

実際に使ってみたところ、抽出出来たファイルと抽出できなかったファイルがあった。処理が正常に終了したように見えるけれども、再生してみると音声が全く流れない。。。そんなファイルが半分くらい。

あと、自分が保存していた動画は FLV だけでなく、MP4 もあった。そういう訳で、家に帰ったら以下の Windows + SplitFLV の方法を試してみようと思う。


SplitFLV

Windows では、SplitFLV というのがあるらしい。

FLVからMP3を高速抽出「SplitFLV」

iExtractMP3 は、SplitFLV に影響受けて開発されたようだ。

家に帰ったら、SplitFLV を試してみよう。SplitFLV でも MP4 からの音声抽出は出来なそうなので、MP4 ファイルについては、別のソフトウェアを探してみようと思う。





家に帰って来て SplitFLV で音声ファイルの抽出にトライしてみた。すべてのファイルのファイルサイズが 0KB でした。

( ̄□ ̄;)

また別のソフトを探してみよう。。。

金曜日, 4月 22, 2011

Emacs 起動時の Warning: reference to free variable `org-directory' について

anything.el をインストールして以来、Emacs 起動時に出ていた以下のエラーについて、出ないように修正したので報告します。

Warning: reference to free variable `org-directory'

とりあえず、Emacs を起動すると horizontal に画面が分割され、分割された下側に Compile-Log として上記のエラーが表示されていました。今までは、Emacs を起動するたびに C-x 1 を入力して Compile-Log を見なかったことにするなどして対応してきましたが、流石に毎回 C-x 1 を入力するのも面倒になってきたので直すことにしました。

とりあえず、グーグルで "Warning: reference to free variable `org-directory'" と検索してみると、なんと anything.el をインストールしたときの自分のページしか検索に引っかかりませんでした。。。


自分のための日記: anything.el のインストール

こんなエラー出してるの、オレだけなんだろうなぁ。。。

(´・Д・`;)


org-directory ってことは、多分、org-mode に関係する設定なんだろうと予測。anything.el をインストールした後に、org-mode の設定でエラーが出たので、とりあえず、org-mode の設定と anything.el の設定の順番を変更してみる。

  • 変更前
  • ; for org mode
    (add-to-list 'auto-mode-alist '("\\.org\\'" . org-mode))
    (global-set-key "\C-cl" 'org-store-link)
    (global-set-key "\C-ca" 'org-agenda)
    (global-set-key "\C-cb" 'org-iswitchb)
    (global-font-lock-mode 1)
    (transient-mark-mode 1)
    (add-hook 'org-mode-hook (lambda () (setq truncate-lines nil)))
    (setq org-agenda-files (list "~/org"))
    (setq org-deadline-warning-days 0)
    
    (add-to-list 'load-path (expand-file-name "~/.emacs.d/auto-install"))
    (require 'auto-install)
    (setq auto-install-directory "~/.emacs.d/auto-install/")
    (auto-install-compatibility-setup)
    
    (require 'recentf-ext)
    (require 'anything-startup)
  • 変更後
  • (require 'recentf-ext)
    (require 'anything-startup)
    
    ; for org mode
    (add-to-list 'auto-mode-alist '("\\.org\\'" . org-mode))
    (global-set-key "\C-cl" 'org-store-link)
    (global-set-key "\C-ca" 'org-agenda)
    (global-set-key "\C-cb" 'org-iswitchb)
    (global-font-lock-mode 1)
    (transient-mark-mode 1)
    (add-hook 'org-mode-hook (lambda () (setq truncate-lines nil)))
    (setq org-agenda-files (list "~/org"))
    (setq org-deadline-warning-days 0)
    
    (add-to-list 'load-path (expand-file-name "~/.emacs.d/auto-install"))
    (require 'auto-install)
    (setq auto-install-directory "~/.emacs.d/auto-install/")
    (auto-install-compatibility-setup)

すると、どうでしょう。org-mode の設定が完全に読み込まれなくなってしまいました。Messages を確認すると以下のエラーが出ていることが分かりました。

File error: Cannot open load file, recentf-ext

recentf-ext が読み込めないとのことで、よくよく .emacs ファイルを見てみると、recentf-ext は ~/.emacs.d/auto-install 内に入っていることを思い出しました。

ということで、今回は、load-path の設定のあとに recentf-ext を読み込むように設定。

; for org mode
(add-to-list 'auto-mode-alist '("\\.org\\'" . org-mode))
(global-set-key "\C-cl" 'org-store-link)
(global-set-key "\C-ca" 'org-agenda)
(global-set-key "\C-cb" 'org-iswitchb)
(global-font-lock-mode 1)
(transient-mark-mode 1)
(add-hook 'org-mode-hook (lambda () (setq truncate-lines nil)))
(setq org-agenda-files (list "~/org"))
(setq org-deadline-warning-days 0)


(add-to-list 'load-path (expand-file-name "~/.emacs.d/auto-install"))
(require 'recentf-ext)
(require 'anything-startup)
(require 'auto-install)
(setq auto-install-directory "~/.emacs.d/auto-install/")
(auto-install-compatibility-setup)

すると、どうでしょう!!今回は、なんのエラーも表示されることなく、emacs を起動できました!!

因みに、以下のように、anything-startup と auto-install の require する順番を変更すると、最初の問題点である warning が表示されることを確認しました。

Warning: reference to free variable `org-directory'

原因は、よく分かっていませんが、

(require 'auto-install)
(require 'anything-startup)

こうすると、

Warning: reference to free variable `org-directory'

この warning が emacs 起動時に表示されるということです。


という記事を書くなどしていたら、もっと華麗な方法で warning を消す方法を見つけてしまいました。

emacsにanythingを導入した時に出る警告 - まーのメモ

(defvar org-directory "")

org-directory は、org-mode の変数で (defvar org-directory "") とすることで warning を回避できるようです。

確かに以前の設定に戻し、(require 'anything-startup) の前に (defvar org-directory "") を設定しておくと、warning が表示されなくなることが確認できました。。。。。


じゃぁ、なんでオレの設定は、(defvar org-directory "") ってしてないのに動いているんだ!?

( ̄Д ̄;)

(require 'auto-install) の前に (require 'anything-startup) を呼ぶようにしただけで動いているんだが、これでいいんだろうか?今度は、動いていることに対して不安になってきた。

とりあえず、動いているのでヨシとしよう。。。emacs はどうやって設定したらいいのか、設定に失敗した場合、どうやって原因を探ったらいいのか、がよく分からないなぁ。。。emacs の所為というより自分の勉強不足なんだけれども。

それにしても、「defvar で回避できる」って記事にしてた人のブログは参考になるなぁ。色々と参考になる記事が上がっているので、rss reader に登録しました!!

まーのメモ

それではー。

木曜日, 4月 21, 2011

emacs が固まる問題を auto complete のアップデートで解決しました

大分前の話になるんだけれども、emacs で html, css を手打ちしてたときにどうも固まることがあった。特に、css を編集しているときに固まることがあったので、emacs での手打ちをやめて、vi で手打ちをしていた。(手打ちをやめろという話もありますが。。。)

そんなこんなしているとき、サブマシンに emacs を入れる機会があって、そのときに auto complete をインストールすることになった。auto complete のページを見ると、「v1.3.1 の変更点 修正されたバグ css-mode で border: と入力すると Emacs が固まる問題」とある。なんと。これが原因だったのかな?

サブマシンに auto complete をインストールすると同時に、メインマシンの auto complete をアップデートしたら、emacs で css を手打ちしているときにも固まることがなくなりました!!

で、ここで、疑問が2つ。

  1. auto complete などの拡張の最新版がリリースされたのを知るにはどうしたらいいの?
  2. Emacs が固まったときに原因を調査するにはどうしたらいいの?

1については、auto complete の作者のページ(Lonely Emacs)にあった rss (cx4a.org/news.xml)を rss reader に登録することで解決しました。ただ、他の拡張の最新版がリリースされたのを知ることは出来ないので、完全な問題解決にはなっていません。

2については、どうしたらいいのか想像もつきません。そもそもエラーが表示される Messages の見方もよく分かっていないし、Lisp も何度も何度も勉強にトライしてみたけど、「かー」、「くだー」あたりで挫折してるから、どうしようもないかも。

とりあえず、拡張がリリースされたときに知ることが出来るよう、拡張をリリースしている作者さんの rss を rss reader に登録しておくことくらいしか出来なそう。何か良いアイデアがあったら教えて下さい!!

よろしくお願いします。

Mac OS X でオートログインしてすぐにユーザ切り替えする方法

Lifehacker の記事にあった「ログイン前にOS Xのデスクトップの読み込みを開始する方法!」をやってみるょ。

ログイン前にOS Xのデスクトップの読み込みを開始する方法! : ライフハッカー[日本版]

Lifehacker のタイトルにあるように、「ログイン前にOS Xのデスクトップの読み込みを開始する方法!」をタイトルにしようと思ったんだけど、さすがにタイトルをそのままコピペするのはマズイと思ったので、タイトルは「オートログインしてすぐにユーザ切り替えする方法」にしました。

タイトルには、「ログイン前にOS Xのデスクトップの読み込みを開始する」とあるけど、やっていることは、オートログインしてその直後にユーザ切り替えをしているようです。

手順は、以下の通り。

  1. 「システム環境設定>アカウント>ログインオプション>オートログイン」を「入」に切り換える
  2. 以下の内容を標準テキストで保存する
  3. <?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>AbandonProcessGroup</key>
      <true/>
      <key>Label</key>
      <string>com.luomat.loginhook</string>
      <key>ProgramArguments</key>
      <array>
        <string>/System/Library/CoreServices/Menu Extras/User.menu/Contents/Resources/CGSession</string>
      <string>-suspend</string>
      </array>
      <key>RunAtLoad</key>
      <true/>
    </dict>
    </plist>
    
  4. 上記のテキストを「com.luomat.loginhook-2.plist」として起動OSのあるボリュームの「ユーザ/(ユーザー名)/ライブラリ/LaunchAgentsフォルダ」に保存する

以上です。

アカウントのログインオプションをオートログインにするのを忘れると、ログインした後にすぐにユーザ切り替えが走ってしまうので気をつけて下さい。因みに、私は、それをやりました。。。

水曜日, 3月 23, 2011

Options FollowSymLinks or SymLinksIfOwnerMatch is off which implies that RewriteRule directive is forbidden のエラーについて

ちょっと Apache の設定でハマったのでメモ。

今回の環境は、以下の通り。

  • Mac OS X version 10.6.7
  • Server version: Apache/2.2.17 (Unix)


mod_rewrite を使ったアプリケーションを ~/Sites に置いてみた。mod_rewrite を使っているので、アプリケーションには .htaccess が含まれていた。きちんとしたソースからダウンロードしたので、.htaccess には間違いがないはず。

で、http://localhost/index.php にアクセスすると、Forbiddenエラー。なので、Apache のログを見てみた。

# less /var/log/apache2/error_log
[Wed Mar 23 19:25:50 2011] [error] [client ::1] Options FollowSymLinks or SymLinksIfOwnerMatch is off which implies that RewriteRule directive is forbidden: /Users/yasu/Sites/index.php

なんだか、FollowSymLinks の設定が出来ていないらしい。ということで、Apache の設定ファイルを見てみる。

# less /etc/apache2/httpd.conf
<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>

何も問題ないように見える。FollowSymLinks もしてるし。Apache を再起動したり、.htaccess を削除して Forbidden エラーがで出なくなることを確認したり、など、色々と試してみるが依然として Forbidden エラーが表示される。

グーグルで検索してみたところ、mod_rewrite を使うには確かに FollowSymLinks が必要な模様。しかし、FollowSymLinks してるのに mod_rewrite が動かない!


ゴニョゴニョしているうちに、カスタムの Apache の設定を作成したことを思い出した。カスタムの Apache の設定を見てみると以下のようになっていた。

<Directory "/Users/yasu/Sites/">
    Options Indexes MultiViews
    AllowOverride FileInfo
    Order allow,deny
    Allow from all
</Directory>

この設定の Options に FollowSymLinks をつけて以下のようにした。

Options Indexes MultiViews FollowSymLinks

すると、Forbidden のエラーが解消された!!

ヽ(´∀`)ノ


調べてみると、httpd.conf で /private/etc/apache2/extra/httpd-userdir.conf をインクルードし、httpd-userdir.conf で /private/etc/apache2/users/*.conf をインクルードしている模様。httpd.conf で直接 /private/etc/apache2/users/*.conf をインクルードしていないのが厄介なところ。

# less /etc/apache2/httpd.conf
Include /private/etc/apache2/extra/httpd-userdir.conf
# less /etc/apache2/extra/httpd-userdir.conf
Include /private/etc/apache2/users/*.conf

因みに、Mac の場合、/etc は /private/etc にシムリンクが貼られています。

# ls -l /etc
lrwxr-xr-x@ 1 root  wheel    11B  2 21  2010 /etc@ -> private/etc


以上でーす。動いて良かったー!

水曜日, 2月 16, 2011

recentf-ext.el のインストール

anything.el の開発者 rubikitch さんのブログを見ていたら、recentf-ext.el というのを発見した。

人は俺を「recentfマスター」と呼ぶ - (rubikitch loves (Emacs Ruby CUI Books))

recentf-ext.el を使うと、recentf でディレクトリも扱ってくれるようになるようだ。これは便利、ということでインストールすることにした。

インストール

Emacs 上で以下のコマンドを入力するのみ。

M-x install-elisp-from-emacswiki[Enter]
recentf-ext.el[Enter]
C-c C-c

設定は、.emacs に以下を記述する。

(require 'recentf-ext)


これで dired なんかで表示しただけのファイル、ディレクトリも M-x anything-for-files したあとの候補に表示されるようになる。これは、便利だ!

anything.el のインストール

巷で噂になっている anything.el を最近知り、遅れ馳せながらインストールすることしました。

anything.el の開発を行っているのは、rubikitch さんで、rubikitch さんも仰っているように開発者である rubikitch さんのブログの最新記事を参考にすることにしました。


2011-02-16 現在、以下の記事が anything.el 導入の最新記事なのですが、2010-07-18 での執筆になっており、若干古いようにも感じました。

anything導入のeverything ~3分で使えるanything.el~ - (rubikitch loves (Emacs Ruby CUI Books))

しかし、この記事以降の anything.el についての導入のブログ記事が見当たらないので、この記事を 2011-02-16 現在での最新の記事とみることにしました。

環境

今回、インストールした環境は、以下の通りです。

  • Mac OS X version 10.6.6
  • GNU Emacs 22.3.1 (i386-apple-darwin9.8.0, Carbon Version 1.6.0) of 2010-01-09 on gs674-seijiz.local

auto-install.el のインストール

rubikitch さんの解説によると、インストールには、auto-install.el が必要のようです。auto-install.el については、この記事の前にインストールしたときのメモを書いたので、そちらを参考にしてみて下さい。

自分のための日記: auto-install.el のインストール

anything.el のインストール

auto-install.el を使って anything.el をインストールします。以下を Emacs 上で実行します。

M-x auto-install-batch[Enter]
Extension name: anything

実行するとファイルのダウンロードが始まります。ファイルのダウンロードが完了した時点で以下を Emacs に入力します。

C-c C-c

C-c C-c can do nothing useful at this location.


Σ(・∀・;)ぇっっ?

ヽ(´Д`;)ノ出来ないっっ。ヽ(;´Д`)ノ出来ないっっ。

と焦って C-c C-c を連打したり、C-g を連打したりしました。

諦めて途方に暮れていると、どこからともなく Lisp ファイルが現れました。C-c C-c を入力してみると、どうやらインストールが実行されているようです。

(;・∀・)やったのか・・・?

成功したかどうか分からないので、もう一度、Emacs を開き直してインストールを最初からやり直すことにしました。rubikitch さんの以下のブログ記事によると、anything.el の更新は、インストールのときと同じく、M-x auto-install-batch[Enter]anything[Enter] と入力するだけのようです。

anything-filelist ~すべてのファイルを瞬時に開く方法~ - (rubikitch loves (Emacs Ruby CUI Books))

で、入力してみたところ、以下のエラーがエコーエリアに表示されました。

Wrong number of arguments: kill-buffer, 0

早速、エラーメッセージの内容でグーグル先生に聞いてみると、rubikitch さんの以下のページがヒットしました。

auto-install.elでEmacsLispパッケージを自動インストール→anything.el関連を一括インストール - (rubikitch loves (Emacs Ruby CUI Books))

craf 2010/08/29 16:49
すでに最新のファイルがあるときにauto-install を実行すると、*Messages*に
> moccur-edit.el is up-to-date
> error in process filter: auto-install-handle-download-content: Wrong number of arguments: kill-buffer, 0
> error in process filter: Wrong number of arguments: kill-buffer, 0
のようなエラーが出ています。
auto-install-batchの場合はそこから次のファイルに進めなくなってしまいます。

Meadow 3.02 (emacs 22.3.1)です。

(;・∀・)あれ・・・?これって、解決してないんじゃ。。。

インストールに成功すると、メニューバーに anything のメニューに出るはずなのですが、それも出ていません。とりあえず、インストールに成功したという前提で話を進めることにしました。


が、、、rubikitch さんの説明によると、この時点で初期設定が出来ていて、すぐにでも試すことが出来るはずなんだが。。。メニューに anything のメニューが表示されません。。。

とりあえず、.emacs に以下の一行を加えることにしました。

(require 'anything-startup)


動いた━━━(゚∀゚)━━━ッ!!

無事、メニューに "Anything" が表示されることを確認しました!!

しかし、Emacs の起動時、Compile-Log に以下のエラーメッセージが表示されるようになりました。

Warning: reference to free variable `org-directory'

少しグーグルで原因を調査しましたが、分かりませんでした。あとで直そう。。。


動作確認のため、M-x を入力すると、エコーエリアに以下の文字が表示されることを確認。

pattern:

おおっ!試しに、version と入れてみると version を含むコマンドが表示されました。適当に、emacs-version を表示。


おおっ!エコーエリアに emacs-version が小さく表示されているのが分かります。



使い方はまだ分かっていませんが、anything メニューを使うなどしてジョジョに覚えていこうと思います。

土曜日, 2月 12, 2011

auto-install.el のインストール

巷で噂になっている anything.el をインストールしたいと思い、開発者である rubikitch さんの解説を見たところ、auto-install.el というのが必要とのことでしたので、まずは、auto-install.el をインストールすることにしました。

auto-install.el のインストール方法については rubikitch さんのブログを参考にしました。

環境

今回、インストールした環境は、以下の通りです。

  • Mac OS X version 10.6.6
  • GNU Emacs 22.3.1 (i386-apple-darwin9.8.0, Carbon Version 1.6.0) of 2010-01-09 on gs674-seijiz.local

今回は、Max OS X にインストールしましたが、Linux, Windows の Meadow などにインストールする場合でも、同様の手順でインストール出来ると思います。

ダウンロード

auto-install.el は、EmacsWiki からダウンロードします。

$ cd ~/.emacs.d/auto-install
$ wget http://www.emacswiki.org/emacs/download/auto-install.el

~/.emacs.d に色々な Emacs Lisp が散乱するのが嫌なので、~/.emacs.d に auto-install というサブディレクトリを作って、そこにダウンロードしました。

インストール

http://www.emacswiki.org/emacs/download/auto-install.el の中に Installation という項目があります。この手順に従って auto-install.el をインストールします。

  1. auto-install.el を load-path の通っているところに置く
  2. 手順には ~/elisp/ を load-path の通っている場所の例として挙げられていますが、僕は ~/.emacs.d/auto-install に入れたので、~/.emacs には次のように記述しました。
    (add-to-list 'load-path (expand-file-name "~/.emacs.d/auto-install"))
  3. ~/.emacs に以下を追記
  4. (require 'auto-install)
  5. ダウンロード・ディレクトリの指定
  6. ダウンロード・ディレクトリを指定するために、以下を ~/.emacs に記述します。指定しない場合は、デフォルトで ~/.emacs.d/auto-install がダウンロード・ディレクトリとして指定されるようです。
    (setq auto-install-directory "~/.emacs.d/auto-install/")
    ※ ダウンロード・ディレクトリに atuo-install.el を置いちゃったけど、大丈夫なんだろうか。。。
  7. install-elisp との互換のために以下を追記
  8. (auto-install-compatibility-setup)

以上でインストールは終了です。他にも、スタートアップ時にパッケージ名をアップデートする設定や、プロキシの設定についての手順が Installation には記載されていますが、インターネットに常時接続出来る環境ではありませんし、プロキシも使っていないのでここではパスします。

使い方

まだ使っていないので、使い方は良く分かっていませんが、rubikitch さんのブログによると、以下のコマンドを Emacs 上で入力することでパッケージのインストールが出来るようです。

M-x auto-install-batch パッケージ名

パッケージ名に指定出来る名前は、auto-install-batch-list.el を見ると分かると思います。多分。。。

EmacsWiki: auto-install-batch-list.el

おわりに

auto-install は、anything.el をインストールするためにインストールしました。なので、まだ使っていません。。。anything.el のインストールについて、後日、ブログに書こうと思っていますので、その時に使い方の詳細などを書ければいいな、と思っています。

それではー。ヽ(´ー`)ノ

日曜日, 2月 06, 2011

Emacs で別の window に移動するキーバインドを変更する

Emacs で画面を分割して作業しているとき、別の window に移動するためには C-x o とキー入力をしなければいけない。これが意外とめんどくさい。。。

ということで、もう少し楽なキー入力で別の window に移動出来るようにした。

設定した内容は以下の通り。これを ~/.emacs に書くだけ。

(global-set-key "\C-o" 'other-window)

この設定をするにあたって、参考にしたサイトは以下のサイトです。

いつもの操作がなんなのか調べる方法 - 32nd Diary(2010-12-12)


以前、C-h を delete-backward-char に設定していたので、その設定と同じような設定をすればいいんじゃないかっていう感覚。

(global-set-key "\C-h" 'delete-backward-char)

そして、別の window に移動するためのキーバインドがどの関数に割り当てられているか調べるために以下を入力。

[f1] - c
C-x o

C-x o が other-window に割り当てられていることが分かる。

よって、この other-window を global-set-key で C-o に割り当てることで、C-o で別の window に移動できる。

(ここまで想像。。。)

そして、実際にやってみたところ、別の window に移動出来たー!

ヽ(´∀`)ノ


C-o が何の関数に割り当てられているのか興味があったので調べたところ、デフォルトでは以下の関数に割り当てられていた。

Buffer-menu-other-window

Buffer-menu-other-window is an interactive compiled Lisp function in `buff-menu.el'.
(Buffer-menu-other-window)

Select this line's buffer in other window, leaving buffer menu visible.

バッファーメニューで選択しているバッファーを別 window で開き、カーソルはバッファーメニューに残したままに出来るらしい。試してみたところ、意外と便利だった。。。

まぁ、今回の設定をしたところで、C-x o が使えなくなった訳ではないので、バッファーメニューのときは C-x o を使って別 window に移動出来る。というか、global-set-key で C-o を other-window に変更したのに、バッファーメニューのときは C-o が効かないんだろう。。。まぁ、いいか。

これで、少し作業がはかどるといいな。

( ´ー`)