7 votes

Ubuntu 18.04 ne peut pas régler l'horloge matérielle sur l'heure locale

J'avais une machine Ubuntu 18.04.1 en dual boot avec Windows 10, et ces deux OS ont un conflit de temps. Auparavant sur ma machine avec Ubuntu 16.04 ce conflit peut être facilement résolu avec timedatectl set-local-rtc 1 — adjust-system-clock mais cette commande ne fonctionne plus sur mon système Ubuntu 18.04.

Voici la sortie du terminal :

yunhui@hp:~$ timedatectl set-local-rtc 1 --adjust-system-clock
yunhui@hp:~$ timedatectl 
                      Local time: Thu 2018-08-02 16:31:58 CST
                  Universal time: Thu 2018-08-02 08:31:58 UTC
                        RTC time: Thu 2018-08-02 08:31:58
                       Time zone: Asia/Shanghai (CST, +0800)
       System clock synchronized: no
systemd-timesyncd.service active: yes
                 RTC in local TZ: yes

Warning: The system is configured to read the RTC time in the local time zone.
         This mode can not be fully supported. It will create various problems
         with time zone changes and daylight saving time adjustments. The RTC
         time is never updated, it relies on external facilities to maintain it.
         If at all possible, use RTC in UTC by calling
         'timedatectl set-local-rtc 0'.
yunhui@hp:~$ grep -i utc /etc/default/rcS
grep: /etc/default/rcS: No such file or directory

En fait, Ubuntu sait que j'ai changé pour interpréter l'horloge matérielle comme étant l'heure locale, mais l'heure RTC est toujours l'heure universelle. Le fichier "rcS" n'existe pas non plus, mais j'ai essayé de le créer manuellement et d'écrire "UTC=no", sans succès.

Quelqu'un sait-il comment résoudre ce problème ?

5voto

shreyase99 Points 63

Une alternative à la méthode suggérée par @PrahladYeri est qu'au lieu de changer brutalement l'heure RTC à partir du BIOS, démarrez sous Windows et laissez Windows remplacer automatiquement la RTC.

sudo timedatectl set-local-rtc 1 --adjust-system-clock

Démarrez maintenant Windows et dans "Modifier la date et l'heure", désactivez puis réactivez "Régler l'heure automatiquement". Cela devrait écraser l'heure locale sur le RTC.

4voto

wondering Hobo Points 1

La commande suggérée par @Jens fonctionne, mais l'ajustement de l'horloge au RTC local n'est pas très facile, il faut passer par plusieurs étapes !

sudo timedatectl set-local-rtc 1 --adjust-system-clock

L'exécution de la commande ci-dessus a permis de définir le local-rtc à 1, mais il a également changé l'heure qui apparaît sur mon bureau de IST (Indian Standard Time) à UTC. En d'autres termes, la commande ci-dessus n'a pas "ajusté" ou modifié l'horloge du matériel ou du BIOS, tout ce qu'elle a fait, c'est afficher l'heure du BIOS (qui était toujours UTC) et la considérer comme l'heure locale et l'afficher sur le bureau. Mais je ne voulais pas de cela puisque je ne vis pas dans le fuseau horaire UTC, alors je suis allé dans le gestionnaire de paramètres de XFCE et j'ai changé l'heure à +5,5 heures, de sorte que mon horloge reflète maintenant l'IST. Mais hélas, le gestionnaire de paramètres XFCE ne semble pas être synchronisé avec le système de gestion de l'heure. timedatectl . Cela a changé l'heure de mon bureau en IST, mais a repoussé l'horloge du BIOS de 5,5 heures, de sorte qu'elle est repassée en UTC après un redémarrage. Finalement, la seule façon de résoudre ce problème a été d'entrer dans le BIOS et de changer l'horloge en IST. Les instructions pour régler l'horloge à l'heure locale sont donc les suivantes :

  1. Ejecutar sudo timedatectl set-local-rtc 1 --adjust-system-clock .
  2. Redémarrez l'ordinateur et accédez aux paramètres du BIOS.
  3. Réglez l'heure sur votre fuseau horaire local, enregistrez et redémarrez.

2voto

Cela a fonctionné pour moi :

timezonectl set-timezone <tz> && \
timedatectl set-local-rtc 0    && \
timedatectl set-local-rtc 1 --adjust-system-clock

Je n'ai pas vraiment d'explication (c'est le résultat de l'enfoncement d'un bouton).

1voto

Jens Points 11

L'avez-vous essayé en tant que racine également ? J'ai pu faire ce que vous voulez en tant qu'utilisateur root. Essayez d'utiliser la commande :

sudo timedatectl set-local-rtc 1 --adjust-system-clock

1voto

Daniele Points 11

Ce que je fais habituellement à chaque fois que j'installe une nouvelle distro, c'est ceci :

timedatectl set-local-rtc 1 --adjust-system-clock

Ensuite, je redémarre Windows et je force la mise à jour d'Internet Time.

À partir de ce moment, les deux systèmes affichent l'heure exacte.

Point d'attention : à chaque fois que vous lancez une distro live (comme boot-repair), ce paramètre est écrasé).

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X