如何同时显示多个终端

有时当我工作时,我使用多个终端,当我们使用Ctrl + Alt + T调用所有终端时,我发现在它们之间切换是不方便的。 是否有任何程序或终端在启动后会为我提供4个独立的终端,每个终端会占用屏幕的1/4,同时可以轻松地在它们之间切换,例如使用Tab键?

你需要终结者

 sudo apt-get install terminator 

终结者4窗口

对于启动时的四个终端,请执行以下操作:

  • 启动终结器
  • 拆分终端Ctrl + Shift + O.
  • 拆分上部端子Ctrl + Shift + O.
  • 拆分下端子Ctrl + Shift + O.
  • 打开首选项并选择布局
  • 单击“ 添加”并输入有用的布局名称并单击“ 输入”
  • 关闭首选项终结器
  • 使用此命令打开终结器

     terminator --maximise --layout= 

    或使用此命令:

     terminator --maximise --borderless --layout= 

使用Ctrl + Tab在终端窗口之间跳转。

您可以在“键盘设置”>“快捷方式”中将个人终结器命令分配给Ctrl + Alt + T. (Thx @Wilf )

当然,您也可以创建一个terminator.desktop文件。 复制原始桌面文件并进行更改:

 cp /usr/share/applications/terminator.desktop ~/.local/share/applications/ nano ~/.local/share/applications/terminator.desktop 

您可以使用Ctrl + Alt + T启动4个终端并使用Ctrl + Alt + Numpad [1,3,7,9]或左/右使用Ctrl + Alt + Numpad [4/6]将它们安装到屏幕边缘或者顶部/底部Ctrl + Alt + Numpad [8/2]并使用Alt + Tab切换到一个终端,并在终端之间使用Alt + 键,如果一个处于活动状态。

要么

您可以使用Ctrl + Shift + T选项卡,并使用Alt + Page-Up / Page-Down在终端之间切换。

作为另一种选择,我建议使用byobu

Byobu是一个基于GPLv3开源文本的窗口管理器和终端多路复用器。 它最初设计用于为Ubuntu服务器分发提供function强大,简单实用的GNU Screen的优雅增强function。 Byobu现在包括增强的配置文件,方便的键绑定,配置实用程序,以及GNU Screen窗口管理器和更现代的Tmux终端多路复用器的可切换系统状态通知,并适用于大多数Linux,BSD和Mac发行版。

它的优点是它是基于文本的,这意味着您可以在没有图形环境的情况下使用它! 这在处理通常没有GUI的服务器时非常有用。

您甚至有一个底部状态栏,其中包含许多有用的信息,例如日期/时间,平均负载等。

如果您使用Byobu,您必须知道的快捷方式是:

  • F2会创建一个新标签。
  • Shift + F2会创建一个新的拆分选项卡(这会水平拆分当前选项卡)。
  • F3F4在标签之间切换。
  • F9配置Byobu。

sudo apt-get install byobu将安装Byobu。

作为奖励,作为终端多路复用器,这意味着如果您错误地关闭终端,您将不会丢失会话和标签。 你可以在另一个终端运行byobu并获得同步输出。

如果您希望在重新启动后保持会话,甚至还有用于保存布局的脚本。

就个人而言,我使用带有Mx ansi-termMx shell emacs取决于我在做什么。

但是如果你只是寻找一个终端多路复用器,那么总会有悄然受到尊敬的tmux

http://tmux.sourceforge.net/

编辑:JoKeR指出你可以用apt-get安装tmux

 $ sudo apt-get install tmux 

只需调整终端窗口的大小,它们都适合屏幕的一角。 终端也可以有标签,这可能会有所帮助。 右键单击窗口并选择“ New Tab

以下是如何使窗口能够调整到角落的大小:

  1. 运行sudo apt-get install compizconfig-settings-manager
  2. 在Unity Dash中运行sudo ccsm或搜索ccsm
  3. 向下滚动,直到在Window Management下找到Grid 。 确保它已启用。
  4. 转到“ Corners / Edges选项卡,将“ Corner选项更改为相应的角。

您可以使用终端多路复用器tmux

 sudo apt-get install tmux 

对于四个面板,您可以使用此脚本4pSession ,使用创建脚本

 mkdir -p ~/bin touch ~/bin/4pSession chmod +x ~/bin/4pSession nano ~/bin/4pSession 

并添加以下代码

 #!/usr/bin/env bash # if the session is already running, just attach to it. tmux has-session -t 4panel if [ $? -eq 0 ]; then sleep 1 tmux attach -t 4panel else tmux new-session -d -s 4panel tmux split-window -v tmux split-window -h tmux select-pane -t 0 tmux split-window -h tmux select-pane -t 0 tmux -2 attach-session -d fi 

