ラベル config の投稿を表示しています。 すべての投稿を表示
ラベル config の投稿を表示しています。 すべての投稿を表示

土曜日, 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 の設定をするときは毎回「トライ&エラー」なのが悲しいところ。。。


(´・ω・`)

火曜日, 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月 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 に貼り付けただけだと思うんだけどなぁ。。。コピーしたサイトも同様に設定に失敗していたか、もしくは、コピペに失敗したか、のどっちかだなぁ。。。

多分、後者。

(´・ω・`)

金曜日, 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

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月 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 が効かないんだろう。。。まぁ、いいか。

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

( ´ー`)

火曜日, 8月 10, 2010

homebrew のインストール

「新しい Mac をインストールしたので、MacPorts も入れないと・・・」と思っていたら、最近は、MacPorts よりも homebrew というのがオススメらしい。

【参考】
MacPortsではなく、homebrewを使う - cipher
mac ports やめました! ー homebrew で快適 OSX 生活! - TokuLog 改メ tokuhirom’s blog


ということで、homebrew を入れることにした。まずは、Xcode のインストールから。


Xcode のインストール

  1. Mac OS X のインストール CD を PC に挿入する。
  2. Optional Installs フォルダを開く。
  3. Xcode Tools フォルダを開く。
  4. XcodeTools.mpkg を実行する。
  5. Customize ボタンを押してインストールされるソフトウェアを確認する。
  6. インストールを完了する。

やばい。説明がやけに丁寧だ。。。Xcode の update をしようと思って、"Software Update..." をしたんだけど全く反応がない。。。付属のインストール CD に入っていた Xcode のバージョンは 3.0。最新バージョンは 3.2.3(2010年8月現在)。

調べたところ、どうやら Xcode は Apple のサイトにいってファイルをダウンロードしてこなきゃいけないらしい。がーん。

ということで、Download Xcode - Apple Developer のページから最新の Xcode をダウンロードしてインストールする。

xcode_3.2.3_and_ios_sdk_4.0.1.dmg という名の 2.28GB のファイルをダウンロードして実行する。



Xcode and iPhone SDK for Snow Leopard.mpkg を実行する。自分の iMac は、Leopard(10.5.8) なんだけど、Snow Leopard 用の Xcode and iPhone SDK を入れて大丈夫なんだろうか?



ぇぇぇっ!?エラって終了した!!(゜Д゜;)

「やっぱり!」っていう感じもするけどね。。。という訳で、Leopard(10.5.8) の最新の Xcode を探す。色々探した結果、3.1.4 というのが最新らしい。

Can I get Xcode for Leopard still? - Stack Overflow

でも、これも2009年10月時点での最新版での話しであるので、現時点(2010年8月)での最新であるかどうかの確信はない。まぁ、でも、3.2.3 が Leopard の最新であることはなさそうだから、十中八九 3.1.4 が最新なんだろう。こういう古い OS に対応したソフトウェアの最新版を探すのって難しいよね?なんでこんなに探しにくいんだろう?

という訳で、Xcode 3.1.4 を探した訳だが、これもこれで結構探すのが面倒だった。Apple の Developer Site に行っても、なかなか見つからない。結局、以下の手順でようやく見つける事ができました。

  1. Mac Dev Center - Apple Developer に行く。
  2. Development Resources の Developer Downloads をクリック。
  3. 必要に応じてサインインをする。
  4. Downloads の Developer Tools をクリック。
  5. Xcode 3.1.4 Developer Tools というのがページ内にあるので、そこから Xcode 3.1.4 Developer DVD (Disk Image) というのを見つける。

以上です。なんでこんなに分かりにくいんだろう。。。と思うのは、自分だけかな・・・?

ダウンロードが終わったら、インストール再開!



XcodeTools.mpkg を実行する。インストールされるソフトウェアを確認してインストールを続ける。





やった!インストールに成功した!!でも、本当にインストールしたいのは、homebrew。Xcode は、その前の準備段階に過ぎない。ということで、引き続き、homebrew のインストールをします。

因みに、Xcode のバージョンは、以下のページにあるように Finder で /Developer/Applications/Xcode.app を選択し「情報を見る(Cmd + I)」で確認するか、/Developer/Applications/Xcode.app/Contents/version.plist ファイルを参照することで確認出来ます。

$ cat /Developer/Applications/Xcode.app/Contents/version.plist

【参考】
Xcode の GCC バージョンとビルド番号 - maruko2 Note.


homebrew のインストール

mxcl's homebrew at master - GitHub のページにあるように、以下のスクリプトを叩くだけ。

$ ruby -e "$(curl -fsS http://gist.github.com/raw/323731/install_homebrew.rb)"



成功したっぼい!!

簡単な使い方としては、brew search [/regex/] [substring] で入れたいパッケージを探して、brew install formula ... でパッケージをインストールする。使い方が分からない場合は、brew と打つことで使い方が出てくる。

取り敢えず、早急に必要な git だけインストールしておく。



でけた!!

金曜日, 8月 06, 2010

Emacs の C-x C-b の挙動を変える

日本語よりも英語での情報が圧倒的に多いことから、最近は、頑張って英語を使うようにしている。

Emacs で C-x C-b を押したときに勝手に画面が分割されてバッファーリストが表示され、バッファーを選択した後も画面の分割が残ってしまうのがどうしても気に入らなかった。何か解決策はないかと思い、Google で検索してみることにした。折角だから英語で。

emacs c-x c-b - Google Search
emacs c-x c-b half full - Google Search
emacs c-x c-b without split - Google Search

とかで検索してみたけど、全然見つからない。仕方ないので、日本語で検索してみた。

emacs list-buffers 分割しない - Google 検索

一発で見つかった。以下の内容を .emacs に書き込めばいいみたい。

(global-set-key "\C-x\C-b" 'buffer-menu)
【参考】C-x C-b (List Buffers) の挙動の変更 - M3な日々


悔しいので、英語でもう一回検索してみた。

emacs list-buffers without split - Google Search

あれ?一発で見つかった。日本語と同様、トップに来ているものが探していたもの。

emacs list-buffers behavior - Stack Overflow

対応方法も全く同じ。.emacs に C-x C-b のキーバインドが buffer-menu になるように設定を書くだけ。


list-buffers を検索ワードに含めるのがポイントだったのかもなぁ・・・。まだまだ検索力が足りないと感じる今日この頃です。

Mac OS のインストール時にすること

毎回、毎回、インストールをするたびに何をするかを洗い出すのが面倒なので、インストール手順を書いておく。

インストール

  • CD を入れる。
  • install Mac OS X.app をダブルクリック。
  • Restart を求められるので、Restart ボタンを押し Restart する。
  • "Use English for the main language" を選択する。
  • 下位バージョンをインストールすることは出来ないので、フォーマットを選択する。
  • Restart を求められるので、Restart ボタンを押し Restart する。
  • ようこそ動画を見る。
  • "United States" を選択する。
  • Select Your Keyboard で "Kotoeri" を選択する。
  • Do You Already Own a Mac ? で "Do not transfer my information now" を選択する。
  • Select a Wireless Service で "Different Network Setup" をクリックする。
  • "My computer does not connect to the Internet" を選択する。
  • 名前などなどを入力する。
  • Create Your Account でアカウントを作成する。
  • Select Time Zone でタイムゾーンを選択する。
  • Set the Date and Time で日時を設定する。
  • Mac OS X が起動する!


Software Update

  • Software Update をする。
  • Updateがなくなるまで再起動とUpdateを繰り返す。


System Preferences

  • Desktop & Screen Saver
    • 壁紙を変更する。(デフォルトの壁紙、あんまり好きじゃないから。。。)
  • Dock
    • Size を若干小さめにする。
    • Magnificiation にチェックを入れる。
    • Automatically hide and show the Dock にチェックを入れる。
  • Expose & Spaces
    • Expose の設定を以下のようにする。
  • International
    • Formats の設定を以下のようにする。
  • Security
    • Firewall の Set access for specific services and applications にチェックを入れる。
  • Spotlight
  • Bluetooth
    • On のチェックマークを外す。
    • Show Bluetooth status in the menu bar のチェックマークを外す。
  • Keyboard & Mouse
    • Key Repeat Rate を最大にする。
    • Delay Until Repeat を最大にする。
    • Mouse の右クリックを Primary Button から Secondary Button にする。
    • Tracking を Fast にする。
    • Scrolling を Fast にする。
  • Network
    • Terminal を開いて ifconfig を叩く。
    • eth1 の MacAddress をルータに登録する。
    • ネットワークの設定をして無線LANにつなげる。


iTunesの設定

  • iTunes Store のアカウントを作成。
    • クレジットカード情報がなくてもアカウントは作れるようだ。実際、作れた。
    • 無料アプリのダウンロード画面からアカウントの作成を試みれば、クレジットカードの選択の際に "None" というラジオボタンを選択出来る。
    • 【参考】iTunes for Mac まとめ - iTunes Store
  • アカウント情報から国の変更をする。
    • アカウント情報編集の際に、クレジットカード情報の入力を求められるが、その前に国の変更をしていれば途中でキャンセルをしても変更が反映される。
    • 【参考】iTunes for Mac まとめ - iTunes Store


アプリケーションのインストール

  • Google Chrome(dev)
    • 拡張もインストールする。
    • インストールする拡張は、Evernote で管理。
  • Carbon Emacs
  • Quicksilver
    • 以下のように設定。
  • Google 日本語入力
    • Space input style を Halfwidth に変更する。
    • Maximum number of suggestions の数を5に変更する。
  • TESLA (親指シフト)
    • Macで親指シフトwiki - 野良ビルドのページから、「ユニバーサルバイナリ(PPC/Intel両対応)バージョン」の最新版をダウンロードする。執筆時点では、Tesla_20100123.zipが最新。
    • 「左親指シフト」、「右親指シフト」の設定をする。文字化けしているため、設定が変わっていないように見えるが、設定をしないと上手く動かない。設定をした後、ステータスバーから「TESLA動作オン」にチェックを入れ、TESLAを再起動する。
  • ClilpMenu
  • PresButan


Treminal の設定



shell の設定

  • 自分の Google Docs から zshrc, .zshrc を落として来て、以下のディレクトリに入れる。
    • zshrc - /etc/zshrc
    • .zshrc - /Users/user_name/.zshrc
  • /etc/zshrc の権限を root:wheel に変更しておく。
  • # chown root:wheel /etc/zshrc
  • デフォルトの shell を zsh に変更する。
  • $ chsh
    # chsh


fcd.sh のインストール

  • fcdから fcd をインストールする。
  • fcd.sh を /Applications に入れる。(これってあんまり良くないことなのかな?)


Carbon Emacs の設定

  • 自分の Google Docs から .emacs を落として来て、以下のディレクトリに入れる。
  • /Users/user_name/.emacs


Finder の設定

  • 以下のように設定する。


その他

  • 必要があれば、Accounts の Login Items の中から余計なものを消しておく。



以上。

結構、書くのに時間かかった。。。次回以降のインストールは、楽にインストール出来るようになるはず。。。

土曜日, 2月 06, 2010

Ubuntu tune up

諸事情により、もう手元にUbuntuのPCはないのだが、やる予定であったことをメモしておこう。

keybind の変更

【Ubuntu 9.04】 デスクトップ環境のあれこれ - chibilog

Disable atime をやる

Five Tweaks for Your New Ubuntu Desktop - Ubuntu - Lifehacker

Make your linux desktop more productive

Make Your Linux Desktop More Productive - Feature - Lifehacker

これは、あまりやることないかも・・・。

土曜日, 3月 07, 2009

getty が複数起動しないようにする

Windows Vista がインストールされた PC を修理に出していたこともあり、最近は、Ubuntu をインストールしたマシンをメインで使っている。

無駄なプロセスは動いていない方が嬉しいので、色々とカスタマイズしているんだが、ちょっと嵌まったのでメモをしておこう。

やりたかったことは、「getty が複数起動しないようにする」ということ。デフォルトだと6つも起動している。そんなにいらない。

参考にしたサイトは、以下のサイト。基本的に、以下のサイトの通りに設定れば getty が複数起動しないようになります。

めも - 仮想コンソールを減らす


以下のようにして、/etc/default/console-setup, /etc/event.d/tty[2-6] を編集します。

# vi /etc/default/console-setup
#ACTIVE_CONSOLES="/dev/tty[1-6]"
ACTIVE_CONSOLES="/dev/tty[1]"


# vi /etc/event.d/tty2
#start on runlevel 2
#start on runlevel 3

同様にして、/etc/event.d/tty[3-6] の start on runlevel 2, start on runlevel 3 となっている箇所をコメントアウトする


以上のように設定した後、再起動をすると、getty が1つしか起動しなくなる。

# ps aux | grep getty
root 4895 0.0 0.1 1780 528 tty1 Ss+ 22:54 0:00 /sbin/getty 38400 tty1
root 5837 0.0 0.1 3048 812 pts/1 S+ 23:25 0:00 grep getty

Mac で常に半角スペースを入力する方法

先日、Linux で常に半角スペースを入力する方法というエントリーを書いたが、今回は、その Mac 版。

基本的に、以下のページを参考にして設定すれば、Mac で常に半角スペースが入力できるようになります。

使えるdefaultsを書き込め - ことえり



以下の環境にて、常に半角スペースを入力することが出来ました。

Mac OS X 10.5.6
2.4 GHz Intel Core 2 Duo


ターミナルを開いて、以下を実行。

$ defaults write com.apple.inputmethod.Kotoeri zhsy -dict-add " " -bool no
$ killall Kotoeri


元に戻す場合は、以下を実行。

$ defaults write com.apple.inputmethod.Kotoeri zhsy -dict-add " " -bool yes
$ killall Kotoeri



エディタやブラウザでかな入力の状態でスペースキーを押すと、スペースが常に半角で入力できることが確認できます。

金曜日, 2月 13, 2009

Linux で常に半角スペースを入力する方法

全角スペースは、あるエディタやメーラーで表示すると点線の□で表示され、見た目に美しくないことがよくある。なので、Windows では、IME の設定をして、常に半角スペースが入力されるようにしている。

最近、Linux を使い始め、Linux でも常に半角スペースを入力できるようにしたかったので、以下のように設定をした。

emacs や vi などで、「半角/全角 漢字」キーを押して、かなを入力できる状態にすると、右下の方にツールバー(?)が表示される。ここで左から2番目のアイコンをクリックし、「SCIMを設定」を選択する。



「SCIM入力メソッド設定」の左メニューから「IMエンジン」の「Anthy」を選択し、右側に表示される「記号等」タブを選択する。さらに「記号等」の中にある「空白のタイプ」を「入力モードに従う」から「半角」に変更する。



以上で設定完了です!これで、かなを入力しているときでも、半角スペースが入力されるようになります。


設定中に、SCIM と Anthy というのがちょっと分からなかったので、調べてみた。

SCIM
SCIM (Smart Common Input Method)は 30 以上の言語(CJKV と多くのヨーロッパ言語)をサポートする POSIX スタイルのオペレーティングシステム(Linux や BSD)のためのインプットメソッド(IM)プラットフォーム。


Anthy
Anthy(あんしー)とは、LGPLでライセンスされたフリーでセキュアな日本語入力システムである。CannaやWnnよりも変換効率がよいソフトウェアであると、好評を受け、注目されている。

Anthy自体は漢字変換ソフトであるため、入力自体はuim、SCIM、Tamago、付属ユーティリティのanthy.el、などを用いる必要がある。またCannaやWnnと違いクライアント・サーバ方式を採用せず、他のソフトウェアとのプロセス間通信はパイプによって行われている。これにより、セキュアな環境を実現している。



SCIM が文字を入力するためのもので、Anthy は、日本語を変換するためのソフトウェアだと理解した。

しかし、SCIM の設定に「IMエンジン」という項目があり、その中に Anthy が含まれている。ということは、Anthy 自体が IMエンジン(文字を入力するためのもの)で、SCIM はそれらすべてを統括するプラットフォームであるということだろう。(というか、そのように書いてある・・・。)



どうやら、SCIM を使えば、中国語も入力できるようなので、後で調べてインストールしてみよう。


あと、Windows の IME は、IME 自体が入力メソッドになっているので、SCIM のような入力メソッドのプラットフォームとなるようなものは存在していないようだ。多分。

IME
IMEとは Input Method Editor の略であり、Windowsで文字入力を補助するソフトウェアのこと。

日本語Windowsに主に使われている日本語入力用IMEは、ローマ字からひらがな/カタカナへの変換、かなから漢字への変換などを行う。

Windowsに限らずに広く文字入力のためのシステムを表す一般名称はインプットメソッドである。Windows以外のOSで使われるインプットメソッド(Mac OSの「ことえり」など)についてもIMEと呼ばれることもあるが、本来IMEはWindowsにおける用語である。


Microsoft IME
Microsoft IME(マイクロソフト・アイエムイー)とは、マイクロソフトが開発したインプットメソッド(IME)である。MS-IME(エムエス・アイエムイー)と略されることがある。IMEは、本来Windowsのインプットメソッド全般の一般名称であるが、Microsoft IMEを単にIMEと呼ぶ場合が多い。

日本語、中国語(繁体字・簡体字)、韓国語など、入力できる言語ごとにMicrosoft IMEが存在するが、ここでは日本語入力システム(日本語IME)としてのMicrosoft IMEについて述べる。



分かったようであまりよく分かっていないので、もし、間違いがあったら教えて欲しいです!よろしくお願いします。

日曜日, 11月 02, 2008

メニューが表示されるまでの時間を短くする方法

Adjusting Windows XP Menu Show Delay | Lancelhoff.com

こちらのページにて、Windows XP のメニューが表示されるまでの時間を短くする方法が載っている。参考にしたサイトでは、Windows XP でのやり方であったが、ボクの Windows 2000 でも同じキーと文字列があり、そこに値を設定することで期待した動作を確認することができた。


  1. 「スタート」ボタンをクリックし、「ファイル名を指定して実行」を選択する

  2. 表示されるテキストボックスに「regedit」と入力し、レジストリエディタを起動する

  3. キー名(HKEY_CURRENT_USER\Control Panel\Desktop)までツリーを下る

  4. MenuShowDelay文字列を探し、その値をメニューが表示されるまでに遅延したい秒数にする(デフォルトでは400になっている)

  5. Windows XP を再起動する

  6. 再起動後、変更結果が有効になる




ボクは、無駄に遅延したり、システムがサクサク動かないのは好きではないので、MenuShowDelay の値を 0 にした。0 にしたことによって、システムの負荷が高まり、サクサク動かなくなったら、それはそれでイヤなんだけど、現状は 0 としておくことにした。

また、「ShowDelay」でレジストリ内で検索をかけたところ、HKEY_USERS\.DEFAULT\Control Panel\Desktop」というキーにも「MenuShowDelay」文字列があったので、デフォルトの 400 から 0 にしておいた。

「名前が一緒だから大丈夫」という安易な理由で編集してしまった。。。もし、問題が起こるようだったら、元に戻しておこう。

また、変更は、再起動をしないと有効にならないようだ。変更したら、再起動をしよう。


【参考】
Adjusting Windows XP Menu Show Delay | Lancelhoff.com

木曜日, 10月 23, 2008

Linuxでゴミ箱

Linux では、ゴミ箱にファイルを移動するコマンドがない。rm コマンドを使うと、すぐにシステム上から削除されてしまい、その後、2度とファイルを復旧できない。もしかしたら、復旧する方法があるのかもしれないが、私は、その方法を知らない。

間違って rm コマンドを実行してしまったときに後悔するので、rm コマンドを実行すると、ファイルがゴミ箱に移動するように変更した。

まず、ゴミ箱にファイルを移動する関数を書き、その関数を rm コマンドの alias とすることで、これを実現した。作成した関数は、trash という関数で、alias rm='trash' として、rm コマンドで trash 関数が呼ばれるようにした。

以上のことを、以下のように、/etc/bashrc に記述した。


function trash() {
for file in $@
do
mv $file /tmp/trash
done
}

alias rm='trash'


これで OK!

但し、これだと、/tmp/trash が肥大してくるので、時々、/tmp/trash の中身を削除するようにしよう。alias した rm コマンドではなく、通常の rm コマンドでファイルを削除したい場合は、rm の前にバックスラッシュ (\) をつけて、rm コマンドを実行すればよい。これで、/tmp/trash 内のファイルを削除できる。


$ \rm hoge.txt

土曜日, 4月 19, 2008

DeleGateの設定

SaKuRa WORKS-Works [Windows2000実験室:DeleGateでWebProxyを作る]

上記のリンク先を参考に進めていけば、問題なく設定できる。

  1. サービスを消す

  2. C:\Program Files\DeleGate\bin>dg9_7_7-fix1.exe -P8080 ADMIN=hoge@example.com
    (* snip *)
    ... testing ports to be used [8080] ...
    Trying to start as a service [DeleGate Server -P8080] ...
    The service `DeleGate Server -P8080' exists. Delete it ? [y] / n : y
    OK. STOPped the previous service.
    OK. DELETEd the previous service.
    Create a new service ? [y] / n : n

  3. ディレクトリを消す

  4. リンク先には、%SYSTEMDRIVE%\Program Files, %SYSTEMDRIVE%\tmp, %SYSTEMDRIVE%\varを削除すると書いてあったが、%SYSTEMDRIVE%\tmpと%SYSTEMDRIVE%\varは見つからなかったので、削除できなかった。(恐らく、DGROOTを環境変数に設定したので、DGROOTの下にtmp, varフォルダが出来たのだと思われる。しかし、varフォルダは、DGROOT直下に見つかったが、tmpフォルダは見つからなかった。)
  5. DeleGateをD:直下に置き、D:\delegateとする

  6. DeleGateの設定ファイルを8080.cfgという名前でD:\delegateに保存する

  7. "8080.cfg"は以下の内容とする。
    -P8080
    ADMIN=hoge@example.com
    DGROOT="d:\delegate"
    VARDIR="d:\delegate\var"
    CACHEDIR="d:\delegate\cache"
    CACHE=do
    SERVER=http

  8. 起動

  9. D:\delegate\bin>dg9_7_7-fix1.exe -v +=../8080.cfg
    (* snip *)
    4/20 14:09:18.09 [604] 0+0: --INITIALIZATION DONE-08042014+0900: 9.7.7-fix1 on WindowsNT--


"INITIALIZATION DONE"と表示されたが、以前の環境変数DGROOTを参照して起動しているようだ。よって、環境変数DGROOTを削除して、システム再起動。で、リトライ!!

動いた!

それでは、サービスとして実行するように設定をしよう!

先ほど実行した時のコマンドから-vオプションを取り除いてdelegateを実行する。

D:\delegate\bin>dg9_7_7-fix1.exe +=../8080.cfg
... testing ports to be used [8080] ...
Trying to start as a service [DeleGate Server -P8080] ...
Set Automatic Start on System Startup ? [y] / n : y
OK. Parameters are saved in registry:
(* snip *)
OK. Environments are saved in registry:
(* snip *)
OK. The service is created successfully.
OK. The service started successfully.


そして、システムを再起度した後に、ココにアクセスしてみて、環境変数HTTP_VIAにDeleGateが含まれることを確認する。

確認した結果、以下のようになり、DeleGateが使えていることが分かった。

1.1 - (DeleGate/9.7.7-fix1)


以上でDeleGateの一通りの設定は終わりのようですが、このままの設定だといつかディスクがパンクするらしいです。よって、次回、キャッシュファイルの容量制限の設定に挑戦しようと思います。

# いつになることやら・・・

【参考】

Delegateの導入

Mac OS Xにdolipoの導入もしたことだし、WindowsにもProxyサーバをいれようということで、使えそうなProxyサーバを調べてみた。

調べたところ、以下の3つの候補が上がった。

  1. Delegate (DeleGate Home Page (www.delegate.org))

  2. ZEROProxy (伊勢的新常識 - ZEROProxy)

  3. WMWifiRouter (WMWifiRouter)

どれを使おうか検討した結果、伊勢的新常識 - DeleGateLauncherinside of 伊勢的新常識(2008-02-03)の評判(昔からあるProxyサーバ、ZEROProxyよりもメモリ消費が少ない、高速に安定して動作する)から、Delegateを使うことにした。

というか、ZEROProxyとWMWifiRouterはモバイル向けじゃないか!その時点で、候補はDelegateに絞られるっ!!しかも、DelegateLauncherとZEROProxyの作者は同じで、DelegateLauncherはDelegateをZEROProxyと同等の使い勝手で使えるようにしたMobile版Delegate。

ということで、Delegateを使います!

  1. DeleGate Home Page (www.delegate.org)よりDelegateをダウンロード

  2. ダウンロードしたファイルの/binディレクトリに以下のファイルがあることを確認

    1. dg9_7_7-fix1.exe

    2. dgzlib1.dll

    3. libssl32.dll

    4. ssleay32.dll

  3. ダウンロードしたファイルを"C:\Program Files\DeleGate"に移動

  4. 環境変数"DGROOT"を"C:/Program Files/DeleGate"とする

  5. /DeleGate/bin/dg9_7_7-fix1.exeを実行

  6. インタラクティブに設定する

  7. DeleGate/9.7.7-fix1 (November 14, 2007)
    AIST-Product-ID: 2000-ETL-198715-01, H14PRO-049, H15PRO-165, H18PRO-443
    Copyright (c) 1994-2000 Yutaka Sato and ETL,AIST,MITI
    Copyright (c) 2001-2006 National Institute of Advanced Industrial Science and Te
    chnology (AIST)
    --
    FTP:
    WWW:
    Mail:

    Config: WindowsNT; FileSize-Bits=64/64,32/32,32; sockbuf=8192/8192; sockpair=819
    2/8192,2016++; thread=Winthread; stty=none; fmem=191/0/510M; MSC=1400
    --
    DGROOT=C:/Program Files/DeleGate
    Do configuration ? y / [n] : y
    -------------------------
    INTERACTIVE CONFIGURATION
    -------------------------
    ## see http://www.delegate.org/delegate/tutorial/
    Administrator's E-mail ## ADMIN=user@domain []
    ADMIN=
    Port of the DeleGate ## -P[hostName:]portNumber
    -P8080
    Client's Protocol ## SERVER=protocol[://defaultServer/]
    SERVER=



タスクマネージャを見ても、dg9_7_7-fix1.exeプロセスが動作している様子が見られないので、どうやら起動に失敗している。

調べたところ、SaKuRa WORKS-Works [Windows2000実験室:まずはDeleGateを動かそう]にある方法で動かせることが分かり、結果、動かすことができた。

C:\Program Files\DeleGate\bin>dg9_7_7-fix1.exe -P8080 ADMIN=hoge@example.com
(* snip *)
Set Automatic Start on System Startup ? [y] / n : y
OK. Parameters are saved in registry:
(* snip *)
OK. Environments are saved in registry:
(* snip *)

OK. The service is created successfully.
OK. The service started successfully.


これで、システム起動時にもDelegateが起動するようになった。あとは、クライアントの設定。

SaKuRa WORKS-Works [Windows2000実験室:まずはDeleGateを動かそう]にあるように、インターネットオプションの[接続]タブの[LANの設定]でプロキシサーバーを127.0.0.1、ポートを8080にする。そして、[ローカルアドレスにはプロキシサーバーを使用しない]にチェックを入れる。

そして、ココにアクセスして、HTTP_VIAという環境変数にDelegateという文字が入っていることを確認する。今回、自分がアクセスした結果、HTTP_VIAは以下のような値となった。

1.1 - (DeleGate/9.7.7-fix1)


これで、Delegateは動くようになったが、参考にしたページによるとこの状態で動かすことはあまりよくないことであるようだ。設定ファイルを使うなりして、パラメータを使う必要があるらしい。

ちょっと今日は眠いので、明日、続きをやろう・・・。


【参考】

dolipoの導入

MOONGIFT: ≫ Mac OSXのブラウジングを高速化「dolipo」:オープンソースを毎日紹介

MOONGIFTで紹介されていたdolipoをインストールしてみた。導入は、MOONGIFTで紹介されている作者のページに沿って進めれば問題なくインストールできると思う。

  1. ココからアプリをダウンロード

  2. Macintosh HD/アプリケーションフォルダに入れる

  3. 起動。最初に起動したときにプロキシサーバの設定項目を尋ねられるので設定する

  4. [システム環境設定]の[ネットワーク]を開く

  5. Ethernet接続のプロキシ設定のWebプロキシ(HTTP)、保護されたWebプロキシ(HTTPS)を以下のように設定する

  6. プロキシサーバ : 127.0.0.1
    ポート : 8123


以上で設定は終了。dolipoが動作しているとメニューバーにdolipoのアイコンが表示される。

ログイン時にdolipoを自動で起動するには、メニューバーのdolipoアイコンをクリックして[Start At Login]にチェックを付ければ、次回ログイン時から設定が反映される。


【参考】