如何从终端关闭,最小化和最大化指定的窗口?

我正在使用GNOME 3.18运行Ubuntu GNOME 15.10,我想知道是否有一种方法可以从终端关闭,最小化,最小化,最大化和取消最大化指定的窗口?

注意 – 我看过这个Q&A – 我问的是如何从终端进行…不是如何添加按钮……按钮已经存在,我不需要添加它们。

cli操作窗口有两个重要的工具; xdotoolwmctrl 。 这两个工具在function上相互重叠,但最重要的命令引用了您的问题:

在(无疑是不完整的)概述中,列出我最常使用的命令:

关上一扇窗户

wmctrl:

 wmctrl -ic  

最小化窗口

xdotool:

 xdotool windowminimize  

取消窗口最小化

wmctrl:

通过以下方式实现有效的非最小化:

 wmctrl -ia  

有效地提到,因为命令移动到相应的桌面,无法最小化并提升窗口,但该命令也在未最小化的窗口上执行此操作。

最大化窗口

xdotool:

 xdotool windowsize  100% 100% 

wmctrl:

 wmctrl -ir  -b add,maximized_vert,maximized_horz 

取消窗口最大化:

 wmctrl -ir  -b remove,maximized_vert,maximized_horz 

笔记

  • 默认情况下, xdotoolwmctrl都不在您的系统上:

     sudo apt-get install xdotool wmctrl 
  • 要在当前活动窗口上运行任何命令:

    • 对于wmctrl命令,删除-i选项,将替换为:ACTIVE:

    • for xdotool命令:用$(xdotool getactivewindow)替换 $(xdotool getactivewindow)

  • 在许多情况下,可以使用窗口ID窗口名称来运行命令。 wmctrl-i选项告诉wmctrl使用窗口id。 我建议不要使用窗口的名称作为标识符,以防止名称冲突。 它比您期望的更容易发生。

  • 根据我自己的经验,在脚本中使用最大化; 使用wmctrl来最大化/ wmctrl最大化可能在UnityGnome上都有点错误,而xdotool选项在我的经验中运行得更xdotool 。 在大多数脚本中,我最终使用了wmctrlxdotool的混合。

关于man wmctrl和man xdotool的更多信息(主要是节: WINDOW命令 )。

加入Jacob Vlijm的回答:

 xdotool windowactivate $minwinid xdotool windowraise $minwinid xdotool windowfocus $minwinid 

也适用于最小化窗口。 动画对我来说更快。