比你可以创建一个桌面文件:

 nano ~/.local/share/applications/tmux.desktop 

有这个内容:

 [Desktop Entry] Name=tmux Comment=a terminal multiplexer Exec=//4pSession Icon=terminal Terminal=true Type=Application Categories=Terminal; 

使用Ctrl + B在窗格之间移动

在此处输入图像描述

我对这个问题的粗略贡献:安装wmctrl并调整下面的脚本,打开并将四个终端窗口定位到你的屏幕。 首先使用xwininfo -root找出屏幕大小,然后调整-e参数(它们的顺序为0,x位置,y位置,宽度,高度)。 我用下面的数字只是例子

 #!/bin/bash # Author: Serg Kolo # Date: 2/18/2015 # Description: Open 4 terminals and position them gnome-terminal -t WINDOW-ONE & gnome-terminal -t WINDOW-TWO & gnome-terminal -t WINDOW-THREE & gnome-terminal -t WINDOW-FOUR & sleep 0.5 wmctrl -r WINDOW-ONE -e 0,0,0,500,250 & sleep 0.5 wmctrl -r WINDOW-TWO -e 0,0,384,500,250 & sleep 0.5 wmctrl -r WINDOW-THREE -e 0,500,0,500,250 & sleep 0.5 wmctrl -r WINDOW-FOUR -e 0,500,384,500,250 & 

您可以将其绑定为快捷方式,例如Ctrl + I或其他。 另一个没有安装wmctrl的想法是打开4 --geometry=选项

我强烈推荐tmux。 它提供了大量的自定义function,并且完全独立于鼠标(如果需要考虑的话)。 您可以水平,垂直拆分屏幕,通过一些按键在它们之间切换,打开会话并稍后重新连接,等等。

打开4个终端窗口,在其中一个窗口工作时,如果想使用键盘,我可以简单地用Alt +`(左勾选)切换它们,或者只需点击终端的启动器图标即可显示所有窗口和点击选中的一个。

在此处输入图像描述

我的安装是Ubuntu 14.04,带有默认(Unity 3D)桌面,并且已更新至今。

当默认的Ubuntu安装已经提供该function时,我不明白为什么人们会复杂化并安装第三方产品。

你也可以使用Gnu Screen,并使用垂直分割和水平分割。

你可以将它们放在你的~/.screenrc配置文件中。 我已经能够使用大多数gnu屏幕进行拆分,并对.screenrc文件进行适当调整。

下面的一些组合应该在你的.screenrc

 screen -t tl 1 bash split focus down screen -t bl 3 bash split -v focus down screen -t br 4 bash select 1 split -v focus down screen -t tr 2 bash 

我把它设置为6屏幕一次。 inheritance我的剩余配置

  30 ## 1 a local bash 31 # screen -t host03 1 bash 32 #sessinoname blamb1 33 34 ## 2 ssh to host04 35 # split -v 36 # focus 37 # select 2 38 # resize -6 39 # screen -t host04 2 ssh host04 40 # caption string "%{kk}XXXXXXX" 41 42 ## 3 bashed 43 # focus 44 # select 1 45 # split 46 # focus 47 # select 3 48 # screen -t bashed 3 bash 49 #exec ssh host04 50 # caption string "%{kk}XXXXXXX" 51 52 ## 4 bashedup 53 # split 54 # focus down 55 # screen -t bashedup 4 bash 56 # caption string "%{kk}XXXXXXX" 57 58 ## 5 compass 59 # split 60 # focus down 61 # resize -14 62 # screen -t compass 5 bash 63 # leave caption commented till resize works 64 #caption string "%{kk}XXXXXXX" 65 66 #focus up 67 68 69 ## 5mysql 70 # exec mysql -p 71 # screen -t mysql 5 mysql 72 73 ## 6php 74 # screen -t php.ini 6 vim /etc/php/php.ini 75 # select php.ini 76 # chdir /etc/php 77 # exec vim php.ini 

你可以使用应用程序“屏幕”

运行以下命令安装屏幕:

 apt-get install screen 

要validation是否已安装屏幕,请运行

 screen -v 

在屏幕会话中,您可以通过按CTRL + A,然后按C来创建新窗口。您的旧窗口将保持活动状态,您可以执行其他任务。 要在窗口之间切换,请按CTRL + A,然后按N(对于下一个窗口)或按CTRL + A,然后按P.