¿Cómo consigo que la pantalla GNU no se inicie en mi directorio de inicio en OS X?

11

GNU Screen ( screen) se comporta de manera diferente en OS X 10.5 (Leopard) y 10.6 (Snow Leopard) en comparación con Linux (al menos Ubuntu, Red Hat y Gentoo) y OS X 10.4 (Tiger). En 10.5 y 10.6, las nuevas pantallas (hechas con screeno ^A c) siempre me colocan en mi directorio de inicio ~. En Linux y OS X Tiger, las nuevas pantallas tienen un pwdlugar donde se creó originalmente la pantalla.

Ejemplos inventados para ilustrar lo que quiero decir:

Tigre:

$ 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

¿Cómo hago para que Leopard y Snow Leopard se comporten como Tiger?

Benjamin Oakes
fuente

Respuestas:

7

Una mejor manera de verificar qué se está ejecutando exactamente cuando escribe screensería ejecutar command -V screen. Esto le dirá si está ejecutando un binario (en cuyo caso se proporcionará la ruta completa) o un alias de shell, función, etc.

Otra cosa para verificar es si hay un chdircomando en su ~/.screenrcsistema o en todo el sistema screenrc.

jamessan
fuente
3
Finalmente descubrí lo que lo estaba haciendo. Lo había shell -$SHELLcopiado en una sección de un compañero de trabajo. El problema desapareció cuando se eliminó. No se comporta de la misma manera que en Linux, etc.
Benjamin Oakes
3

La screen(1)página del manual describe el chdircomando Pantalla .

   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. …

La configuración de Mi pantalla para una sesión de programación incluye el comando

chdir "$HOME/Projects"
nariz grande
fuente
2

El primer paso es asegurarse de que la pantalla no sea un alias.

Escribe aliasy busca screen. Tenga en cuenta que esta lista podría ser larga. Es posible que desee escribir alias | grep screenpara separar el trigo de la paja.

Si screenresulta ser un alias para algo así cd ~ && screen, puede eliminar esto usando unalias screen.

once81
fuente
Aún mejor: usotype screen
thiagowfx