Назад | Перейти на главную страницу

Tmux new-session возвращает: «невозможно создать сокет»

Я убил byobu сеанс случайно (kill -9 byobuSessionId), и теперь, когда я пытаюсь запустить другой byobu команда не работает с "невозможно создать сокет".

Также tmux new-session возвращает: «не могу создать сокет»

я пытался sudo service screen-cleanup start безуспешно !

Есть идеи, как я могу это решить?

Проблема возникает, возможно, из-за мертвого процесса tmux, если вы проверяете вывод для strace -f -e trace = файл tmux команда.

Вы видите файл сокета, созданный tmux, в моем случае он находится на / tmp // tmux-1001 / по умолчанию /

Вы просто удаляете этот файл и запускаете снова Byobu команда.

Проверьте разрешения /tmp/tmux*/ каталоги. Они должны принадлежать вам и быть недоступными для других.

Итак, измените разрешение как:

chmod 700 -R /tmp/tmux*

Важно, чтобы каталог сокетов принадлежал вам и не был доступен всем, иначе любой пользователь мог использовать ваш сервер tmux. Некоторое время tmux неправильно пропускал проверку режима доступа, это было исправлено в версии 2.0.

Если ваша система не поддерживает создание каталогов в / tmp с правом собственности, вам придется использовать -S, чтобы явно указать на сокет. Проверка важна, и мы не будем поддерживать системы, которые не имеют семантики разрешений файлов Unix.

Я столкнулся с той же проблемой, и вот мое решение:

  1. Создать новую папку: /tmp/$(id -u)
  2. Сменить владельца: chown -R $(id -nu):$(id -nu) /tmp/$(id -u)
  3. Изменить разрешение: chmod -R 700 /tmp/$(id -u)

Оно работает!

на Mac эти cmds сделали свое дело:

sudo rm -r '/tmp/tmux-'$(id -u)
sudo chmod -R 4777 /tmp/

Разрешение /tmp может вызвать эту проблему.
Вы можете проверить, разрешено ли /tmp является 1777, если нет:

sudo chmod 1777 /tmp

Я столкнулся с той же проблемой на общем сервере, где у меня не было специальных разрешений за пределами моего домашнего каталога. Бывает, что tmux пытался получить доступ к папке ~ / tmp, где создать свой сокет. Эта папка отсутствовала и, следовательно, возникла ошибка.

В моем случае решение заключалось в создании папки ~ / tmp, и все начало работать нормально.

У меня была такая же проблема, но из-за нехватки места на диске.

Попробуйте использовать эту команду systemd-tmpfiles --create. Он создает необходимые папки в / run, включая tmux.

Используя команду strace -f -e trace=file tmux вы можете увидеть, какие файлы называются tmux. Проблема часто вызвана разрешениями на папку / tmp. При стандартной установке Ubuntu Server разрешения установлены на 777. Вы можете изменить с помощью

sudo chmod 777 /tmp