Mazn.net

やってみて 調べてみて 苦労しなけりゃ 箱は動かじ

Cygwin 1.7 の起動が遅い@ Windows 7 x64

      2013/07/15

PuttyやCygterm で cygwin を起動しているのですが、コンソールが起動するのに7~8秒もかかり、コンソールを大量に立ち上げる時は、かなりストレスがたまります。

これはcygwinのforkが遅いのが原因で、特に64bit環境で遅いのが原因のようで、起動時に呼び出される/etc/profileの実行時間が大半のようです。

試しに実際に起動後のプロンプトでbashを実行してもすぐに応答が返ってきますが、bash –loginを実行すると時間がかかってしまいます。

/etc/profileの処理を–noprofile オプションをつけてスキップさせることはできますが、これだといろいろと必要な環境変数がセットされないので、かなり使いにくい。

そこで、起動時に不要な処理をスキップさせるように、/etc/profileの処理を追ってみたところ、どうも一番重い処理は/etc/bash_completionのようです。

bash_completion ファイルは、TABを押して補完できる文字列を拡張する設定ファイルです。このファイルの処理をスキップしても、通常の単純な補完は動作するので、この処理をスキップすることにしました。

スキップ方法は、 /etc/profile.d/bash_completion.sh の1行目に、returnコマンドを挿入するだけです。

これで、2~3秒ぐらいでcygwinが起動するようになりました。(これでも遅いけど・・・)

 - IT技術

336px

Message

メールアドレスが公開されることはありません。

  関連記事

no image
GRUBのコマンドラインで、手動でLinuxを起動する@CentOS 5.4

前回の記事で、USBのハードディスクにLinuxを入れたまではいいが、Windo …

no image
Google Play Music で音楽が同期できない@Android 4.0

Google Play Music の Android アプリで、音楽が同期でき …

no image
rubyのexitの終了コード@1.8.5 and 1.8.7

最近rubyを使い始めて、いざプログラムを書いたところ、終了ステータスがうまく戻 …

no image
コマンドラインのロック@CentOS 5

コンソールログインやssh接続などでコマンドラインを使用しているとき、少し席を外 …

no image
pythonのpipをインストール@cygwin

cygwinのsetuptoolsがインストールされていない場合は、インストール …

no image
EntityBean @ JBoss 4.2

JBoss 4.2でEntityBeanを作ってみた。 @Idアノテーションは書 …

no image
ログイン画面の壁紙変更@Windows 7

C:\Windows\System32\oobe\info\background …

no image
TCP Wrapper の設定チェック@Linux

昔からあるアクセス制限の方法として、TCP Wrapperがあります。 /etc …

no image
Firefox でファイルをダウンロードしようとすると、ダウンロードダイアログが開かない@Windows7 x64 + Firefox 3.5

Firefox でファイルをダウンロードしようとすると、なぜか保存ダイアログが開 …

no image
お使いの端末はこのアイテムに対応していません@Android Market

Android Market が最近アップデートされて、見た目ががらりと変わりま …