我在 OSX 上的 VirtualBox 下运行的 Ubuntu Natty 虚拟机遇到了一个奇怪的问题。
上周的一天,Gnome 顶部栏上的时钟停止显示正确时间(我没有运行 Unity)。我使用的是格林威治标准时间 (GMT),所以现在应该是 9:31,但它显示的是 3:31,所以我认为这与时区有关。
如果我进入日期和时间小程序,时间最初是错误的,但一秒钟后会自动设置为正确的 GMT 时间。时区正确设置为伦敦,无论我解锁并再次设置还是从互联网时间中选择手动或自动,都没有区别。
在 bash 提示符下,“date”命令显示:“Tue Sep 20 03:33:35 CDT 2011”。
如果我运行“sudo dpkg-reconfigure tzdata”,我就会正确设置为伦敦。退出命令后,我会看到正确的伦敦时间,但再次输入“date”时,会再次显示 CDT 时间。
:~/$ date
Tue Sep 20 03:33:35 CDT 2011
:~/$ sudo dpkg-reconfigure tzdata
Current default time zone: 'Europe/London'
Local time is now: Tue Sep 20 09:34:22 BST 2011.
Universal Time is now: Tue Sep 20 08:34:22 UTC 2011.
:~/$ date
Tue Sep 20 03:34:26 CDT 2011
OSX 中的时钟是正确的。它已经正常工作了一两个月了 - 我认为它在上周更新后停止工作了。有什么想法吗?
答案1
我在 VirtualBox 主机中使用 ArchLinux 客户机时也遇到了类似的问题。当我在 rc.conf 文件中使用 TIMEZONE="Africa/Johannesburg" 或 TIMEZONE="Asia/Bahrain" 时,日期输出正确,但当我使用 TIMEZONE="/Etc/GMT+2" 或 "/Etc/GMT+3"(对应于上述时区)时,VBoxService 会将时间设置得早 6 小时。
我的硬件时钟时间始终保持正确(sudo hwclock --show),并且从硬件时钟设置系统时间(sudo hwclock --hctosys)可以正确设置系统时间,直到 VBoxService 再次运行时间同步并且日期输出早 6 小时。
总结一下;使用 /usr/share/zoneinfo// 中的时区似乎有效,但其他区域信息可能无效,我不知道这是为什么。
答案2
我在常规 Ubuntu 安装中遇到了完全相同的问题。原因是我安装了sontek 的点文件。在 中.profile
,TZ 变量被明确设置为America/Chicago
。删除此条目可修复该问题。
这个问题引导我找到了答案,new123456 的评论。
答案3
为了更改您的时区,请在 shell 中运行以下命令:
$ sudo "ln -sf /usr/share/zoneinfo/America/Los_Angeles /etc/localtime"
该命令假定您的硬件 (BIOS) 时钟为 GMT。您可以寻找/usr/share/zoneinfo
更好的选项。