Tmux выходит с [выход] на Mac OS X


88

Я только что установил tmux (терминальный мультиплексор) с homebrew. Когда я пытаюсь запустить его, он всегда выходит, но [exited]ничего не появляется.

Когда я пытаюсь запустить, tmux list-sessionя получаю сообщение об ошибке:

не удалось подключиться к серверу: соединение отклонено

Я пытался бежать tmux start-server, но опять ничего не происходит.

Что я могу сделать?


2
начать использовать опцию -v для увеличения многословия
Florenz Kley

3
Проверьте свои default-commandи default-shellварианты. Если у tmux возникли проблемы с запуском вашей команды (или оболочки) по умолчанию, она ответит так, как вы описываете. Для дальнейшего исследования вы можете использовать что-то вроде, tmux new /bin/zshчтобы явно начать с (например) /bin/zshвместо того, чтобы полагаться на default-commandили default-shell.
Крис Джонсен

3
tmux new /bin/zshработал на меня. Спасибо.
Стивенс

Э-э, мое предложение было задумано как диагностический шаг, а не окончательный обходной путь. Существует, вероятно , что - то глючит о вашем default-shellили default-commandнастройке.
Крис Йонсен

Недавно я обнаружил (впервые), что если 1) .tmux.conf существует, но имеет синтаксические ошибки или 2) .tmux.conf - это символическая ссылка, которая ни на что не ссылается, tmux не откроется. Возможно, сначала было бы полезно сначала попробовать файл конфигурации по умолчанию mv $HOME/.tmux.conf $HOME/.tmux.conf.backupи посмотреть, запускается ли tmux. @ ChrisJohnsen прав, ваше решение просто означает, что есть ошибка в процессе.
scicalculator

Ответы:


178

У меня была такая же проблема. Это было вызвано тем, что set-option -g default-command "reattach-to-user-namespace -l zsh"у меня .tmux.confне было установлено пространство имен reattach-to-user-name .

Исправление состояло в том, чтобы установить «reattach-to-user-namespace» через Homebrew ( brew install reattach-to-user-namespace)


2
отлично спасибо! Именно то, чего не хватало в моей системе, чтобы она заработала!
DannyRe

1
+1Благодаря тонну! У меня была точно такая же проблема. Знаете ли вы какой-либо способ установить параметры условно, чтобы он не вышел из строя в системе, которая не была reattach-to-user-namespaceустановлена?
Патрик Осцити

2
@padde Посмотрите это решение .
jrhorn424

Есть идеи, как этого добиться в Ubuntu? Пытался найти способ загрузки, reattach-to-user-namespaceно мои усилия оказались тщетными.
DaMainBoss

@DaMainBoss reattach-to-user-namespaceтолько для tmux. Если вы работаете в Ubuntu, просто закомментируйте эту строку в вашем файле
.tmux.conf

6

Убедитесь, что опция default-shell содержит только путь к исполняемому файлу и не содержит опций.

В /etc/tmux.confили~/.tmux.conf

set-option -g default-shell "/ bin / bash"
set-option -g default-command "bash -l"
set-option -g default-path $ HOME
set-option -g default-terminal "screen-256color"

Этот ответ привел меня к реальной причине, я только что удалил tcsh, и моя оболочка по умолчанию и команда по умолчанию все еще были установлены на нее. Изменив его на / bin / ksh или установленную по умолчанию оболочку по вашему выбору, исправил это для меня.
Джейсон Робинсон

0

Если вы используете скрипт для переносаreattach-to-user-namespace , как описано jimeh , не забудьте сделать скрипт исполняемым с помощью chmod +x ~/bin/login-shell.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.