Macとかの雑記帳

speedup_terminal_launch_00

ターミナル.appを起動してから、使えるようになるまで時間がかかる(プロンプトの表示が遅い)場合の対処法です。

ターミナルの起動(プロンプトの表示)が遅くなる原因

新規ウィンドウやタブを開くと、下のように「最後にログインした日時」が表示されると思います。

speedup_terminal_launch_04

この日時は、/var/log/asl 以下にある ASL(Apple System Log)データベースを検索して表示しているのですが、このデータが破損してたり断片化してると検索に時間がかかり、結果的にプロンプト表示が遅くなります。

なのでデータベースを削除して初期化するか、起動時の検索を無効にすることで、症状が改善されると思います。

プロンプト表示速度を改善

1. ASLデータベースを削除して初期化

ターミナルで以下を実行した後、OSを再起動します。

$ sudo rm -f /private/var/log/asl/*.asl

ターミナルの再起動だけでも大丈夫らしいのですが、それだと一部のファイルしか再作成されないので、OS再起動の方が良いと思います。

2. 起動時のデータベース検索を無効にする

最初に /usr/bin 以下に bash があるか確認(たぶん無いと思う)し、無ければ下を実行してリンクを貼ります。

$ sudo ln -s /bin/bash /usr/bin/bash

次に、ターミナルの環境設定 「起動」「開くシェル」と進み「コマンド(完全パス)」にチェックを入れ、パスを /usr/bin/bash にします。

speedup_terminal_launch_01

これでデータベースの検索が無効になると思います。

変更したらターミナルのウィンドウを開き、「Last login」が表示されないことと…

speedup_terminal_launch_02

インスペクタ(タブをダブルクリックか、command I )を開いて「情報」タブ以下のコマンドが login -pfq ユーザ名 /usr/bin/bash に変更されてるか確認してください。

speedup_terminal_launch_03

補足

.hushloginとは違う

~/.hushlogin という空のファイルを作成すると Last login を非表示にできますが、データベース検索は無効になりません。

参考リンク:
lion - How do I speed up new Terminal tab loading time? - Ask Different

スポンサード リンク