Gnome-Terminal 或任何可选项卡的 shell 中是否有打开新选项卡的命令?

Ano*_*non 11 command-line bash gnome-terminal console guake

我不是在寻找键盘快捷键,而是想要一个命令:

  • 新窗户
  • 新标签
  • 关闭当前选项卡或窗口
  • 最大化壳窗口
  • 最小化外壳窗口
  • 将 Shell 移至不同的工作区
  • 切换标签

基本上是这样的。记住; 我不想要快捷方式,而是想要实际的命令。这样做的原因是我可以利用别名功能。

Kaz*_*lfe 14

默认情况下,您无法在 Gnome-Terminal 中执行此操作,至少使用原始命令是这样。

但是,您可以编写调用可以执行此操作的键盘快捷键的脚本。请注意,您需xdotool要这样做:sudo apt install xdotool

  • 新窗口:使用 启动一个新的终端窗口nw
    我们可以只用gnome-terminal.
    添加到.bashrc

    echo "alias nw=gnome-terminal" >> ~/.bashrc
    
    Run Code Online (Sandbox Code Playgroud)
  • New Tabnt
    使用xdotool getactivewindow $(xdotool key ctrl+shift+t)
    Add to.bashrc启动一个新标签我们可以做到这一点:

    echo "alias nt='xdotool getactivewindow $(xdotool key ctrl+shift+t)'" >> .bashrc
    
    Run Code Online (Sandbox Code Playgroud)
  • 关闭选项卡ct
    xdotool再次点击关闭当前选项卡或窗口:xdotool getactivewindow $(xdotool key ctrl+shift+w)
    添加到.bashrc

    echo "alias ct='xdotool getactivewindow $(xdotool key ctrl+shift+w)'" >> .bashrc
    
    Run Code Online (Sandbox Code Playgroud)
  • 最大化窗口:最大化整个窗口maw
    我们可以wmctrl在这里使用:wmctrl -r :ACTIVE: -b toggle,maximized_vert,maximized_horz
    添加到.bashrc

    echo "alias maw='wmctrl -r :ACTIVE: -b toggle,maximized_vert,maximized_horz'" >> .bashrc
    
    Run Code Online (Sandbox Code Playgroud)
  • Minimize Window:最小化整个窗口miw
    我们可以xdotool再次使用:xdotool windowminimize $(xdotool getactivewindow)
    添加到.bashrc

    echo "alias miw='xdotool windowminimize $(xdotool getactivewindow)'" >> .bashrc
    
    Run Code Online (Sandbox Code Playgroud)
  • 移动到工作区:将窗口移动到另一个工作区,mtw <id>
    这在 shell 脚本中几乎不可能,并且超出了我的个人经验。我建议为此目的使用 Serg 的脚本,因为它现在确实有效。啊,Compiz 的好处。


Ser*_*nyy 7

介绍

此答案中提供的脚本允许用户通过一个命令和选项列表来控制他们的终端窗口。它易于使用并与任何具有类似于gnome-terminal. 移动选项也可用于其他终端,但不保证这些终端的选项卡打开。

该脚本涵盖选项卡打开、窗口打开、向下移动到工作区、右侧工作区、由整数引用的特定工作区、最小化、最大化和取消最大化窗口。脚本没有涵盖的唯一一件事是关闭选项卡/窗口,因为每个 shell/终端模拟器已经有一个命令 -exit或者通过CtrlD快捷方式。

!!!注意:您将需要xdotool工作区切换和选项卡打开。通过sudo apt-get install xdotool. 如果您不想安装额外的软件包,请记住工作区和选项卡切换不起作用,但其他选项可以。

用法:

to 的所有参数windowctrl.py都是可选的,因此它们可以单独使用,也可以一起使用。如-h选项所示。

$ ./windowctrl.py -h                                                                               
usage: windowctrl.py [-h] [-w] [-t] [-m] [-M] [-u] [-v VIEWPORT] [-r] [-d]

Copyright 2016. Sergiy Kolodyazhnyy.

    Window control for terminal emulators. Originally written
    for gnome-terminal under Ubuntu with Unity desktop but can 
    be used with any other terminal emulator that conforms to 
    gnome-terminal keybindings. It can potentially be used for 
    controlling other windows as well via binding this script
    to a keyboard shortcut.

    Note that --viewport and --tab options require xdotool to be
    installed on the system. If you don't have it installed, you 
    can still use the other options. xdotool can be installed via
    sudo apt-get install xdotool.


optional arguments:
  -h, --help            show this help message and exit
  -w, --window          spawns new window
  -t, --tab             spawns new tab
  -m, --minimize        minimizes current window
  -M, --maximize        maximizes window
  -u, --unmaximize      unmaximizes window
  -v VIEWPORT, --viewport VIEWPORT
                        send window to workspace number
  -r, --right           send window to workspace right
  -d, --down            send window to workspace down
Run Code Online (Sandbox Code Playgroud)

脚本源代码:

脚本源代码可在 GitHub 和此处获得。最新的更改可能会进入 GitHub 而不是这里,所以我强烈建议在那里检查最新版本。还建议在那里发布错误报告。

$ ./windowctrl.py -h                                                                               
usage: windowctrl.py [-h] [-w] [-t] [-m] [-M] [-u] [-v VIEWPORT] [-r] [-d]

Copyright 2016. Sergiy Kolodyazhnyy.

    Window control for terminal emulators. Originally written
    for gnome-terminal under Ubuntu with Unity desktop but can 
    be used with any other terminal emulator that conforms to 
    gnome-terminal keybindings. It can potentially be used for 
    controlling other windows as well via binding this script
    to a keyboard shortcut.

    Note that --viewport and --tab options require xdotool to be
    installed on the system. If you don't have it installed, you 
    can still use the other options. xdotool can be installed via
    sudo apt-get install xdotool.


optional arguments:
  -h, --help            show this help message and exit
  -w, --window          spawns new window
  -t, --tab             spawns new tab
  -m, --minimize        minimizes current window
  -M, --maximize        maximizes window
  -u, --unmaximize      unmaximizes window
  -v VIEWPORT, --viewport VIEWPORT
                        send window to workspace number
  -r, --right           send window to workspace right
  -d, --down            send window to workspace down
Run Code Online (Sandbox Code Playgroud)

旁注

  • 您问“Gnome-Terminal 或任何可选项卡的 shell 中是否有打开新选项卡的命令?” Gnome 终端手册没有列出这样的选项。shell 是命令行实用程序。选项卡是 GUI 应用程序的功能。有像screentmux这样的终端多路复用器可以有“选项卡”或拆分窗口,这有点接近“可选项卡的外壳”,但这与您要求的行为类型不同。基本上,您的问题的答案是“否”。总有其他选择,我的回答提供了其中之一。它根据其性质处理终端窗口 - X11 GUI 窗口。

  • 这个答案与别名有什么关系?好吧,首先别名可能有点混乱,尤其是在引用和解析多个命令的多个输出时。该脚本为您提供了一个集中式命令,带有标志/开关以在窗口上执行离散任务。它还使别名更简单。你可以做alias nw='windowctrl.py --window'。更短,更整洁。