如何让 GNU 屏幕不在 OS X 的主目录中启动?

Ben*_*kes 11 linux command-line gnu-screen macos

screen与 Linux(至少是 Ubuntu、Red Hat 和 Gentoo)和 OS X 10.4 (Tiger) 相比,GNU Screen ( ) 在 OS X 10.5 (Leopard) 和 10.6 (Snow Leopard) 上的行为不同。在 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
Run Code Online (Sandbox Code Playgroud)

豹、雪豹:

$ cd ~/foo
$ pwd
/Users/ben/foo
$ screen
$ pwd
/Users/ben
$ screen # or ^A c
$ pwd
/Users/ben
Run Code Online (Sandbox Code Playgroud)

如何让 Leopard 和 Snow Leopard 像以前的 Tiger 一样行事?

小智 7

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

要检查的另一件事是chdir在您的~/.screenrc或系统范围内是否有命令screenrc

  • 终于知道是怎么回事了。我在从同事那里复制的部分中有 `shell -$SHELL`。删除后问题就消失了。它的行为方式与 Linux 等不同。 (3认同)