閃爍 tmux 而不是聲音

閃爍 tmux 而不是聲音

今天我終於決定在我的家庭伺服器上重新安裝作業系統,從 CentOS 5 到 CentOS 7。我能夠重新配置它的外觀和感覺,幾乎完美地滿足我的需要,但仍然有一件煩人的事情。在螢幕上,當我執行某些操作時(例如在vi 中- 嘗試在第一行上向上移動遊標,或按未知的熱鍵等) - 背景閃爍一會兒- 我想這是一種警告或類似的東西。無論如何,我喜歡這個功能。

現在在 tmux 中,它不會閃爍。不僅如此,它還播放系統預設聲音。這真的很煩。如何將這種聲音改為視覺閃爍?

如果這很重要的話,我正在透過 win 桌面的 putty 連接到該伺服器。

答案1

簡短:在你的.tmux.conf

set -g visual-bell on

長:某些應用程式會同時檢查belflash終端功能,並允許您選擇要使用的功能。 tmux才不是。它只讀bel, 那麼你可以修改您的終端描述以更改bel到一個用於閃爍顯示的字串。

這可能會起作用,但同時tmux terminfo數據,它沒有使用對應的tputs或者putp用於發送包含時間延遲的 terminfo 資料的函數。大多數終端(包括所有模仿 xterm 的終端)上都需要這些延遲才能實現flash

screen有趣的是, has的終端描述flash=\Eg,但 it 或 tmux 都沒有對此做任何事情( screen 在內部使用它作為其視覺響鈴功能的一部分)。 tmux 同樣具有視覺響鈴功能,您可以在設定檔中設定此功能。這不會使螢幕閃爍,而只是在狀態行中放置一個短暫的警報。

延伸閱讀:

visual-bell [上|離開]
如果啟用此選項,則訊息會顯示在鈴聲上,而不是傳遞到終端(通常會發出聲音)。另請參閱bell-action選項。

bell-action [任何|無 |當前|其他]
設定窗鈴動作。 any 表示連結到會話的任何視窗中的響鈴會導致該會話的目前視窗中響鈴,none 表示忽略所有響鈴,current 表示僅忽略目前視窗以外的視窗中的響鈴,other 表示目前視窗中的響鈴會被忽略,但其他視窗中的不會被忽略。

相關內容