Tmux

TMUX + Rails = stty:‘標準輸入’:無法執行所有請求的操作

  • January 10, 2019

我有一個相當大的 Rails 項目,它總是在 Rails 控制台中的每個命令之後返回以下內容:

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

這只發生在 TMUX 中。如果不使用 TMUX,我看不到這個輸出。

我也沒有在 TMUX 中看到較小的 Rails 項目的這種行為。

我在 Mac OS Mojave 上使用 iTerm 2(夜間建構)並且正在使用 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

在 iTerm2 中使用pryin 時遇到了同樣的問題。tmux

這個 GitHub 問題幫助我發現sttygnubin coreutils 提供的版本覆蓋了 OSX 標準/bin/stty

我修改了我PATH的先解決/bin/stty,錯誤就消失了。

引用自:https://unix.stackexchange.com/questions/487880