GNU Screen(screen
)は、OS X 10.5(Leopard)および10.6(Snow Leopard)で、Linux(少なくともUbuntu、Red Hat、およびGentoo)およびOS X 10.4(Tiger)とは異なる動作をします。 10.5および10.6では、新しい画面(screen
または^A
c
で作成)は常に私のホームディレクトリ~
に配置します。 LinuxおよびOSX 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とSnowLeopardをTigerのように動作させるにはどうすればよいですか?
screen
と入力したときに何が実行されているかを正確に確認するためのより良い方法は、command -V screen
を実行することです。これにより、バイナリ(この場合はフルパスが指定されます)を実行しているか、シェルのエイリアス、関数などを実行しているかがわかります。
確認するもう1つのことは、~/.screenrc
またはシステム全体のchdir
のいずれかにscreenrc
コマンドがあるかどうかです。
screen(1)
のマニュアルページでは、Screen 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"
最初のステップは、画面がエイリアスではないことを確認することです。
alias
と入力し、screen
を探します。このリストは長くなる可能性があることに注意してください。小麦をもみ殻から分離するには、alias | grep screen
と入力することをお勧めします。
screen
がcd ~ && screen
のようなエイリアスであることが判明した場合は、unalias screen
を使用してこれを削除できます。
私はここのこのウェブページがあなたの答えを持っていると信じています: http://code.google.com/p/silassewell/wiki/ScreenOSX