点击<tmuxPrefix> + t
会显示我服务器上的时间,但我希望它显示我当前时区的时间,而不是服务器的时区。
当我想在当前时区的状态栏中显示时间时,我遇到了同样的问题。
我能够使用以下命令部分修复它:
set -g status-right '#(TZ="Asia/Kolkata" date )'
但是当我在状态中使用 %H
、%M
、 %S
等修饰符时,如下所示,它最终会显示服务器时区的时间。
set -g status-left '%H:%M:%S'
我已经用TZ="Asia/Kolkata"
更新了我的.bashrc
配置。当我在 bash 中运行 time
命令时,这让我有时间在正确的时区,但它似乎没有在 Tmux 会话中使用该变量。
任何人都可以让我知道我该如何解决它吗?
对于问题的第二部分,您可以使用:
set -g status-right '#(TZ="Asia/Kolkata" date +%%H:%%M:%%S)'
我所做的是为我的用户设置时区。它超越了tmux,它将翻译任何显示日期和时间的内容,例如"ls"的输出。
编辑 ~/.profile 并设置 TZ 变量,例如:
export TZ=/usr/share/zoneinfo/US/Pacific
您还可以让 ssh 自动发送您当前的时区。确保你的笔记本电脑的 ~/.profile 中有 TZ,然后指示 ssh 通过将其添加到 ~/.ssh/config 来发送它
SendEnv TZ
远程服务器必须配置为接受它,如果它不起作用,请确保它在/etc/ssh/sshd_config 中有这个
AcceptEnv LANG LC_* TZ
如果日期时间格式中有空格,则可以使用:
set -g status-right '#(TZ="Asia/Kolkata" date +"%%h %%d %%H:%%M")'