Tmux垂直分割窗口并定义顶部窗格的高度。

问题描述 投票:1回答:1

我有一个小脚本,可以把我的终端变成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 -UTL;DR:我怎么能让右上角的窗格有一定的高度,而右下角的窗格占据了其余的空间?

先谢谢你

目前的结果。Current result

terminal nvidia tmux
1个回答
0
投票

通过移动全屏命令和使用固定它 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 \; \
© www.soinside.com 2019 - 2024. All rights reserved.