ターミナルのフォルダーアイコンに疑問符が重なっているのはなぜですか?


16

時々、ターミナルウィンドウの1つのタイトルバーにあるフォルダーアイコンに疑問符が重なっていることに気付きます。たとえば、次のようになります。

ここに画像の説明を入力してください

これは何を意味するのでしょうか?私が気づいた効果や問題はないようです-私はただ興味があります。

OS X 10.8(Mountain Lion)を使用しています。

回答:


18

疑問符(および無効なポップアップメニュー項目)は、ターミナルが作業ディレクトリをリモートコンピューター上にあると見なしているため、ポップアップメニューを使用してFinderでそのディレクトリに移動できないことを示します。ポップアップメニューの最後の項目([プロキシ]アイコンをCommandキーを押しながらクリック)を見ると、ターミナルが作業ディレクトリを認識しているコンピューター/ホストが表示されます。コンピューターの現在の名前ではないことがわかります。

bash(macOSのデフォルトシェル)を使用している場合、デフォルトでは、各プロンプトでターミナルに制御シーケンスを送信して、現在の作業ディレクトリをターミナルに通知します。制御シーケンスはローカルまたはリモートコンピューターから送信される可能性があるため、ホスト名を含む「file:」スキームURLを送信し、ターミナルは名前が現在のマシンにマップされていることを確認します。表示されない場合、ターミナルはローカルのディレクトリに対応していないため、パスポップアップメニュー項目を無効にします。

/etc/bashrc_Apple_Terminal(または/etc/bashrc古いバージョンのmacOSで)コントロールシーケンスを送信するコードを確認できます。

[bashを使用していない場合、またはbashをカスタマイズしてデフォルトの動作が発生しない場合でも、シェル(または実行中の他のプログラム)がウィンドウまたはタブ(アイコン)タイトル、ターミナルはパス名のように見えるものが含まれているかどうかを確認し、有効なローカルパス名に対応するかどうかを確認します。そうでない場合、ウィンドウプロキシアイコンはまったく表示されません。]

「file:」URLが現在のホストにあることをターミナルが認識できないシナリオは、シェルの実行中にネットワーク構成を変更した場合です。一般的なケースは、ポータブルコンピューターをスリープ状態にして別の場所に移動してからスリープ解除することです。ローカルのホスト名とアドレスは変更されますが、シェルの$HOSTNAME環境変数には古いホスト名が残っており、それが制御シーケンスで送信されます。これを修正するには、環境変数を次のように更新します。

 HOSTNAME=$(hostname)

もう1つのシナリオは、ターミナルを終了し、ネットワーク構成を変更してから、再開を有効にしてターミナルを開く場合です。ターミナルは、ウィンドウとタブ、およびそれぞれが送信された最後の作業ディレクトリURLを復元します。この場合、$HOSTNAME新しいシェルを開始するため、最新の状態になりますが、シェルが再度更新するまで、ターミナルは古いURLを保持できます。コマンドプロンプトを表示しても問題が解決しない場合は、ディレクトリを変更しcdて、シェルを更新してみてください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.