太棒了:时区不正确

太棒了:时区不正确

通常,我通过更改 .bashrc 文件来设置计算机时钟的时区,例如附加文件,TZ='America/Los_Angeles'; export TZ以便每当date调用时都会返回正确时区的正确时间。然而,在探测awesome之后,似乎echo $TZ在awesome中运行返回的结果与我echo $TZ在自己的终端中运行时不同。

根据 lua repl 的任何实例,echo $TZ似乎也会返回正确的时区(根据 .bashrc)。

我该如何同步程序间的时区?

答案1

您的问题是您没有TZ在正确的文件中定义环境变量。~/.bashrc是交互式 shell 的配置文件。它是别名、键绑定和您希望在交互式 shell 中拥有的其他内容的位置。虽然您可以在那里定义环境变量,但该变量只能在从交互式 shell 启动的程序中设置。这排除了您的窗口管理器以及由窗口管理器启动的任何程序。

因此,请在适当的位置定义环境变量。对于非图形登录,正确的位置是~/.profile。当您以图形模式登录时,正确的位置取决于您的发行版、显示管理器以及会话或窗口管理器。在 Ubuntu 上,我相信所有显示管理器都设置为~/.profile可读取。所以定义环境变量~/.profile

这个话题已经出现过很多次了——参见是否有一个所有 shell 都能读取的“.bashrc”等效文件?

根据您的情况,另一种可能性是在您的 Awesome 配置文件 ( ) 中定义环境变量os.setenv('TZ', 'America/Los_Angeles')。如果您想在不退出并重新登录的情况下更改时区(如果您携带笔记本电脑旅行),Awesome 将是您的最佳选择。

相关内容