Cron

如何在 cron 啟動的會話中設置 tmux 的視窗大小?

  • July 24, 2016

在我的 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 中都有相同的行為。

檢查原始碼是要走的路:tmux只查看系統的大小概念,在此check-size之前,當附加到或創建會話時,它以 24x80 開頭。後者可通過命令行-x-y選項進行配置。

手冊頁在new-session

**-d除非給出,否則新會話將附加到目前終端。window-name 和 shell-command 是在初始視窗中執行的 shell 命令的名稱。如果-d使用,-x-y**指定初始視窗的大小(如果沒有給出,則為 80 x 24)。

引用自:https://unix.stackexchange.com/questions/297887