安装好 XFCE4 之后,桌面的右上角有desktop panel,也有clock,wifi和power的托盘图标等。
结果发现clock显示的时间居然不是按照当前的时区来的,尽管我已经做好了 `/etc/localtime` 的软连接到 `/usr/share/zoneinfo` 下面的时区文件。
后来查了查和clock有关的资料,发现这些小widget都是配置在 `~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml` 里面的。在其中查找关键字 "clock" 就可以定位到对应的 `plugin` 的 id。
在我的桌面下,clock对应的是 `plugin-5`。于是可以执行 `xfconf-query -c xfce4-panel --list | grep plugin-5` 来列举所有与这个空间相关的配置项。结果意外的发现居然没有显式配置。
参考 [这篇BBS的讨论](https://bbs.archlinux.org/viewtopic.php?id=233651),
<property name="plugin-5" type="string" value="clock">
<property name="timezone" type="string" value="EST"/>
<property name="mode" type="uint" value="2"/>
<property name="show-military" type="bool" value="false"/>
<property name="show-seconds" type="bool" value="true"/>
<property name="flash-separators" type="bool" value="false"/>
<property name="show-meridiem" type="bool" value="true"/>
<property name="digital-format" type="string" value="%a, %b %d %Y %r"/>
</property>
可以为时区配置名为 `timezone` 的字符串值。于是参考 [xfconf-query 的命令行文档](https://docs.xfce.org/xfce/xfconf/xfconf-query) 执行了如下指令:
xfconf-query -c xfce4-panel -n \
-p "/plugins/plugin-5/timezone" \
-t "string" -s "Australia/Melbourne"
这样再查看 `xfce4-panel.xml` 的文件内容就会看到相应的更新。
此外,还学到了相关的时间设置,例如 `timedatectl` 和 `hwclock`。前者可以查看当前系统的所有时间,包括 localtime,UTC等,后者可以设置硬件(bios)的时间。详细信息可以参考 [【System time】](https://wiki.archlinux.org/index.php/System_time) 的说明。
评论