【问题标题】:Tmux split window vertically and define top pane's heightTmux 垂直拆分窗口并定义顶部窗格的高度
【发布时间】:2020-05-19 11:10:33
【问题描述】:

我有一个小脚本,可以将我的终端变成 GPU 的监控视图。我在其中一个窗格中运行的nvidia-smi -l 1 命令要求它具有一定的高度,我可以使用

根据 GPU 进程的数量来计算
smi_processes=$(nvidia-smi pmon -c 1 | wc -l)
smi_height=$((${smi_processes} + 3))

(还没有进行适当的计算。) 我希望这个过程在右上角的窗格中运行,但不知道如何为该窗格分配一定的高度。我可以很好地定义右下窗格的高度。 这是我当前的脚本:

smi_processes=$(nvidia-smi pmon -c 1 | wc -l)
smi_height=$((${smi_processes} + 3))
tmux \
    new-session  'htop' \; \
    split-window -h 'nvidia-smi -l 1' \; \
    split-window -v \; \
    split-window -v 'xdotool key F11'\; \

这将平均分割右侧的两个窗格,然后将终端设置为全屏。我可以用split-window -v -l [height] \; \ 定义底部窗格的高度,但这意味着顶部窗口在不同尺寸的显示器或不同的终端设置上会有不同的高度。 我尝试在底部窗格中生成进程,调整其大小,然后使用swap-pane -U 向上交换窗格,但大小链接到底部窗格。 TL;博士: 我怎样才能让右上角的窗格有一定的高度,而右下角的窗格占据其余的空间?

提前致谢!

当前结果:

【问题讨论】:

  • 你试过resize-pane -y命令吗?
  • @meuh 我已经用这个命令玩了很多次,但现在终于设法让它工作了

标签: terminal nvidia tmux


【解决方案1】:

通过移动全屏命令并使用resize-pane -yselect-pane 修复它:

smi_processes=$(nvidia-smi pmon -c 1 | wc -l)
smi_height=$((${smi_processes} + 5))
tmux \
    new-session  'htop' \; \
    split-window -h 'nvidia-smi -l 1' \; \
    split-window -v \; \
    split-window -v 'xdotool key F11'\; \
    select-pane -t 1 \; \
    resize-pane -y $smi_height \; \
    select-pane -t 2 \; \

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-14
    • 2017-09-30
    • 2012-04-18
    • 1970-01-01
    • 2011-02-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多