有谁知道如何配置 Ubuntu 14.04,以便在启动时打开一个终端窗口(在我指定的 x,y 坐标以及指定的宽度和高度),并且 Xload 应用程序也在某个 x,y 位置加载并运行?
答案1
初步说明:
在我们开始之前,您需要了解屏幕的几何形状。以下命令可实现该部分任务:
xprop -root | awk '$1~/NET_DESKTOP_GEOMETRY/ {print }'
。
我的双屏设置的输出示例:
$ xprop -root | awk '$1~/NET_DESKTOP_GEOMETRY/ {print }'
_NET_DESKTOP_GEOMETRY(CARDINAL) = 2390, 768
下一步是查看 X 服务器的手册页,即man x
,特别是几何规范,根据该页面,您可以按照以下方式指定屏幕上的大小和位置WIDTHxHEIGHT+XOFF+YOFF
,其中 XOFF 和 YOFF 是屏幕 xy 平面上的偏移量。
有两种方法可以完成这项任务。第一种方法是在启动时运行的命令中指定几何形状。第二种方法是使用wmctrl
脚本中的工具,如我在评论中链接的答案所示。两者都实现了你想要的任务;首先具有避免安装额外软件的优点;第二个在使用上有优势wmctrl
,可以应用于多种任务,例如我用它来启动脚本和设置 byobu 的标题。
方法#1,本机:
gnome-terminal
打开启动应用程序菜单(可以通过破折号搜索访问),并为和添加新的启动应用程序xload
。因为gnome-terminal
你会想要这样的东西:
Name
(随便你怎么称呼它)
gnome-terminal --geometry WIDTHxHEIGHT+XOFFSET+YOFFSET
Comment
(选修的)
同样,为 创建一个条目xload
,但命令必须略有不同: xload -geometry WIDTHxHEIGHT+XOFF+YOFF
另请注意,gnome-terminal
以列和行设置宽度和高度,而 xload 以像素设置宽度和高度。因此,在上面的屏幕截图中,您可以看到我创建了一个 30 列(宽度)和 20 行(高度)的启动条目
这是两个示例命令,用于在屏幕右上角启动 gnome-terminal 并在屏幕右下角启动 xload
gnome-terminal --geometry 50x20+2390+0
xload -geometry 200x200+2390-0
方法#2,通过使用 wmctrl
wmctrl
是一个非常有用的程序,用于通过终端操作屏幕上的窗口。您可以通过 获取它sudo apt-get install wmctrl
。
下一步是编写一个可以实现所有魔力的脚本。请记住将其权限更改为可执行文件sudo chmod +x /path/to/script.sh
。最后,.desktop
在您的文件夹中创建一个文件.config/autostart
,该文件将在您登录时实际启动脚本。参考这里和这里关于如何写入.desktop
文件;或者只需将脚本的路径添加为启动应用程序窗口中的启动项之一。
也许一个小优点是,wmctrl
您不必猜测生发的行/列比;一切都是用像素完成的。公式wmctrl
是gravity, xoffset, yoffset,width,height
(不要问窗口的重力是多少,因为我自己也不知道,只需使用0),-r
参数意味着“通过引用”具有特定标题的窗口
剧本
请注意,对于大小和位置参数,我只是回收了旧脚本并进行了一些替换。我希望您已经阅读了我之前关于如何wmctrl
工作的注释,并且您应该能够替换您自己的数字。如有疑问,请参阅man wmctrl
。
#!/bin/bash
# Author: Serg Kolo
# Date: 4/18/2015
# Description: A simple script open gnome-terminal and xload with
# specific size and position
sleep 1
gnome-terminal -t STARTING-WINDOW &
xload &
if [ $? -eq 0 ]
then
wmctrl -r STARTING-WINDOW -e 0,1300,300,250,250
sleep 0.5
wmctrl -r xload -e 0,1300,0,250,250
fi