在Mac OS X上,tmux退出[退出]


88

我刚用自制软件安装了tmux(终端多路复用器)。当我尝试运行它时,它总是退出,[exited]没有任何显示。

当我尝试运行时tmux list-session,出现错误:

连接服务器失败:连接被拒绝

我尝试运行tmux start-server,但再次没有任何反应。

我能做什么?


2
开始使用-v选项来增加详细程度
Florenz Kley 2012年

3
检查您的default-commanddefault-shell选项。如果tmux在运行默认命令(或shell)时遇到问题,它将按照您的描述进行响应。为了进一步研究,您可以使用诸如tmux new /bin/zsh明确地以(例如)开头的方式进行操作,/bin/zsh而不是依赖于default-commanddefault-shell
克里斯·约翰森

3
tmux new /bin/zsh为我工作。谢谢。
史蒂文斯2012年

嗯,我的建议是作为诊断步骤,而不是最终的解决方法。您的default-shelldefault-command设置可能有一些错误。
克里斯·约翰森

我最近(第一次)发现,如果1).tmux.conf存在但存在语法错误,或者2).tmux.conf是一个符号链接,没有任何链接,则tmux将不会打开。最好首先尝试使用默认配置文件,然后首先mv $HOME/.tmux.conf $HOME/.tmux.conf.backup查看tmux是否启动。@ChrisJohnsen是正确的,您的解决方案仅意味着即将出现错误。
scicalculator 2012年

Answers:


178

我有同样的问题。这是由于set-option -g default-command "reattach-to-user-namespace -l zsh".tmux.conf没有安装重新连接到用户命名空间而引起的。

解决方法是通过Homebrew(brew install reattach-to-user-namespace)安装“重新附加到用户命名空间”


2
太棒了!正是我的系统缺少什么才能使其正常运行!
DannyRe 2012年

1
+1万分感谢!我有完全一样的问题。您是否知道有条件地设置选项的任何方法,以使其在未reattach-to-user-namespace安装的系统上不会失败?
Patrick Oscity

2
@padde请参阅此解决方案
jrhorn424

知道如何在Ubuntu中实现吗?试图寻找一种下载方式,reattach-to-user-namespace但是我的努力是徒劳的。
DaMainBoss

@DaMainBoss reattach-to-user-namespace仅适用于tmux。如果您使用的是ubuntu,请从您的.tmux.conf文件中注释掉这一行
pho79

6

确保确保default-shell选项仅包含可执行路径,并且不包含选项。

/etc/tmux.conf~/.tmux.conf

set-option -g default-shell“ / bin / bash”
设置选项-g默认命令“ bash -l”
设置选项-g默认路径$ HOME
设置选项-g默认终端“ screen-256color”

这个答案使我明白了真正的原因,我刚刚卸载了tcsh,而我的默认shell和默认命令仍然设置为它。将其更改为/ bin / ksh或您选择的默认安装的外壳,已为我修复。
杰森·罗宾逊

0

如果您正在使用脚本包装reattach-to-user-namespace(如jimeh所述),请不要忘记使用来使脚本可执行chmod +x ~/bin/login-shell

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.