终端快捷键ctrl + alt + T,2个终端,大小不同

在Ubuntu中,您可以使用(编辑>配置文件首选项)更改终端的默认大小以更改大小。 如何使用快捷方式调出终端ctrl + alt + T来创建两个不同大小的终端,以便它们在屏幕右侧一个放在一起? 因此,一个高度比另一个高,但宽度相等。

我将为您提供详细且经过测试的指导,说明如何实现您想要的结果。

首先简要介绍一下这些步骤:

  • 编写一个简短的bash脚本,打开两个具有指定大小和位置的终端窗口。
  • 设置脚本文件的“可执行”标志
  • 测试脚本(以避免拼写错误并确保一切正常)
  • 禁用/更改旧终端快捷方式以释放加速键Ctrl + Alt + T.
  • 设置新的自定义快捷方式

现在遵循详细指南:

因为你只能使用键盘快捷键启动一个命令(据我所知),我们必须编写一个打开两个窗口的短bash脚本。 我们还可以将一个特殊参数传递给gnome-terminal,它设置窗口的大小(字符,而不是像素)和位置(以屏幕为单位的像素)。 它应该如下所示:

#!/bin/bash # File: open-two-terminals.sh # Purpose: launch two windows of gnome-terminal with different # sizes (in characters) and positions (in pixels) gnome-terminal --geometry=80x30+400+400 & gnome-terminal --geometry=60x20+500+50 & # geometry-syntax: --geometry=[width]x[height]+[x-position]+[y-position] # Info: & continues with the next command right after the execution # of the command it is written after, instead of waiting until # the program finished and returns. 

请注意,您可以/必须使用几何值进行实验,以便按照您希望的方式调整窗口的大小和位置。 我只使用了示例值。

将这些行(您只需要第一行和没有# ,因为其他只是注释)保存到open-two-terminals.sh这样的文件中,无论您想要什么位置。 我建议您的家庭bin目录/home/MYUSERNAME/bin (如果它不存在则创建此目录),但您可以将其更改为您想要的(只要它在PATH的某个位置)以及文件名,它应该只以.sh结尾。
所以我现在假设你有一个脚本文件/home/MYUSERNAME/bin/open-two-terminals.sh

下一步是使脚本可执行,因为现在它只不过是一个很好看的纯文本文件。 为此,请在终端中运行以下命令: chmod +x /home/MYUSERNAME/bin/open-two-terminals.sh

现在,在设置了可执行标志之后,您可以进行第一次测试,看看您是否一直都做对了。 通过在终端窗口中输入open-two-terminals.shAlt + F2 -HUD来运行脚本。 它应该打开两个具有不同轮廓和尺寸的新终端窗口。

如果这样做(否则你犯了一个错误,应该仔细检查并再次尝试所有步骤),你可以设置键盘快捷键。
转到“ 系统设置”面板 ,然后单击“ 键盘” 。 切换到“ 快捷方式”选项卡,然后在左侧列表中选择“ 启动器 ”。 您可以在右侧列表中看到Launch terminal的快捷方式。

首先,您必须禁用此快捷方式(输入Backspace作为新快捷方式)或分配(a)不同的键而不是Ctrl + Alt + T ,因为您希望稍后将它们用于自定义快捷方式。

之后,在左侧列表中选择自定义快捷方式 。 单击右侧列表下方的+符号添加新快捷方式。 将弹出一个窗口并请求快捷方式的名称(任何您想要的名称,例如Open Two Terminals )和要运行的命令(输入之前创建的脚本文件,例如open-two-terminals.sh )。 单击确定确认
现在我们还要做的最后一件事是将旧的终端键Ctrl + Alt + T分配给这个新的快捷方式。 因此,单击包含加速键的右列(默认值为Disabled – 重要,因为单击包含标题的左列打开弹出窗口),然后按住/按住要分配给快捷键的键。 您现在应该看到它们写在快捷方式标题的左侧。

关闭控制面板,享受全新的双终端快捷键! 😀

希望这份详细的指南能帮助您并解决您的问题。 如果是这种情况,请快速点击左侧的灰色勾号接受答案,以表达您的感谢。 如果您或其他任何阅读此内容的人有问题,需要进一步澄清或发现错误,请给我留言!

基本程序:

  1. sudo apt-get install wmctrl
  2. touch bin/twoterm.sh && sudo chmod +x bin/twoterm.sh
  3. 复制下面的脚本并将其保存到bin/twoterm.sh文件中
  4. 创建自定义快捷键Ctrl + Alt + R,它将调用命令`gnome-terminal -e /home/yourusername/bin/twoterm.sh

剧本

 #!/bin/bash # Author: Serg Kolo # Date: 2/18/2015 # Description: A simple script to create two windows on right side # of the screen with specific size. sleep 1 gnome-terminal -t WINDOW-ONE gnome-terminal -t WINDOW-TWO if [ $? == 0 ] then wmctrl -r WINDOW-ONE -e 0,1300,300,250,250 sleep 0.5 wmctrl -r WINDOW-TWO -e 0,1300,0,250,250 fi 

说明:

  • wmctrl是一个帮助与窗口管理器和打开窗口交互的程序。 更多信息在man wmctrl , 这和这个 askubuntupost
  • gnome-terminal -t WINDOM-TITLE调用具有特定标题的gnome-terminal窗口。 不需要创建不同的配置文件,尽管您可能会这样做。 请参阅ByteCommander的答案
  • wmctrl -r WINDOW-NAME -eg,x,y,w,h告诉具有特定标题WINDOW-NAME的窗口,其具有精确的重力参数,屏幕上的x位置,屏幕上的y位置,窗口宽度,窗口高度。

错误/怪癖

  • 显然hud会逐个执行所有操作,但是gnome-terminal可以更快地执行脚本的一部分,这就是为什么在捷径中我要求gnome-terminal -e '/home/username/bin/twoterm.sh' ; 这样就有一个gnome-terminal窗口被创建为分秒,允许两个正确执行脚本。

  • if语句的原因是脚本由于某种原因无法按顺序执行

  • sleep声明的原因是允许第二个窗口赶上第一个窗口。 显然,脚本不能同时调用两个wmctrl实例
  • 快捷方式+脚本只能执行一次。 如果不止一次调用脚本,最终会有多个窗口,但是wmctrl命令只会组织你第一次调用的原始两个窗口

截图:

在此处输入图像描述

替代脚本

按照ByteCommander的建议,我编辑了纯粹由/bin/sh执行的脚本并删除了if语句。

 #!/bin/bash # Author: Serg Kolo # Date: 2/18/2015 # Description: A simple script to create two windows on right side # of the screen with specific size. gnome-terminal -t WINDOW-ONE & gnome-terminal -t WINDOW-TWO & sleep 1 wmctrl -r WINDOW-ONE -e 0,1300,300,250,250 & wmctrl -r WINDOW-TWO -e 0,1300,0,250,250 &