Answers:
假设您已安装wmctrl(sudo apt-get install wmctrl如果未运行,则运行):
命令:
wmctrl -ia "$(wmctrl -lp | grep "$(pgrep gedit)" | tail -1 | awk '{ print $1 }')"
将提高最后打开的gedit窗口。用任何其他应用程序替换它。
pgrep gedit
获得gedit的pid
wmctrl -lp
列出所有窗口及其所属的pid
awk '{ print $1 }'
分割window-id(该行的第一个字符串)
$(wmctrl -lp | grep "$(pgrep gedit)" | tail -1 | awk '{ print $1 }')
因此找到的最后一个窗口的窗口ID gedit(wmctrl -lp列表的输出按创建的时间顺序列出窗口,如果应用程序有多个窗口,则tail -1返回最后一个窗口)。
wmctrl -ia
随后通过其升高窗口 window-id
...以应用程序作为参数运行:
#!/bin/bash
wmctrl -ia "$(wmctrl -lp | grep "$(pgrep "$1")" | tail -1 | awk '{ print $1 }')"
switchto.sh运行为(例如)
/path/to/switchto.sh firefox
理论上,命令:
xdotool search --class gedit windowactivate
应该做(类似);在这种情况下,它应该引发第一个找到的窗口gedit。
但是,它似乎不那么健壮。在我的系统(Unity)上,它什么也没做。
如果您使用过运行过Firefox firefox &,则可以使用它jobs来查看其编号。为了把它带到前台写%n firefox这n代表了它的编号。例:
sabrina@ubuntu:~$ jobs
[1]+ Stopped firefox
sabrina@ubuntu:~$ fg %1
您也可以“杀死”程序:
sabrina@ubuntu:~$ kill %1