将 Ubuntu 配置为始终在终端和 Xload 打开的情况下启动?

将 Ubuntu 配置为始终在终端和 Xload 打开的情况下启动?

有谁知道如何配置 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您不必猜测生发的行/列比;一切都是用像素完成的。公式wmctrlgravity, 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

相关内容