Ubuntu Screen 无法加载LD_LIBRARY_PATH
1. screen的用法
-
screen (-S window的名字)
,打开一个(名字为 ***)screen window, 注意S
大写 -
ctrl a d
,detach - 如果只有一个screen window,直接
screen -r
就可以attach - 如果有多个screen window,可以
screen -r + window名字
(输入前几个具有标示性的首字母即可,比如有两个window名字分别是abc和adg,指定ab就可以打开名为abc的window) - 如果有多个window,也可以
screen -ls
查看所有的window的id,然后screen -r window的id
也可以打开对应的window
2. 问题
新打开一个screen window的时候,有时会发现,原来bash下的PATH
和LD_LIBRARY_PATH
会出问题,我遇到的问题是screen下的PATH
会重复加载.bashrc
里面的配置,而LD_LIBRARY_PATH
则不会加载/etc/profile
里面的配置,只加载了.bashrc
里面的配置,解决方法是在配置文件/etc/screenrc
或者~/.screenrc
中加上一行配置
shell -$SHELL
- 其中通过 echo $SHELL 可以看到值是
/bin/bash
,因此也可以写成shell -\bin\bash
, 其中shell
并非是linux的命令,而是screen的在配置文件里面的配置命令,其对应的终端的配置命令是-s
(小写) - 意思就是在screen window 的shell启动的时候以
login-shell
的形式启动,这样就可以加载所有的配置。这个在screen的手册中有说明(man shell)
来源网址
https://www.gnu.org/software/screen/manual/screen.html#Shell - 记住其中的横杠
-
不可以省略
reference:
1. https://www.gnu.org/software/screen/manual/screen.html#Shell
2. http://blog.csdn.net/lykangjia/article/details/17717065
3. http://www.linuxquestions.org/questions/slackware-14/aliases-lost-when-using-screen-723624/
4. http://www.jianshu.com/p/762d4cccee7e