[Bug Report] rhel10,深度日历不显示假期,AI给办法修复了,不知道有么有问题
Tofloor
poster avatar
没事儿瞎转悠
deepin
2025-10-19 12:22
Author

日志Warnning筛选。

calendar2.txt

deepseek回复如下:

从你提供的 calendar2.txt 日志文件来看,这些警告信息主要反映了 dde-calendar(深度操作系统日历应用)在启动和运行过程中遇到的几类问题。以下是详细分析:


🔍 问题分类与原因分析

1. DConfig 配置无效

出现频率最高,贯穿整个日志。

DConfig is invalid of appid=dde-calendar name=org.deepin.dtk.preference, subpath=

可能原因

  • 缺少 DConfig 配置文件或配置文件损坏。
  • 应用没有权限读取配置。
  • DConfig 服务未正确安装或启动。

2. DBus 服务不可用

多个模块无法通过 DBus 调用外部服务:

"The name is not activatable"

影响的功能包括

  • 日期时间格式支持(dbustimedate.cpp
  • 黄历信息获取(dbushuanglirequest.cpp
  • 节假日信息获取(dbushuanglirequest.cpp
  • 账户管理服务(dbusaccountmanagerrequest.cpp

可能原因

  • 对应的 DBus 服务未安装或未启动。
  • 服务名称错误或权限不足。

3. 日程数据显示异常

CMonthScheduleView::updateData: Data count or cNum is invalid, returning

可能原因

  • 日程数据源异常或为空。
  • 视图渲染时数据格式不符合预期。

4. 日志规则配置无效

Logging rules config is invalid, please check `appId` [ "dde-calendar" ]arg is correct

可能原因

  • 日志配置文件(如 dde-calendar.log 或 DTK 日志规则)有误或不存在。

🛠️ 建议解决方案

修复 DConfig 问题

# 重新安装 dde-calendar 或 dconfig 相关包
sudo apt reinstall dde-calendar dconfig

检查并启动 DBus 服务

# 检查服务是否可用
systemctl status dbus
# 尝试重启 dbus(谨慎操作)
sudo systemctl restart dbus

安装或修复黄历/节假日服务

# 检查是否安装了 deepin-huanglili 或类似服务
apt list --installed | grep huangli
# 若无,则安装
sudo apt install deepin-huanglili

重置日历配置

# 删除用户配置,重新生成
rm -rf ~/.config/dde-calendar

检查系统日志

journalctl -u dde-calendar --since "2025-10-19 11:56:00"

📌 总结

这是一个典型的依赖服务缺失 + 配置损坏导致的日历应用启动异常。建议按上述顺序逐一排查,尤其是 DConfigDBus 服务 两部分。如果问题依旧,可能需要更新系统或提交 bug 报告给 Deepin 团队。

是否需要我帮你写一个自动修复脚本?

按提示查看服务时发现报错如下:

debus-broker.txt

AI处理如下:

结合这个 dbus-broker 日志,问题更加明确了。这是一个 DBus 安全策略限制 导致的问题。


🔍 新增问题分析

1. DBus 安全策略拒绝访问

A security policy denied :1.205 to send method call to org.deepin.linglong.PackageManager1

具体被拒绝的操作

  • Introspect( introspection 查询)
  • Permissions(权限查询)

影响

  • 应用程序无法通过 DBus 调用 org.deepin.linglong.PackageManager1 服务
  • 这很可能就是日历应用中各种 "The name is not activatable" 错误的根本原因

2. 文件系统修改触发重载

Noticed file-system modification, trigger reload.

这表明 DBus 配置或策略文件有变动,dbus-broker 自动重新加载了配置。


🛠️ 针对性解决方案

检查 DBus 安全策略

# 查看 DBus 系统服务状态
systemctl status dbus-broker

# 检查 DBus 安全策略文件
ls -la /etc/dbus-1/system.d/
ls -la /usr/share/dbus-1/system-services/

检查灵龙包管理器服务

# 检查灵龙包管理器服务状态
systemctl status deepin-linglong-package-manager

# 检查服务是否在 DBus 上注册
dbus-send --system --print-reply --dest=org.freedesktop.DBus / org.freedesktop.DBus.ListNames | grep linglong

修复安全策略

如果灵龙包管理器的安全策略文件缺失或配置错误:

# 重新安装灵龙相关包
sudo apt reinstall deepin-linglong-package-manager

# 或者检查并修复策略文件
sudo vim /etc/dbus-1/system.d/org.deepin.linglong.PackageManager1.conf

策略文件示例内容



  
    
    
    
  

重启 DBus 和相关服务

# 重启 dbus-broker
sudo systemctl restart dbus-broker

# 重启灵龙包管理器服务
sudo systemctl restart deepin-linglong-package-manager

# 重启日历应用
pkill dde-calendar

操作到这里就黑屏了。然后ctrl+alt+delete重启后,深度日历就有假日信息了。


🔄 问题关联分析

现在可以清楚地看到问题链:

  1. DBus 安全策略阻止了对 org.deepin.linglong.PackageManager1 的访问
  2. 导致日历应用无法通过 DBus 调用获取黄历、节假日等服务
  3. 进而引发大量的 "The name is not activatable" 错误
  4. 最终导致日历功能异常和 DConfig 配置读取问题

📋 完整修复步骤

# 1. 修复灵龙包管理器的 DBus 策略
sudo apt install --reinstall deepin-linglong-package-manager

# 2. 重启 DBus 服务
sudo systemctl restart dbus-broker

# 3. 验证服务可用性
dbus-send --system --print-reply --dest=org.freedesktop.DBus / org.freedesktop.DBus.ListNames | grep linglong

# 4. 重置日历配置
rm -rf ~/.config/dde-calendar

# 5. 重新启动日历应用
dde-calendar

这样应该能解决大部分 DBus 相关的警告和日历功能异常问题。

小白一枚,按AI回复操作结果好了,不知什么原因,有没有可能衍生其他问题。所以反馈下,望修复。

Reply Favorite View the author
All Replies
mozixun
Moderator
2025-10-19 12:35
#1

RHEL不是有GNOME自带的日历嘛)

Reply View the author
兆兆嘟嘟嘟
Moderator
2025-10-19 13:53
#2
mozixun

RHEL不是有GNOME自带的日历嘛)

人家估计用的是dde桌面环境。

Reply View the author
没事儿瞎转悠
deepin
2025-10-19 14:46
#3
mozixun

RHEL不是有GNOME自带的日历嘛)

RHEL没有日历软件,需要通过flatpak安装,而且gnome日历不默认带中国法定假期,需要手动添加订阅连接。

Reply View the author
zccrs
deepin
2025-10-20 10:10
#4

看那个没用,应该是版本不够新,没有带上今年的假期信息

Reply View the author
没事儿瞎转悠
deepin
2025-10-23 11:10
#5
zccrs

看那个没用,应该是版本不够新,没有带上今年的假期信息

rhel10上通过如意玲珑安装深度日历不显示假期信息,然后通过ai回复给修复了。现在能正常显示假期信息了。gnome日历在网上订阅假期或下载假期信息文件导入后也能显示,但是没有深度日历好看好用。

Reply View the author