Bash
如何通過單個腳本在分屏 X 終端中執行 streamripper 和 mplayer
我想在自己的X Terminal(視窗)中執行streamripper,然後水平拆分終端,然後在下半部分執行mplayer。
這很簡單,可以手動完成,但是讓我無法獲得一個腳本來完成它。
- 啟動一個新的終端視窗
- 跑步
streamripper <http://radio.net:8000> -r 8000
- 水平拆分終端視窗
- 在底部面板中執行。
mplayer <http://localhost:8000>
mplayer
不能立即執行。它需要等待流數據,因此對此進行測試會比“等待 x 秒”更好(這實際上是手動方法所做的。如果終端對此很重要,任何事情都可以,但我目前已經安裝了 konsole、gnome-terminal 和 terminator(在 Ubuntu 中)
儘管某些終端程序支持拆分,但您將無法從執行在不同層的 shell 訪問此功能,並且無法訪問顯示它的軟體。
您可以做的是使用終端多路復用器,例如
GNU Screen
或tmux
允許您在控制台內的“窗格”中執行多個 shell。螢幕從一開始就存在並且工作正常,但最近該項目已失修並且維護不善。Tmux 是現場的新玩家,但程式碼非常乾淨和成熟,它比螢幕有更多的功能,而且更容易學習和配置。儘管出於習慣我仍然使用螢幕,但我強烈建議您為此使用 tmux。
您應該能夠編寫一個腳本來啟動 tmux 會話,在一個窗格中執行您的 streamripper 程式碼,等待一個條件,然後將另一個窗格添加到同一會話,將其顯示為分屏,然後在新窗格中執行 mplayer .