2015-04-23 20 views
1

我是Unix环境或桌面应用程序的初学者。 我有应用程序运行,我能够得到它的pid使用这个pgrep <<pid name>>。我们可以最大化这个应用程序或使用shell脚本使其窗口活动吗?Shell脚本 - Linux中最大化的桌面应用程序

在此先感谢!

回答

3

wmctrl做到了这一点:

#!/bin/bash 

pid=1234 

# Note that one PID may have several windows opened, possibly 
# with the same title, so you may have to implement 
# some additional logic in order to choose the correct one. 

window_refs=$(wmctrl -p -l | grep " $pid " | egrep -o 0x[0-9a-z]+) 
for ref in $window_refs; do 
    wmctrl -i -r "$ref" -b "add,maximized_vert,maximized_horz" 
done 
+1

你应该双引号的变量,以防止通配和分词。另外考虑使用'$(..)'而不是传统的反引号。 – user3439894

+0

感谢您的评论,更新了代码。 –

+0

这是第一次正常工作。当我最小化窗口并再次运行脚本时,它不显示。我得到这个消息'不能将参数转换为数字。请解释一下'grep“$ pid”'是什么意思。 – Vish