Tmux新会话返回:“无法创建套接字”


8

byobu无意中杀死了一个会话(杀死-9 byobuSessionId),现在当我尝试启动另一个byobu命令时失败,并显示“无法创建套接字”。

tmux new-session返回:“无法创建套接字”

我尝试了sudo service screen-cleanup start没有成功!

知道如何解决吗?

Answers:


7

如果您检查strace -f -e trace = file tmux命令的输出,则可能是tmux进程死了 。

您会看到由tmux创建的套接字文件,在我的情况下位于 / tmp // tmux-1001 / default /

您只需删除该文件,然后通过byobu命令再次运行即可。


5

检查/tmp/tmux*/目录的权限。它们应归您所有,其他任何人都不能访问。

因此,将权限更改为:

chmod 700 -R /tmp/tmux*

套接字目录归您所有并且不能被所有人访问非常重要,否则任何用户都可以使用您的tmux服务器。有一段时间,tmux错误地跳过了访问模式检查,此问题已在2.0中修复。

如果您的系统不支持使用正确的所有权在/ tmp中创建目录,则必须使用-S将其显式指向套接字。该检查很重要,我们将不支持不具有Unix文件权限语义的系统。


0

的许可/tmp可能会导致此问题。
您可以检查的权限是否/tmp1777,否则请执行以下操作:

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
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.