tmux 无法以非 root 用户身份运行?

tmux 无法以非 root 用户身份运行?

如果我以 root 身份运行 tmux,它会正常运行且功能齐全。我创建了几个用户,但它不会以任何用户身份运行。

create session failed: : No such file or directory

我检查了外部的 $TERM 是 xterm,而内部的 $TERM 是屏幕,正如常见问题解答所表明的那样,这是最常见的问题原因。

我已经在许多不同的系统上定期使用 tmux,但是在这个 VPS 上我无法弄清楚发生了什么...能提供一点帮助吗?

编辑:感谢杰伊的关于 strace 的有用建议,我发现 /dev/pty* 存在权限问题。我担心这篇文章对其他人来说没什么用,因为它似乎只是一次性问题。

strace -f -e trace=file tmux

32000 open("/dev/ptmx", O_RDWR) = -1 EACCES (Permission denied) 32000 open("/dev/ptyp0", O_RDWR) = -1 EACCES (Permission denied) ..... 32000 open("/dev/ptypf", O_RDWR) = -1 EACCES (Permission denied) 32000 open("/dev/ptyq0", O_RDWR) = -1 ENOENT (No such file or directory)

答案1

解决此类问题的更通用方法:

strace -f -e trace=file tmux ..restofyourcommand...

在退出之前查找permission denied/错误 - 可能会找到导致此错误的一般原因(即,参见no such file or directory什么它尝试创建的目录,然后手动创建它并观察错误,它可能是尝试创建/home/x/some/dir/home/x/some存在的目录或其他东西)。

答案2

这件事发生在我身上是因为我的tmux 守护进程进程已达到其最大进程限制。

提高其最大进程限制后(参见设置正在运行的进程的最大文件限制)我能够开始我的新课程tmux new-session ...

相关内容