[[Vorlage(Getestet, jammy)]] {{{#!vorlage Wissen [:Terminal: Ein Terminal öffnen] }}} [[Inhaltsverzeichnis()]] = Übersicht = Unter Linux muss man prinzipiell zwischen zwei Uhren unterscheiden: * '''Software-Uhr''': das ist die Zeit innerhalb des Linux-[:Kernel:Kernels]. Sie ist für alle Benutzer und das Betriebssystem selbst von Bedeutung und definiert im laufenden Betrieb die für alle Programme gültige '''Systemzeit'''. Sie wird auch manchmal als Betriebssystem-Uhr oder System-Uhr bezeichnet. * '''Hardware-Uhr''': diese Uhr (auch Echtzeituhr, batteriegepufferte Uhr, real time clock (RTC), BIOS clock oder CMOS clock genannt) ist eine Uhr, die unabhängig von allen anderen Komponenten läuft, selbst wenn der Computer heruntergefahren wurde. Im ausgeschalteten Zustand läuft sie weiter und wird beim Systemstart zum Abgleich der Software-Uhr verwendet. Für eine richtige Anzeige der Uhrzeit ist außer dem die Einstellung der Zeitzone relevant, um die Systemzeit korrekt in die reale '''[wikipedia:Zonenzeit: Zonenzeit]''' umzurechnen. Sie hilft auch, die Umstellung auf die Sommerzeit automatisch vorzunehmen. {{{#!vorlage Hinweis Ubuntu synchronisiert die Software-Uhr seit Version [:16.04:16.04] standardmäßig anhand der Zeitzone mit öffentlichen Zeitservern. Allgemeines zum Thema Zeitsynchronisation findet sich im Abschnitt [#Synchronisation Synchronisation] Geht die Systemzeit um genau eine Stunde (oder genau mehrere Stunden) falsch, ist wahrscheinlich eine falsche Zeitzone eingestellt. (Es sollte also nur noch in Ausnahmefällen nötig sein, die Uhrzeit selbst zu korrigieren.) }}} = Konfiguration = == Anpassungen über die grafische Oberfläche == Zu den Einstellungen der Uhrzeit kommt man in aller Regel über einen Rechtsklick auf der Uhr im Desktop-Panel. Dort lassen sich Zeitzone, Synchronisation und nach Wunsch auch manuell die Uhrzeit einstellen. Alternativ gelangt man bei den meisten grafischen Oberflächen auch über die Systemeinstellungen an diesen Punkt: ## [[Bild(Datum-und-Zeit-GNOME3, 350, right)]] === GNOME 3 === Die Zeitsynchronisation kann man direkt über die [:GNOME3_Systemeinstellungen:Einstellungen] einstellen. Dafür klickt man rechts oben ins Panel und klickt dann auf: * ''"Einstellungen → Datum und Zeit"'' Hier kann mit Hilfe des Kippschalters ''"Netzwerkzeit"'' die automatische Zeitsynchronisation (de)aktivieren. Außerdem kann man hier noch die ''Zeitzone'' und das ''Zeitformat'' festlegen. [[Vorlage(Bildunterschrift, KDE_Systemeinstellungen_Datum_und_Zeit.png , 215, "Datum und Uhrzeit bei KDE", right, kde-style)]] === KDE === Die Zeitsynchronisation lässt sich direkt über die [:KDE-Systemeinstellungen:] einstellen. Dafür auf das [:Archiv/Plasma/KDE_Kontrollleiste/#K-Menue: K-Menü] klicken und dann auf: * ''"Einstellungen → Systemeinstsellungen"'' In den KDE-Systemeinstellungen dann auf: * ''"Regionaleinstellungen → Datum & Zeit"'' Hier kann mit Häkchen setzen im Kästchen ''"Datum und Uhrzeit automatisch einstellen"'' die automatische Zeitsynchronisation aktiviert werden, oder durch Haken entfernen deaktiviert werden. Oben befinden sich Tabellenreiter, nach anklicken vom Tabellenreiter ''"Zeitzone"'' lässt sich dort noch die ''Zeitzone'' festlegen. Auch durch Rechtsklick auf die [:Archiv/Plasma/KDE_Kontrollleiste/#Uhr: Uhr] in der [:Archiv/Plasma/KDE_Kontrollleiste: KDE Kontrollleiste] lässt sich Datum und Uhrzeit einstellen. Wird dort der Menüpunkt ''"Datum und Zeit einstellen"'' angeklickt, werden die selben Einstellungen wie über die KDE-Systemeinstellungen angeboten. [[Anker(Terminal)]] == Anpassungen in einem Terminal == Man kann für Datum und Zeit verschiedene Anpassungen im Terminal vornehmen[1]. === Übersicht === Eine sehr gute Übersicht über die Zeiten erhält man mit {{{#!vorlage Befehl timedatectl }}} Die Ausgabe zeigt in der 1. Zeile die Software-Zeit und in der 3. Zeile die Hardware-Zeit. In der 4. Zeile folgt die Zeitzone. === Zeitzone === Folgender Befehl setzt die Zeitzone auf Europa/Berlin: {{{#!vorlage Befehl sudo timedatectl set-timezone Europe/Berlin }}} Wer stattdessen gerne interaktiv aus aus einer Liste die Zeitzone wählen möchte, erreicht den entsprechenden Dialog mit {{{#!vorlage Befehl sudo dpkg-reconfigure tzdata }}} === Einstellen der Uhrzeit === Eine einmalige Korrektur der Uhrzeit erreicht man mit {{{#!vorlage Befehl sudo timedatectl set-time }}} {{{#!vorlage Hinweis Dabei wird auch die Hardware-Uhr einmalig mit korrigiert. }}} Die Syntax für Datum und Uhrzeit kann man dabei der Ausgabe von {{{#!vorlage Befehl timedatectl }}} entnehmen. Ergibt die Ausgabe den Fehler {{{#!vorlage Befehl Failed to set time: Automatic time synchronization is enabled }}} ist die automatische [#Synchronisation Zeitsynchronisation] aktiv und die Uhrzeit kann erst nach deren Deaktivierung gesetzt werden. === Beispiele: === Datum manuell auf '8.Oktober 2017' setzen {{{#!vorlage Befehl sudo timedatectl set-time 2017-10-08 }}} Uhrzeit manuell auf '23:01' setzen {{{#!vorlage Befehl sudo timedatectl set-time 23:01 }}} Datum und Uhrzeit in einem Befehl setzen {{{#!vorlage Befehl sudo timedatectl set-time 2017-10-08 23:01 }}} === Hardware-Uhr === Das Programm zum Stellen der Hardware-Uhr lässt sich folgendermaßen aufrufen: {{{#!vorlage Befehl sudo hwclock }}} Jetzt kann man die Hardware-Uhr anhand der Systemzeit einstellen: {{{#!vorlage Befehl sudo hwclock --systohc }}} Weitere Optionen zeigt die folgende Tabelle ||'''Parameter'''|| '''Beschreibung''' || || ``--show`` || Zeigt den Stand der Hardware-Uhr in lokaler Zeitzone (auch wenn die Hardware-Uhr nach UTC läuft) || || ``--set --date="9/22/96 16:45:05"`` || Stelle die Hardware-Uhr auf den 22.9.1996 16:45:05 Lokalzeit || || ``--hctosys`` || Stellt die Systemzeit nach der Hardware-Uhr. || = Synchronisation = Für die Synchronisation der Systemzeit gibt es das standardisierte [wikipedia:Network_Time_Protocol:Network Time Protocol] (NTP). Unter Ubuntu können verschiedene Dienste dieses Protokoll nutzen: * standardmäßig [:systemd/timesyncd:timesyncd] * [:ntpd:] = Sonstiges = == Linux auf lokale Zeit umstellen == Alternativ kann man Linux auf lokale Zeit umstellen. Da dies jedoch einige Probleme bereitet (Zeitumstellung bewirkt, dass Dateien mit Erstellungsdatum in der Zukunft existieren), sollte es nur als letzte Option genutzt werden. Unter systemd nutzt man das Programm timedatectl: {{{#!vorlage Befehl timedatectl set-local-rtc 1 }}} == Rechner ohne Echtzeituhr == Für Rechner ohne eingebaute [wikipedia:Echtzeituhr:] (RTC / Real Time Clock), z.B. der Raspberry, gibt es das Ubuntu/Debian Paket '''fake-hwclock'''. Dieses sichert die Systemuhrzeit regelmäßig in eine Datei, die dann beim Booten wieder eingelesen wird. Das ersetzt zwar keine echte Uhr, mildert aber den Effekt ab, dass andernfalls das System nach einem Neustart wieder im Jahr 1970 ist (POSIX-Standard). = Links = == intern == * [:systemd/localectl:localectl] Spracheinstellungen und andere gebietsspezifische Einstellungen * [:rtcwake:] - PC zeitgesteuert starten == extern == * [ubuntu_doc:community/UbuntuTime:Artikel] {en} im englischsprachigen Ubuntu-Wiki * [https://linuxwiki.de/DatumUndUhrzeit Alternative Befehle für Datum und Uhrzeit im Linuxwiki] {de} # tag: Hardware, System, Systemzeit, NTP