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
的中是否存在命令。~/.screenrc
screenrc
答案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