OS XのホームディレクトリでGNUスクリーンが起動しないようにするにはどうすればよいですか?


11

GNU Screen(screen)は、Linux(少なくともUbuntu、Red Hat、およびGentoo)およびOS X 10.4(Tiger)と比較して、OS X 10.5(Leopard)および10.6(Snow Leopard)で異なる動作をします。10.5および10.6では、新しい画面(screenまたはで作成^A c)が常にホームディレクトリに配置され~ます。LinuxおよびOS X Tigerでは、新しい画面にはpwd元々画面が作成された場所があります。

私が意味することを説明するための例を作りました:

虎:

$ cd ~/foo
$ pwd
/Users/ben/foo
$ screen
$ pwd
/Users/ben/foo
$ screen # or ^A c
$ pwd
/Users/ben/foo

ヒョウ、ユキヒョウ:

$ cd ~/foo
$ pwd
/Users/ben/foo
$ screen
$ pwd
/Users/ben
$ screen # or ^A c
$ pwd
/Users/ben

LeopardとSnow LeopardをTigerのように動作させるにはどうすればよいですか?

回答:


7

あなたが入力したときに実行されている正確に何をチェックするためのより良い方法は、screen実行することですcommand -V screen。これにより、バイナリ(この場合はフルパスが指定されます)を実行しているか、シェルエイリアス、関数などを実行しているかがわかります。

確認すべきもう1つのことは、chdirコマンドが~/.screenrcシステム全体またはシステム全体にあるかどうかscreenrcです。


3
最後に、それが何をしていたかを見つけました。私はshell -$SHELL同僚からコピーしたセクションにいました。問題は削除されると消えました。それは、などのLinux、上と同じように動作しません
ベンジャミンオークス

3

screen(1)manページには、説明画面のchdirコマンドを

   chdir [directory]

   Change the current directory of screen to the specified directory or,
   if called without an argument, to your home  directory  (the  value  of  the
   environment  variable  $HOME).  All windows that are created by means of the
   "screen" command from within ".screenrc" or by means of "C-a : screen
   ..." or "C-a c" use this as their default directory.  Without a chdir command,
   this would be the directory from which screen was  invoked. …

プログラミングセッションのスクリーン設定には、次のコマンドが含まれます

chdir "$HOME/Projects"

2

最初のステップは、画面がエイリアスではないことを確認することです。

を入力aliasして探しますscreen。このリストは長くなる可能性があることに注意してください。あなたはalias | grep screen、もみ殻から小麦を分離するために入力することができます。

screenようなエイリアスのcd ~ && screen場合は、を使用してこれを削除できますunalias screen


さらに良い:使用type screen
thiagowfx

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