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"