如何在同时打开多个窗格的情况下启动 tmux?

Mar*_*son 37 tmux

假设我开始tmux并立即执行Ctrl+ b+%Ctrl+ b+ "

这让我在屏幕左侧有一个高大的窗格;屏幕右侧有一个顶部和底部窗格。

如何配置 tmux 以在此配置中启动而无需键入这些命令?

use*_*.dz 33

另一种选择是为以下内容创建别名或另一个 shell 文件/bin

tmux new-session \; split-window -h \; split-window -v \; attach
Run Code Online (Sandbox Code Playgroud)

或者

tmux source-file ~/.tmux.conf
Run Code Online (Sandbox Code Playgroud)

在哪里 ~/.tmux.conf

new
neww
splitw -h
splitw -v
Run Code Online (Sandbox Code Playgroud)

作为参考,同样的问题在 SE 中有其他选项,如何设置 tmux 以便它在指定的窗口打开时启动?

  • 给其他人的提示,上述答案仅适用于预先存在的“tmux”会话。要从通用终端会话执行此操作,请执行以下命令:`tmux new-session -s <SESSION_NAME> "tmux source-file '$~/.tmux.conf'"`。为方便起见,您应该将此命令别名为 `bash` 函数。你的 `tmux.conf` 应该包含上面答案中列出的内容。 (3认同)

小智 19

您可以使用以下 shell 脚本进行配置:

#!/bin/sh 
tmux new-session -s "mySession" -d
tmux split-window -h
tmux split-window -v
tmux -2 attach-session -d 
Run Code Online (Sandbox Code Playgroud)

这将使用您提到的以下命令提供所需的屏幕配置。tmux --> Ctrl+ b+ %--> Ctrl+ b+"

作为参考,请使用tmux 手册页


Abh*_* T. 5

tmux使用Byobu应用程序可以轻松启用和禁用登录时的自动会话。您可以使用 Byobu 作为接口来tmux满足此需求,它可以轻松完成您的要求。在终端中,运行以下命令:

sudo apt-get install byobu
sudo byobu-enable
sudo -i
Run Code Online (Sandbox Code Playgroud)

当 root 用户通过控制台、SSH 或使用 登录时sudo -i,Byobu 将附加到现有tmux会话或创建一个新会话(如果尚未运行)。使用sudo -i代替sudo -s。该-s选项仅启动 shell,而不是登录 shell。您应该使用sudo -i模拟完整登录,该登录也会加载roots ~/.profile,这是运行时 byobu 将自行安装的位置

byobu-enable.

您可以从.tmux.conf以下配置不同的会话:

# initialize sessions
bind S source-file ~/.tmux/session1 
bind s source-file ~/.tmux/session2
Run Code Online (Sandbox Code Playgroud)

然后您可以根据需要格式化会话:

#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
Run Code Online (Sandbox Code Playgroud)

这将打开 2 个窗口,其中第二个窗口将被命名为 foo/bar 并且将垂直分成两半 (50%),foo 在 bar 上方运行。焦点将在窗口 2 (foo/bar)、顶部窗格 (foo) 中。

Byobu 使自动设置和启动 tmux 变得非常简单。


Kev*_*wen 5

TMUX-复活插件将使建立会话持久性以及保存和跨TMUX会话恢复设置提供额外的功能。

此插件提供了许多附加功能。从插件的项目页面:

这个插件不遗余力地从你的 tmux 环境中保存和恢复所有细节。以下是已处理的内容:

  • 所有会话、窗口、窗格及其顺序
  • 每个窗格的当前工作目录
  • 窗口内的精确窗格布局(即使放大)
  • 主动和替代会议
  • 每个会话的活动和替代窗口
  • 每个窗口都有焦点活动窗格的窗口
  • “分组会话”(将 tmux 与多个监视器一起使用时的有用功能)程序在窗格中运行!

安装:

  1. 在终端 ( Ctrl+ Alt+ t) 中,导航到您的 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 会话的窗格布局之外,该插件还可以设置持久工作目录,以及让您正在运行的应用程序在每个会话中重新启动。