terminal - Tmux 垂直拆分窗口并定义顶部窗格的高度
问题描述
我有一个小脚本,可以将我的终端变成 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;DR:我怎样才能让右上角的窗格有一定的高度,而右下角的窗格占据其余空间?
提前致谢!
解决方案
通过移动全屏命令并使用resize-pane -y
and来修复它select-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 \; \
推荐阅读
- javascript - 有没有办法通过代码将长字符串压缩为较小的字符串,反之亦然?
- java - 在不使用元素数组的情况下从“forEach”赋值
- colors - 如何设置滑块制作的海龟颜色?
- reactjs - Webpack 4 中的代码拆分和动态加载以及可加载的反应
- android - Gradle 错误:发现多个文件与操作系统无关路径 'META-INF/androidx.localbroadcastmanager_localbroadcastmanager.version'
- jquery - jquery关于方法不使用第二个参数
- sql - 两次调用过程并在第二次调用时获取 COUNT(*) 更快还是在获取记录列表时执行 COUNT(*) OVER() 更快?(PostgreSQL)
- arrays - 使用 awk BEGIN 创建循环
- javascript - Tensorflow 和 Tensorflow.js 之间的区别?
- r - Stata 上的编码帮助