Vnd*_*tta 6 command-line bash 12.04
我正在制作一个脚本,它将从命令行获取输入与其他程序的启动相结合。所以脚本会像这样:
...
launch program
Read input from the terminal
...
Run Code Online (Sandbox Code Playgroud)
问题是当我启动程序时(即使我在后台启动它),终端失去焦点并且启动的程序变得活跃。
如何使用默认的 Ubuntu 命令启动一个程序,将焦点保持在终端上?
谢谢
如果您知道终端的标题,则可以在使用命令打开程序后切换回该终端wmctrl(如果窗口立即打开并且您不需要命令sleep):
wmctrl -a <WIN-TITLE>
Run Code Online (Sandbox Code Playgroud)
<WIN-TITLE>不必是完整的标题,例如,如果标题是TESTING,TEST就可以。
根据打开程序所需的时间,您可能需要使用命令sleep来延迟切换回终端。您可以像这样使用它:sleep <SECONDS>s。
要从脚本中设置终端的标题,请使用:
NAME="NEW_TITLE"; echo -en "\033]0;$NAME\a"
Run Code Online (Sandbox Code Playgroud)
请参阅此答案以获取更多信息。
例如,这是一个在后台打开程序的小脚本:
NAME="Opening program..."; echo -en "\033]0;$NAME\a"
$1&
sleep 0.75s
wmctrl -a "Opening program"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3277 次 |
| 最近记录: |