ウィンドウターミナルの現在のタブ(番号または場所)が何であるかをどうやって知ることができますか?

ウィンドウターミナルの現在のタブ(番号または場所)が何であるかをどうやって知ることができますか?

ctrlUbuntuとFedoraの場合、alt++でWindows端末を開くと、++で新しいタブを開くtことができます。 5つのタブがあるWindows端末があるとしましょう。可能であれば、+(1-5の場合があります)でそのうちの1つに移動してください...shiftctrltalt##

Window Terminalに9,10などのタブがある場合...

質問

  • 現在のタブが何であるかをどうやって知ることができますか?数量または場所。

次の状況を処理できます。

  • 後でどこに戻るかを知る方法(現在のタブが8で3に進み、後で8に戻る必要があるとします)。したがって、8を知って/取得する必要があります。
  • 現在のタブの次/前のタブは何ですか(現在のタブが7で、次のタブ8に移動する必要があるとします)。したがって、7を知って取得する必要があります。

コマンドを試しましたが、tty現在のタブが5かどうかが表示されます。/dev/pts/4ご覧のとおりN-1。ここまで簡単な数学を適用することができます/dev/pts/5なぜこのような違いがあるのか​​わかりません。。したがって、返された値は必ずしも正確ではありません。

さらに重要なことは、他のワークスペースに存在する場合その他一部のタブがあるウィンドウ端末でコマンドを実行すると、ttyランダムな数字が表示されます。通常、前のウィンドウ端末の最高のタップ+1が連続する。したがって、最初のウィンドウ端末の最初のタブに5つのタブがある場合、2番目のウィンドウ端末の最初のタブがtty表示/dev/pts/5(N-1)または直接表示されます/dev/pts/6。ただし、期待どおりに/dev/pts/1新しいタブを開くと、相関関係は1から始まるはずです。

観察するタブが別の場所に移動(ドラッグアンドドロップ)されている場合は、「コマンド」に新しい位置/番号付けを反映する必要があります。

ノートこれがtty正しいコマンドではない場合でも、どのコマンドでこれを達成できますか?

答え1

gnome-terminal私はこれがこのプラットフォームのデフォルトのデスクトップ環境であるGnomeが使用するデフォルトであるため、これを使用していると仮定します。 (おそらく他の端末エミュレータを使用している場合はそう言うでしょう!)

私が知る限り、そのような順序はありません。タブ(主にシェル)で実行されているプログラムは、タブについてほとんど知りません。そうではないしなければならない到着!また、「タブ」と「仮想コンソール」(技術的に特定のpttyを1つ、複数、または全くタブなしで表示するために使用できるgnomeターミナルサーバー)の間には間接層があります。通常は動作しない特定のタブには常にあります。ただし、これはあなたが興味を持っている状況に適用されることがあります。

あなたができることは、$GNOME_TERMINAL_SCREEN環境変数を使用して実行中の端末エミュレータセッションに関する情報を取得することです。これにはdbusパスが含まれていますが、「高速」内部チェックによると、開いているタブのリストを取得し、タブからコマンドを実行できますが、それはすべてです。

したがって、そのような命令が存在しないという事実に加えて、望むことは不可能であるようです。


解決したい問題を解決する達成する:

現在のタブが8で3に行き、後で8に戻るにはタブが必要だとします。

タブの現在のタイトルを手動で設定できるので(タブのタイトルを右クリックして「タイトルの設定...」)、どのタイトルがどこにあるかを確認できます。

しかし、正直に言うと、あなたは仮想端末をたくさん使う「上級ユーザー」のように聞こえますgnome-terminaltmuxいわゆるいくつかのことがあります窓ガラス一度に表示することも、複数表示することもできます。Windows(X11 / waylandの意味のウィンドウと混同しないでください。)必要に応じて、名前の変更、移動、並べ替え、開く、閉じるなどを行うことができるウィンドウが含まれています。これらはすべて単一のGNOME端末インスタンス内で発生します。

tmuxグラフィックの世界に従事している人であれば(みんなが1987年以降に生まれた人でしょう)、多少混乱するかもしれませんが、はじめにガイド実際には大丈夫です。上から下に読んでいるときは、途中に進みようとしないでください。 「ねえ、私がその中でウィンドウを実行していたのを覚えていますが、nvimすべてのウィンドウでそのウィンドウを検索できますか?」などの巧妙なタスクを実行できます。

一度試してみてください。 tmuxをインストールし、tmuxgnome端末で実行します。一般的なシェルと奇妙な小さなステータスバーがあなたを迎えます。

top継続的に実行されているシステム負荷モニターを入手するには、実行してください。これがシステムモニタがあるウィンドウであることを覚えたいので、ctrl+をクリックbしてからをクリックします,。ステータスバーに注意してください!これで、ウィンドウに新しい名前を付けるように求められます。 「システムモニタリング」が効果があると思います。あなたに走りました。いいですね。キーボードショートカットがあるようです。キーボードショートカットはあまり覚えていません。だから私はtmuxコマンドインターフェイスを好みます。ctrl+を押してbからを押します:。これでコマンドを入力できます。を入力split -hしてクリックしますEnter(自動補完機能もありますtab)。ジャック、もう2つ残っていますね。窓ガラスあなたのウィンドウで(h水平に分割)。ディスクの空き容量を監視したいので、この新しいウィンドウで実行してみてくださいwatch df -h

今、新しいtmux "ウィンドウ"が必要です。ctrl+ bc(reatecなどc)キーの組み合わせを覚えています。私は私のお気に入りのエディタをその中で実行します(私の場合はこれですが、あなたの場合はそうかもしれませんnvim、、、、、emacs...私は判断しません)。ここで私がしたことを覚えたかったので、ウィンドウの名前を変更しました。さて、今回はキーボードショートカット(+)を使うのではなく簡単に実行します。vimvinanoed
ctrlbtmux rename-window "config edit"

しばらくこのゲームをプレイできるようになり、セッションに何百ものウィンドウが表示されます。ステータスバーにこれらの内容が一覧表示されていますが、本当に役に立ちますか?もちろん、ctrl+を使用するとbfウィンドウを検索できます。エディタが遅くなる前におばあちゃんに手紙を書き始め、システムモニタを確認し、いくつかの設定ファイルの編集を始めました。アイデアを得ました。


^dbus-send --session --print-reply --type=method_call --dest=org.gnome.Terminal "$GNOME_TERMINAL_SCREEN" org.freedesktop.DBus.Introspectable.Introspect

²dbus-send --session --print-reply --type=method_call --dest=org.gnome.Terminal /org/gnome/Terminal/screen org.freedesktop.DBus.Introspectable.Introspect

答え2

Konsole環境変数を使用してください。他の端末エミュレータについてはわかりません。

#↳ set | grep -i kon
KONSOLE_DBUS_SERVICE=:1.955
KONSOLE_DBUS_SESSION=/Sessions/2
KONSOLE_DBUS_WINDOW=/Windows/1
KONSOLE_VERSION=221203

一意のウィンドウと=タブを識別するには、SESSION/タプルを使用する必要があるようです。WINDOWsession

tmuxこれを行うには、より強力なツールを使用することをお勧めします。

関連情報