TMUX + Rails = stty:'标准输入':无法执行所有请求的操作

TMUX + Rails = stty:'标准输入':无法执行所有请求的操作

我有一个相当大的 Rails 项目,在 Rails 控制台中的每个命令之后总是返回以下内容:

stty: 'standard input': unable to perform all requested operations

这仅发生在 TMUX 内。如果不使用 TMUX,我看不到此输出。

我在 TMUX 中的小型 Rails 项目中也没有看到这种行为。

我使用的是带有 iTerm 2(每晚构建)的 Mac OS Mojave,并且使用的是 vanilla TMUX(即没有特殊配置)。

有任何想法吗?


回答约瑟夫·廷吉里斯的问题:

在 TMUX 中我得到:

› stty -a
speed 9600 baud; rows 47; columns 178;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; start = ^Q; stop = ^S; susp = ^Z; dsusp = ^Y; rprnt = ^R; werase = ^W; lnext = ^V;
discard = ^O; status = ^T; min = 1; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread -clocal -crtscts
-ignbrk brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff ixany imaxbel iutf8
opost -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe -echok -echonl -noflsh -tostop -echoprt echoctl echoke -flusho -extproc

› echo $TERM
screen-256color

在 TMUX 之外我得到:

› stty -a
speed 38400 baud; rows 48; columns 178;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; start = ^Q; stop = ^S; susp = ^Z; dsusp = ^Y; rprnt = ^R; werase = ^W; lnext = ^V;
discard = ^O; status = ^T; min = 1; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread -clocal -crtscts
-ignbrk brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff ixany imaxbel iutf8
opost -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -tostop -echoprt echoctl echoke -flusho -extproc

› echo $TERM
xterm-256color

答案1

prytmuxiTerm2 中使用时遇到同样的问题。

这个 GitHub 问题帮助我发现 gnubin coreutils 提供的版本stty覆盖了 OSX 标准/bin/stty

我先修改了我的PATH解决方案/bin/stty,然后错误就消失了。

相关内容