Pet*_*r.O 5 bash gnu-screen terminal-multiplexer tmux
我想在它自己的X终端(窗口)中运行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。
Screen 自诞生之日起就已存在并正常工作,但最近该项目年久失修,并且维护得不好。Tmux 是一种新的播放器,但代码非常干净和成熟,它比 screen 有更多的功能,并且更容易学习和配置。尽管我仍然出于习惯而使用 screen,但我强烈建议您为此使用 tmux。
您应该能够编写一个脚本来启动 tmux 会话,在一个窗格中运行 Streamripper 代码,等待条件,然后将另一个窗格添加到同一会话,将其显示为分屏,然后在新窗格中运行 mplayer 。