1
pkookp8 2019-01-09 11:24:09 +08:00 via Android
借楼顺便问一下
恢复 session,或者 vim 中启动一个 shell 都只有.bashrc 环境变量,没有.bash_profile,这是为何 |
2
Kobayashi 2019-01-10 12:42:21 +08:00 via Android 1
现在的人既不看 manual 也不搜索,是吧?
man tmux, /socket 不能指定 socket 默认的存储文件夹,但是可以-S 为单个 session 指定 socket 存储文件位置。 resurrect 可以指定保存 session 的存储文件夹。 https://stackoverflow.com/questions/43443355/changing-the-location-where-tmux-saves-sessions @pkookp8 tmux 默认就是 login shell,你改动过 default-shell。 tmux show -g default-shell |
3
pkookp8 2019-01-10 13:50:21 +08:00 via Android
@Kobayashi
default-shell "/bin/bash" 没有改动过,新建一个 session 或 pane 都是正常的,唯独重启后使用 resurrect 插件恢复时部分 pane 会需要手动 source .bash_profile 同样的,vim 中:sh 也没有 source .bash_profile,但有.bash_rc 我是有找到 vim 可以设置 set shell=bash\ login,但 tmux 没找到原因 |
4
Kobayashi 2019-01-10 14:49:56 +08:00
兄弟,既然清除是 resurrect 问题,就去找 resurrect 啊……
https://github.com/tmux-plugins/tmux-resurrect/issues/94 如上 issue 中所说,此为 tmux-resurrect 一个 bug. resurrect 恢复时默认执行 default-command 内容,default-command 未设置时回落到 default-shell. 但与 tmux 不同,tmux-resurrect 不会将 default-shell 解释为 login shell,但是 tmux 却默认使用 default-shell 作为 login shell,问题就在这儿。有人提交了 pr 但是还未被合并。 覆写 default-command 或 default-shell 为 /bin/bash -l 应该可行。(这个临时解决方案这个 issue 下也有人给出) |
6
Kobayashi 2019-01-10 15:09:57 +08:00
关于 resurrect,自己尝试了一下,修改 default-shell 带-l 参数不行,会立即退出。修改 default-command 可行。
|