如何在 cron 启动的会话中设置 tmux 的窗口大小?

如何在 cron 启动的会话中设置 tmux 的窗口大小?

在我的 crontab 中,我引用了一个 shell 脚本 ,print-size其中包含以下几行。

#!/bin/sh
tmux new-session -t check-size -d
tmux send-keys -t check-size 'echo $COLUMNS $LINES' C-m

当此脚本作为 cron 作业执行时,它会打印80 23,显然是因为默认终端大小为 80x24。如果我从终端窗口执行此 shell 脚本,它会打印该终端窗口的大小(减去 tmux 状态行的一行)。

有没有办法影响 tmux 窗口的大小,以便上面的脚本132 42在 cron 作业中打印不同的内容?

如果重要的话,这是针对 Ubuntu 14.04 的,但我怀疑在任何 *nix 中都有相同的行为。

答案1

检查源代码是正确的方法:tmux只查看系统对 中大小的概念check-size,在此之前,当附加到或创建会话时,它以 24x80 开始。后者可通过命令行-x-y选项进行配置。

手册页将此列于new-session

新会话将附加到当前终端,除非-d给出。 window-name 和 shell-command 是在初始窗口中执行的 shell 命令的名称。如果-d用来,-x-y指定初始窗口的大小(如果未给出,则为 80 x 24)。

相关内容