1.准备事项
修改系统时间需要管理员权限,具体操作:
命令行执行sudo gedit /etc/sudoers
打开sudoers文件。
增加user ALL=(ALL)NOPASSWD:ALL
并保存。
如上操作为用户赋予sudo且无需密码的权限。
2.修改系统时间
QString setDateCmd = QString("sudo date -s %1/%2/%3").arg(
QString::number(month),
QString::number(day),
QString::number(year));
system(setDateCmd.toLocal8Bit());
QString setTimeCmd = QString("sudo date -s %1:%2:%3").arg(
QString::number(hour),
QString::number(minute),
QString::number(second));
system(setTimeCmd.toLocal8Bit());
system("sudo hcclock --systohc");
3.注意事项
系统如果连接互联网时,系统时间不会改变为设定值,系统使用互联网时区自动设置时间。只有在离线系统中,授时命令才会生效。
如果不赋予sudo权限,则会出现sudo:没有终端存在,且未指定askpass 程序
的提示。