複数のペインを同時に開いた状態でtmuxを起動するにはどうすればよいですか?


23

+ + と+ + を起動tmuxしてすぐに実行するとします。Ctrlb%Ctrlb"

これにより、画面の左側に背の高いペインが表示されます。画面の右側には、上部ペインと下部ペインがあります。

これらのコマンドを入力せずに、tmuxをこの構成で開始するように構成するにはどうすればよいですか?


ワンクリックで一度にいくつかのターミナルを開く必要がある場合は、ターミネーターを使用して実行できます。ソフトウェアセンターからインストールします。
サガーナイア

ありがとう、それは知っておくべき良いコマンドです!私の特定のケースでは、これはリモートコンピューターへのsshセッション用です。
マークハリソン

回答:



15

設定には次のシェルスクリプトを使用できます。

#!/bin/sh 
tmux new-session -s "mySession" -d
tmux split-window -h
tmux split-window -v
tmux -2 attach-session -d 

これにより、前述のように次のコマンドを使用して画面の必要な構成が提供されます。tmux-> Ctrl+ b+ %-> Ctrl+ b+"

参考のために、tmux manページを使用してください


4

Byobuアプリケーションtmuxを使用すると、ログイン時に自動セッションを簡単に有効または無効にできます。このニーズに対応するためのインターフェイスとしてBy風を使用できます。これにより、求めていることを簡単に実行できます。ターミナルで、次のコマンドを実行します。tmux

sudo apt-get install byobu
sudo byobu-enable
sudo -i

rootユーザーがコンソール、SSH、またはを使用してログインするとsudo -i、Byobuは既存のtmuxセッションに接続するか、まだ実行されていない場合は新しいセッションを作成します。のsudo -i代わりに使用しますsudo -s。この-sオプションは、シェルを起動するだけで、ログインシェルは起動しません。を使用sudo -iして完全なログインをエミュレートする必要があります。これもを読み込みますroots ~/.profile。これは、実行時にbyobuがインストールされる場所です。

byobu-enable

.tmux.conf以下から異なるセッションを設定できます。

# initialize sessions
bind S source-file ~/.tmux/session1 
bind s source-file ~/.tmux/session2

そして、必要に応じてセッションをフォーマットできます。

#session1
new  -s SessionName -n WindowName Command
neww -n foo/bar foo
splitw -v -p 50 -t 0 bar
selectw -t 1 
selectp -t 0

これにより2つのウィンドウが開き、2番目のウィンドウの名前はfoo / barになり、垂直に半分(50%)に分割され、fooがbarの上で実行されます。フォーカスはウィンドウ2(foo / bar)、上部ペイン(foo)にあります。

Byobuは、tmuxのセットアップと起動を自動的に非常に簡単にします。


1
なぜbind Sbind s?(最初に大きいS、次に小さいS?)
knb

3

tmuxは、復活させるプラグインは、セッション持続性を設定するだけでなく、tmuxのセッション間で設定を保存し、復元するための追加機能を提供できるようになります。

多くの追加機能が利用可能です。プラグインWebページから:

" このプラグインは、tmux環境のすべての詳細を保存および復元するために非常に長くなります。ここで注意すべき点は次のとおりです。

  • すべてのセッション、ウィンドウ、ペイン、およびそれらの順序
  • 各ペインの現在の作業ディレクトリ
  • ウィンドウ内の正確なペインレイアウト(ズーム時でも)
  • アクティブおよび代替セッション
  • 各セッションのアクティブおよび代替ウィンドウ
  • 各ウィンドウにアクティブなペインがフォーカスされたウィンドウ
  • 「グループ化されたセッション」(複数のモニターでtmuxを使用する場合に便利な機能)ペイン内で実行されるプログラム!

インストール:

  1. ターミナルで、tmuxプラグインディレクトリ(私の場合は~/dotfiles/tmux/plugins)に移動します。
  2. 次のコマンドでリポジトリを複製しますgit clone https://github.com/tmux-plugins/tmux-resurrect

  3. .tmux.confファイルを編集して、行を追加しますset -g @plugin 'tmux-plugins/tmux-resurrect'

  4. 次のコマンドでtmux環境をリロードしますtmux source-file ~/dotfiles/tmux/tmux.conf
  5. 必要なレイアウトを入力します。この場合Ctrl- b %Ctrl- b "
  6. コマンドCtrl- b+ Ctrl-を入力して、tmuxセッションを保存しますs
  7. 次にtmuxセッションを開始するときに、コマンドCtrl- b+ Ctrl- rを入力してtmuxセッションを復元します。

前述のように、tmuxセッションのペインレイアウトの設定に加えて、このプラグインは永続的な作業ディレクトリを設定し、実行中のアプリケーションを各セッションで再起動させることもできます。


2

私は自分自身に小さなbashスクリプトを書きました:

# filename tmuxv in /home/<username>/Bash/tmuxv/

#!/bin/bash
tmux new-session \; split-window -v \; rename-window ${1} \; attach

そして、入れエイリアスを私の〜/ .bash_aliasesに

alias tmuxv="/home/<username>/Bash/tmuxv/tmuxv"

これで、入力するだけtmuxv PYTHONで、PYTHONという名前のウィンドウで垂直に分割されたtmuxセッションができます。これは、ウィンドウ名がgnome-terminalsタブ名に反映されるので便利です。


1
良い答えですが、最後に質問を削除してください。新しい質問として質問してみてください。これにより、より多くの人に見てもらうことができます。
トムブロスマン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.