`Ctrl-Alt-T`ショートカットで既存のターミナルにフォーカスする


16

私は端末をよく使いますが、

私が作ることができる方法がある場合、私は疑問に思ってCtrl+ Alt+がT存在する場合、既存の端末を集中は、そうでない場合は、新しいターミナルを作成しますか?

回答:


24

GNOMEターミナルを起動する小さなスクリプトを作成します。

echo 'xdotool windowactivate $(xdotool search --onlyvisible --class gnome-terminal)'> ~/raiseterminal.sh && chmod +x ~/raiseterminal.sh

または、ターミナルが既に実行されているかどうかを確認する場合は、次を使用します。

echo -e $'if ps aux | grep "[g]nome-terminal" > /dev/null\n then xdotool windowactivate $(xdotool search --onlyvisible --class gnome-terminal)\n else gnome-terminal &\nfi' > ~/raiseterminal.sh && chmod +x ~/raiseterminal.sh

これにより、次のコンテンツで〜/ raiseterminal.shスクリプトが作成されます。

if ps aux | grep "[g]nome-terminal" > /dev/null                                                                                                                                                                                
 then xdotool windowactivate $(xdotool search --onlyvisible --class gnome-terminal)                                                                                                                                            
 else gnome-terminal&                                                                                                                                                                                                          
fi          

設定を開いてカスタムキーボードショートカットを設定し、コマンドを/home/$USER/raiseterminal.shに設定しますが、$ USERを実際のユーザー名に変更してください。

特定の画面またはデスクトップ上でのみ端末を上げる場合xdotool search --helpは、これを行う方法の詳細を参照してください。

また、他のウィンドウマネージャーと連携して動作するさまざまな方法があります。


| head -n1複数のウィンドウが見つかった場合にエラーを防ぐために、gnome-terminalウィンドウを検索した後にa を追加できます
-ggalmazor

8

試してみませんtildaguake、どちらもubuntuリポジトリで利用可能です。彼らはあなたが望んでいることを特にしていませんが、彼らはあなたが探していたものであると確信していますが、それが存在することを知りませんでした。;)

編集:わかりました、私は少しあいまいでした、詳細は次のとおりです:

ウィキペディアから:

TildaはGTK +端末エミュレーターです。そのデザインは、キー(通常はチルダ)が押されると画面の上部から下にスライドし、キーが再度押されると元に戻るスライドなどのコンピューターゲームのコンソールからインスピレーションを受けました。

Tildaの実行は、プログラムが既にメモリにロードされているため、キーボードショートカットを使用して新しいターミナルを起動するよりも高速です。奇妙なタスクのために端末を頻繁に開いたり閉じたりすることに気づく人にとって有用です。

guake 本当に同じことですが、気づいた唯一の違いは、ctrl +クリックでhttpリンクを開くことができなかったということです


1

私のバージョン(=

アプリを実行/レイズするスクリプト:

PID=$$
xdotool search --class $1 | while read line
do
  echo "$line"
  if [ `xdotool windowactivate $line 2> /dev/stdout | grep -c fail` -eq 0 ]
    then
    kill $PID
    exit
  fi
done
## Launch the program if we reach here
$1 & disown

例えば

sh ~/raise.sh chromium

0

試してみる

sudo apt-get install wmctrl
wmctrl -xa 'gnome-terminal-server.Gnome-terminal'

システム設定-Keyboradに移動し、カスタムショートカットを追加して、そこにwmctrlコマンドを貼り付けます。できます。

gnome-terminal- *文字列は

wmctrl -xl

0

さらに別のオプション:起動または切り替え。スクリプトは、ウィンドウが既に開いているかどうかを確認するためにwmctrlに依存しています。存在する場合、スクリプトは既存のものに切り替え、現在のデスクトップ上の既存のウィンドウを優先します。それ以外の場合、新しいウィンドウが起動されます。このスクリプトはVaughn Dicksonによって公開されています。

#!/bin/sh

terminal_wm_class="gnome-terminal"
terminal_exec="gnome-terminal"

# no terminal started, so start one
if [ -z "`wmctrl -lx | grep gnome-terminal`" ]; then
    $terminal_exec &
else
    # search for existing terminals on current desktop
    current_desk=`wmctrl -d | grep '*' | cut -d ' ' -f 1`
    term_on_this_desk=`wmctrl -lx | grep "$current_desk[ ]*$terminal_wm_class" | cut -d ' ' -f 1`
    if [ -n "$term_on_this_desk" ]; then
        wmctrl -i -a $term_on_this_desk
    else
        # no terminals on current desktop, so just open the first one we find
        wmctrl -x -a $terminal_wm_class
    fi;
fi;

このスクリプトをホームフォルダーのbinフォルダーに配置し、実行可能にします。次に、キーボードショートカット(設定-キーボード)で、[ランチャー]セクションの下にある[ターミナルの起動]の既存のホットキーを無効にします。クリックして、Backspaceを押し、現在の割り当てを無効にします。次に、[カスタムショートカット]セクションで、[+]アイコンをクリックして新しいカスタムショートカットを作成します。「コマンド」としてスクリプトの名前を入力し、Ctrl+ Alt+ tショートカットを割り当てます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.