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


8

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

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

Я пытался sudo service screen-cleanup startбез успеха!

Любая идея, как я могу решить это?

Ответы:


7

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

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

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


5

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

Так что измените разрешение как:

chmod 700 -R /tmp/tmux*

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

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


0

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

sudo chmod 1777 /tmp

1
/tmpдолжен иметь 4777 (ему нужен флаг + t). Без этого каждый сможет удалить файлы и переименовать файлы или каталоги других ниже /tmp. Кроме того, это ответ, подобный магу («делай X, получаешь Y» - но без объяснений).
Петер - Восстановить Монику

@peterh Спасибо, что напомнили мне за разрешение.
Honghe.Wu

0

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

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


0

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

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

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




-1

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

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