Ult*_*urd 6 linux bash gnu-screen
这与为什么我的 LD_LIBRARY_PATH 未设置启动终端有关?,但一组不同的症状。
首先,/usr/bin/screen
根据另一个问题是 setuid 。其次,这个系统上的默认shell是/bin/tcsh
由于各种历史原因,我们不允许chsh到/bin/bash
,所以我通常在登录后立即手动运行bash。第三,我几乎总是使用 screen,但我希望在 screen 中使用 ctrl-a ctrl-c 来创建一个新的 bash“选项卡”,所以我总是先调用 bash。
那是:
{~} $ echo $SHELL
/bin/tcsh
{~} $ bash
[~] echo $SHELL
/bin/bash
[~] screen -U
[~]
Run Code Online (Sandbox Code Playgroud)
...当重新连接时:
{~} $ echo $SHELL
/bin/tcsh
{~} $ screen -dUr
[~] echo $SHELL
/bin/bash
[~]
Run Code Online (Sandbox Code Playgroud)
但是,我$LD_LIBRARY_PATH
在 tcsh 中,在 bash 中,但是一旦我运行 screen 就为空;如果我只是从 tcsh 运行屏幕,它仍然存在,但是当我在屏幕中使用 ctrl-a ctrl-c 时,我会得到新的 tcsh“标签”。
有任何想法吗?
因为 screen 是 setuid,所以它 unsets LD_LIBRARY_PATH
。当你的 shell 是 tcsh 时,tcsh 初始化(.tcshrc
我想,因为 screen 不默认创建登录 shell)LD_LIBRARY_PATH
再次设置。如果要LD_LIBRARY_PATH
在 bash 屏幕窗口中进行设置,请从.bashrc
.
归档时间: |
|
查看次数: |
7379 次 |
最近记录: |