Я убил 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.
Я столкнулся с той же проблемой, и вот мое решение:
/tmp/$(id -u)
chown -R $(id -nu):$(id -nu) /tmp/$(id -u)
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