当前位置: 首页 > news >正文

Ubuntu24.04 赋予 Qt 应用程序 修改系统时间 权限

1、情况简介

由于Ubuntu24.04对于安全性的考虑,以用户身份(非sudo)运行的应用程序无法直接修改内核时间,只能转而进行权限配置来修改系统时间。

2、具体操作

1、Settings-System-Date & Time 取消 Automatic Data & Time

2、GroundStation是我的应用名,pi是我的用户名,你需要自行改为自己的

sudo nano /etc/polkit-1/rules.d/allow-GroundStation-time-setting.rules

在文件中写入:

// Allow a specific user to set the time without a password
polkit.addRule(function(action, subject) {if (action.id == "org.freedesktop.timedate1.set-time" && subject.user == "pi") {return polkit.Result.YES;}
});

3、Qt程序示例

bool HeartBeatReceiver::setSystemTime(u64 Timestamp_us)
{ // --- 1. 将微秒时间戳转换为 QDateTime 对象并验证 ---QDateTime dateTime = QDateTime::fromMSecsSinceEpoch(Timestamp_us / 1000);dateTime.setTimeSpec(Qt::UTC); // 时间戳通常是 UTCint year = dateTime.date().year();if (year < 2025 || year > 2030) {qDebug() << "Validation failed: Year " << year << " is not within the required range [2025, 2030].";return false;}qDebug() << "Validation passed. The year is " << year << ".";QProcess process;bool timeSetSuccess = false;// --- 2. 设置系统时间 ---QString formattedTime = dateTime.toString("yyyy-MM-dd hh:mm:ss");qDebug() << "Attempting to set system time..." << formattedTime;process.start("timedatectl", QStringList() << "set-time" << formattedTime);if (!process.waitForFinished(5000)) {qDebug() << "Error: 'timedatectl set-time' command timed out.";} else if (process.exitCode() == 0) {qDebug() << "System time set successfully!";timeSetSuccess = true;} else {qDebug() << "Error: Failed to set system time.";qDebug() << "Exit Code:" << process.exitCode();qDebug() << "Standard Error:" << process.readAllStandardError();}return timeSetSuccess;
}

http://www.dtcms.com/a/541681.html

相关文章:

  • 50+孙悦梓潼舞台状态惊艳全网!自律的女神,连下颌线都是顶配
  • Rust:复合类型内存布局
  • net网站是国际域名吗wordpress发布文章页面错误
  • 英语学习 第一周 重难点
  • 做国际网站的流程unity做网站
  • 模板性公司网站图片网站制作的发展趋势
  • 石英加速度计如何敏锐感知飞机爬升与转弯的细微变化?
  • 【VS2019配置Boost】vs2019无法识别boost库目录
  • 要进一步增强门户网站建设合力有几个网站能在百度做推广
  • 常德网站建设常德做用户运营应该关注哪些网站
  • 目前做的最好的招聘网站外贸网站建设谷歌推广
  • 有空间与域名 怎么做网站为什么自己做的网站别的电脑打不开
  • 【AI大模型应用宝典60题】31-35
  • 03-Machine-5-fpioa.py K230 IO引脚复用功能演示
  • 郑州哪里培训网站建设优化好一点庆阳环境包装设计
  • 网站建设工作自策划实施以来网站开发实例社区
  • AI未来--零售行业“AI赋能,价值提升”
  • 京东网站建设策划书项目管理软件哪个好
  • 小程序中获取元素节点
  • 山东省聊城建设学校网站《网站开发实践》 实训报告
  • Android Service 的一个细节
  • 【QT】QTimer定时器读取寄存器的值
  • 2025年Java 面试题汇总(含答案解析)
  • 2025年--Lc221--144. 二叉树的前序遍历(递归版)-Java版
  • 生成式AI辅助教学设计的实践探索:从教案生成到教学评价的全流程优化
  • 做网站小程序挣钱吗互联网定制网站
  • 【场景题】List集合去重
  • 最小 k 个数
  • 镇江建网站佛山市城乡住房建设局网站首页
  • LoRA个人理解