How do I get GNU screen not to start in my home directory in OS X?
GNU Screen (screen
) behaves differently on OS X 10.5 (Leopard) and 10.6 (Snow Leopard) compared to Linux (at least Ubuntu, Red Hat, and Gentoo) and OS X 10.4 (Tiger). In 10.5 and 10.6, new screens (made with screen
or ^A
c
) always places me in my home directory ~
. In Linux and OS X Tiger, new screens have a pwd
of wherever the screen was created originally.
Made up examples to illustrate what I mean:
Tiger:
$ cd ~/foo
$ pwd
/Users/ben/foo
$ screen
$ pwd
/Users/ben/foo
$ screen # or ^A c
$ pwd
/Users/ben/foo
Leopard, Snow Leopard:
$ cd ~/foo
$ pwd
/Users/ben/foo
$ screen
$ pwd
/Users/ben
$ screen # or ^A c
$ pwd
/Users/ben
How do I get Leopard and Snow Leopard to behave like Tiger used to?
A better way to check what exactly is being run when you type screen
would be to run command -V screen
. This will tell you whether it's running a binary (in which case the full path will be given) or a shell alias, function, etc.
Another thing to check is whether there's a chdir
command in either your ~/.screenrc
or the system-wide screenrc
.
The screen(1)
man page describes the Screen chdir
command.
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. …
My Screen configuration for a programming session includes the command
chdir "$HOME/Projects"