在 OS X 中,如何让 GNU screen 不在主目录中启动?

在 OS X 中,如何让 GNU screen 不在主目录中启动?

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 和 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 那样?

答案1

screen检查键入时正在运行的内容的更好方法是运行command -V screen。这将告诉您它是在运行二进制文件(在这种情况下将提供完整路径)还是 shell 别名、函数等。

另一件需要检查的事情是您的或系统范围chdir的中是否存在命令。~/.screenrcscreenrc

答案2

手册screen(1)页描述了屏幕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"

答案3

第一步是确保屏幕不是别名。

键入alias并查找screen。请注意,此列表可能很长。您可能需要键入alias | grep screen以区分好坏。

如果screen结果是类似的东西的别名,cd ~ && screen您可以使用它来删除它unalias screen

答案4

我相信这个网页上有你的答案:http://code.google.com/p/silassewell/wiki/ScreenOSX

相关内容