web-dev-qa-db-fra.com

Ubuntu 18.04 ne peut pas définir l'horloge matérielle en heure locale

J'avais une machine à double démarrage sous Ubuntu 18.04.1 avec Windows 10, et ces deux systèmes d'exploitation ont des conflits de temps. Précédent 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 gros, Ubuntu sait que j’ai le temps d’interpréter l’horloge matérielle en heure locale, mais le RTC est toujours le temps universel. De plus, le fichier "rcS" n'existe pas, mais j'ai essayé de le créer manuellement et d'écrire "UTC = no", toujours pas de chance.

Est-ce que quelqu'un sait comment résoudre ce problème?

1
Cloudy

La commande suggérée par @Jens fonctionne, mais il n'est pas facile de régler l'horloge sur local RTC, vous devez passer par plusieurs cerceaux!

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

L'exécution de la commande ci-dessus a défini l'indicateur local-rtc sur 1, mais il a également modifié l'heure qui apparaît sur mon bureau de IST (heure standard indienne) à l'heure UTC. En d'autres termes, la commande ci-dessus n'a pas "ajusté" ou apporté de modifications au matériel ou à l'horloge du BIOS; elle n'a affiché que l'heure du BIOS (qui était toujours l'heure UTC) et l'a considérée comme l'heure locale et l'affiche sur le bureau. . Mais comme je ne vivais pas dans le fuseau horaire UTC, je ne le voulais pas. Je suis donc allé dans le gestionnaire de paramètres XFCE et je l'ai changé en +5,5 heures, de sorte que mon horloge reflète désormais IST. Mais hélas, le gestionnaire de paramètres XFCE ne semble pas être synchronisé avec le timedatectl. Le temps de mon ordinateur de bureau a été remplacé par IST, mais l’horloge du BIOS a été retardée de 5,5 heures. Enfin, le seul moyen de résoudre ce problème consistait à entrer dans le BIOS et à changer cette horloge en IST. Les instructions pour régler l’horloge en heure locale sont les suivantes:

  1. Exécutez Sudo timedatectl set-local-rtc 1 --adjust-system-clock.
  2. Redémarrez l'ordinateur, accédez aux paramètres de votre BIOS.
  3. Définissez l'heure de votre fuseau horaire local, enregistrez et redémarrez.
1
Prahlad Yeri

Avez-vous essayé cela aussi en tant que root? 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
0
Jens

Selon l’OMI, la solution correcte consiste à configurer RTC sur UTC. Ensuite, le comportement par défaut d’Ubuntu affiche l’heure locale correcte en fonction des paramètres régionaux/régionaux ou de la détection de l’emplacement, le cas échéant. La manière dont Ubuntu traite RTC peut être vérifiée avec la sortie de Sudo hwclock --debug; cela vous indiquera qu'Ubuntu s'attend à ce que RTC soit défini sur UTC. Le comportement de Windows peut être corrigé par l'édition appropriée d'une clé de registre particulière - des informations à ce sujet sont disponibles sur Internet.

0
tagMacher

Une alternative à la méthode suggérée par @PrahladYeri est la suivante: au lieu de changer brutalement le temps RTC à partir du BIOS, démarrez Windows et laissez Windows remplacer automatiquement le RTC.

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

Maintenant, démarrez Windows et dans "Changer la date et l'heure", désactivez puis activez à nouveau "Régler l'heure automatiquement". Cela devrait écraser l'heure locale sur le RTC.

0
shreyase99