Deepin Linux系统桌面12/24小时制问题
黄健  |  2020-03-06  |  科学网  |  706次阅读

我的华为荣耀MagicBook2019笔记本电脑上,安装的是Deepin Linux 15.5 SP2专业版。一月底,系统更新提示有补丁,点了更新后出现了诸多问题。这里要说的12/24小时制问题,也不知道更新前有没有,反正我是更新后才注意到的。桌面系统托盘的最右下角显示的时间总是12小时制的。这个我很不习惯。例如,凌晨00:12,系统显示12:12上午。虽然右键单击,可选择为24小时制,但注销或重启后又变为了12小时制。而且第一次从12小时制改为24小时制是无效的,非得再右键修改一次,时间格式才会变化。昨日犯了处女情结,在网上搜索了很久,想找到解决办法。

似乎有一种简单的办法就是新建~/.config/deepin/dde-dock-datetime.conf 文件,并在里面输入内容如下:
[General]
24HourFormat=true

但是,经过我各种测试,这个办法并不管用,变现千奇百怪。先已手动调整为24小时制显示了,加了以上文件重启后,仍然显示的24小时制。我先以为成功了。注销后再登录,又变成了12小时制,而且dde-dock-datetime.conf 文件也被系统删除了。重新做好文件,重启依旧是12小时制,我猜测是没有先手动调整为24小时制的缘故。手动调整为24小时制,重新做好文件,重启,仍然显示24小时制,再重启,又变成了12小时制。关机后再重启与注销一样,变成12小时制且删除dde-dock-datetime.conf。各种测试,后来,先手动调整为24小时制,重新做好文件,重启后也直接变成12小时制了。我的乖乖,人工智能?看来,系统自带的时间插件不可救药了。

后来在Github上找到网友v-svg同志开发的一个插件(https://github.com/v-svg/dde-dock-clock,README.md看上去不错,看安装介绍也很简单。于是就下载了并解压到当前文件夹。在深度终端里输入命令,进入dde-dock-clock-master目录里,输入qmake,返回qmake: could not exec '/usr/lib/x86_64-linux-gnu/qt4/bin/qmake': No such file or directory。于是sudo apt-get install qt4-qmake,再qmake就好了,生成了Makefile。然后make,返回“make: g++:命令未找到”。于是,sudo apt-get install g++。再次make,反馈没有/usr/include/dde-dock/pluginproxyinterface.h、pluginsiteminterface.h、constants.h等文件。到Github上找到深度桌面环境DDE与我系统对应的版本的相应文件(https://github.com/linuxdeepin/dde-dock/tree/maintain/pro/15.5/interfaces),下载后在/usr/include里新建dde-dock目录并拷入上述三个文件。再次make,反馈缺/usr/include/qt4/尤其是其中的QtCore、QtGui、QtSvg。抓狂,修改源,然后sudo apt-get install qt4-dev-tools libqt4-dev,下载 122 MB 的归档,解压缩后会消耗 210 MB 的额外空间,新安装了 62 个软件包。所有编译环境终于配置齐备,再次make,结果反馈calendar.cpp及相应头文件中各种错误,诸如calendar.cpp:18:30: error: ‘class QHeaderView’ has no member named ‘setSectionResizeMode’; did you mean ‘sectionResized’? table->verticalHeader()->setSectionResizeMode(QHeaderView::Fixed)。最终,Makefile:314: recipe for target 'calendar.o' failed;make: *** [calendar.o] Error 1。不知是我这编译环境有问题了,还是v-svg同志的代码有问题了。晕菜,白忙活了。且慢,直接打开install.sh看看,

#!/bin/bash
sudo cp `dirname $0`/libclock.so /usr/lib/dde-dock/plugins/libclock.so
killall dde-dock

哈哈,真是白忙活了,v-svg同志不是已经提供了现成的libclock.so嘛。chmod 777 install.sh然后执行./install.sh命令,一查,/usr/lib/dde-dock/plugins/有了libclock.so。估计这个目录里面的libdatetime.so就是官方提供的无可救药的时间插件了。右键点击桌面底部的任务栏,插件菜单中点选clock并去掉官方的时间插件。拖动系统托盘的新时间到最右边,看上去顺眼多了,默认24小时制,且另行显示月日星期几。

总结一下:(1)深度给华为定制的这个所谓专业版其实还很不专业呀,连g++等开发者必需品都没有预先安装好,哪像个专业版嘛;(2)虽然瞎忙活了老半天,calendar.o也没有编译成功,插件显示星座、月相等功能未能实现,但整个插件包早已有“预先编译好的”libclock.so,直接./install.sh就能解决了Deepin Linux系统桌面12/24小时制问题;(3)测试了一下v-svg同志的另两个插件dde-dock-netspeed、dde-dock-weather,Github上都有相应的.so文件,下载后以管理员身份将相应.so文件拷贝到/usr/lib/dde-dock/plugins目录,然后在深度终端输入killall dde-dock,相应的监测网速与显示天气的功能都能实现。




文章原载于作者的科学网文章,所述内容属作者个人观点,不代表本平台立场。
本文经过系统重新排版,阅读原内容可点击 阅读原文