web-dev-qa-db-ja.com

ターミナルショートカットctrl + alt + T、2つのターミナル、異なるサイズ

Ubuntuでは、サイズを変更するために(edit> profile preferences)を使用して、ターミナルのデフォルトサイズを変更できます。ターミナルを起動するためのショートカットをどのように使用できますか ctrl+alt+T 画面の右側に上下に配置されるように、サイズの異なる2つの端末を作成するには?そのため、一方の高さは他方よりも小さくなりますが、幅は等しくなります。

4
Gatis Seja

希望する結果を達成する方法に関する詳細かつテスト済みのガイドを提供します。

最初に手順の短い要約:

  • サイズと位置を指定して2つのターミナルウィンドウを開く短いbashスクリプトを記述します。
  • スクリプトファイルの「実行可能」フラグを設定します
  • スクリプトをテストします(タイプミスを回避し、すべてが機能することを確認します)
  • 古いターミナルショートカットを無効化/変更して、アクセラレータキーを解放する Ctrl+Alt+T
  • 新しいカスタムショートカットを設定する

詳細なガイドに従います:

(私の知る限り)キーボードショートカットを使用して1つのコマンドしか起動できないため、2つのウィンドウを開く短い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.

ジオメトリ値を少し試して、必要な方法でウィンドウのサイズと位置を調整できることに注意してください。サンプル値のみを使用しました。

これらの行(必要なのは1行目と#のない行のみ、他はコメントのみであるため)を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.shと入力して、スクリプトを実行します Alt+F2-HUD。プロファイルとサイズが異なる2つの新しいターミナルウィンドウが開きます。

これが機能する場合(間違いを犯し、すべての手順を再度確認して再試行する必要がある場合)、キーボードショートカットを設定できます。
システム設定パネルに移動し、キーボードShortcutsタブに変更し、左側のリストでLaunchersを選択します。右側のリストにLaunch terminalのショートカットが表示されます。

まず、このショートカットを無効にする必要があります(Enter Backspace 新しいショートカットとして)または(a)異なるキーを割り当てます Ctrl+Alt+T、後でカスタムショートカットに使用するため。

その後、左側のリストでカスタムショートカットを選択します。右側のリストの下にある+記号をクリックして、新しいショートカットを追加します。ウィンドウがポップアップし、ショートカットの名前(たとえば、Open Two Terminalsなど)と実行するコマンドの名前(以前に作成されたスクリプトファイルを入力、たとえばopen-two-terminals.sh)を要求します。 OKをクリックして確認します。
最後にやらなければならないのは、古い端末キーを割り当てることです Ctrl+Alt+T この新しいショートカットへ。したがって、アクセラレータキーを含む右の列をクリックします(デフォルト値はDisabled-重要です。タイトルを含む左の列をクリックするとポップアップウィンドウが開くためです) )そして、ショートカットに割り当てるキーを押し続けます。ショートカットのタイトルの左側に書かれているのが見えるはずです。

コントロールパネルを閉じて、新しいダブルターミナルショートカットをお楽しみください! :-D

この詳細なガイドがあなたを助け、あなたの質問を解決することを願っています。この場合、左側の灰色のチェックマークをクリックして回答を受け入れ、感謝を示してください。あなたやこれを読んでいる人に問題があったり、さらなる説明が必要だったり、エラーを見つけた場合は、コメントを残してください!

2
Byte Commander

基本手順:

  1. Sudo apt-get install wmctrl
  2. touch bin/twoterm.sh && Sudo chmod +x bin/twoterm.sh
  3. 以下のスクリプトをコピーして、bin/twoterm.shファイルに保存します
  4. コマンド `gnome-terminal -e /home/yourusername/bin/twoterm.shを呼び出すカスタムショートカットCtrl + Alt + Rを作成します。

スクリプト

#!/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 wmctrlthis および this の詳細情報askubuntuの投稿
  • gnome-terminal -t WINDOM-TITLEは、特定のタイトルのgnome-terminalウィンドウを要求します。異なるプロファイルを作成する必要はありませんが、そうすることもできます。そのためのByteCommanderの答えを参照してください
  • wmctrl -r WINDOW-NAME -e g,x,y,w,hは、特定のタイトルWINDOW-NAMEを持つウィンドウに、重力、画面のx位置、画面のy位置、ウィンドウの幅、ウィンドウの高さの正確なパラメーターを指定します。

バグ/癖

  • どうやらhudはすべてを1つずつ実行しますが、gnome-terminalはスクリプトの一部をはるかに高速に実行できるため、ショートカットではgnome-terminal -e '/home/username/bin/twoterm.sh'を呼び出しています。この方法では、1つのgnome-terminalウィンドウが一瞬で作成され、2つのスクリプトを適切に実行できます。

  • Ifステートメントの理由は、何らかの理由でスクリプトが連続して実行できないことです

  • sleepステートメントの理由は、2番目のウィンドウが最初のウィンドウに追いつくためです。どうやらスクリプトはwmctrlの2つのインスタンスを同時に呼び出すことはできません
  • ショートカット+スクリプトは1回のみ実行できます。スクリプトを複数回呼び出すと、複数のウィンドウが表示されますが、wmctrlコマンドは最初に呼び出した元の2つのウィンドウのみを整理します

スクリーンショット:

enter image description here

代替スクリプト

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 &
0