Jak pogrubić zegar w Ubuntu i rozwiązać różnice czasu między Linuxem a Windows

ByTomasz Sanecki

Jak pogrubić zegar w Ubuntu i rozwiązać różnice czasu między Linuxem a Windows

Jeśli masz na laptopie systemy Windows 10 i Linux Mint, to przy przełączaniu przez menu GRUB możesz uruchamiać wybrany system, a oba powinny współistnieć obok siebie zgodnie, prócz problemu z czasem, a konkretnie z zegarem systemowym.

W czasie zimowym, zegar w Windowsie późnił się o godzinę, w czasie letnim o dwie. W linuksie problem nie występował.

Od dawna, być może od zawsze, komputery wyposażone były w RTC, czyli Real Time Clock (inaczej jest w Raspberry czy Banana Pi o czym pisałem tutaj: Obsługa zewnętrznego RTC w Banana Pi). Jest to układ, który jest po prostu zegarem.

Bateria w komputerze (często CR2032) służy nie tylko do podtrzymania ustawień Biosu, czy teraz bardziej UEFI, ale też do zasilania tego zegara. Stąd już w UEFI/BIOS mamy aktualną godzinę.

Później ten czas jest odczytywany przez system operacyjny i od ery internetu, korygowany na podstawie zegara wzorcowego, odczytywanego z sieci po protokole NTP (network time protocol).

Dlatego komputery podłączone do internetu mają bardzo dokładny zegarek, system operacyjny koryguje czas u siebie oraz w RTC.

Windows, podczas uruchamiania, wprost przepisuje czas z RTC, czyli godzina w Windowsie jest identyczna z tą w UEFI/BIOS.

W linuksach jest to zrobione inaczej, być może dla przeciętnego użytkownika komputera nie lepiej ani gorzej, ale na pewno profesjonalniej.

Otóż Linux zakłada, że RTC odmierza wzorcowy czas uniwersalany, skrótowo opisany UTC (Universal Time Coordinated). Polska znajduje się w strefie CET (Central European Time), nasz czas jest przesunięty o godzinę w przód, względem UTC, czyli UTC+1:00.

I teraz zaczyna się problem. Linux podczas uruchamiania, gdy ma dostęp do sieci, odpytuje zdefiniowany serwer NTP, zapisuje czas UTC do sprzętowego zegara RTC, a sam wyświetla czas skonfigurowanej strefy czasowej, czyli dodaje lub odejmuje odpowiednie przesunięcie.

Dla przykładu - jest godzina 20:54 - taką pokaże Linux, ale w RTC będzie (zależnie czy czas letni/zimowy) 18:54 lub 19:54.

Później uruchamiamy Windows, który odczytuje czas z RTC i wyświetla go wprost, bez korekty dla strefy, czyli mamy opóźnienie godziny lub dwóch, zamiast czasu CET, mamy pokazywany czas UTC.

Za kontrolę czasu i daty w Linuksie Mint i nie tylko, odpowiada usługa timedatectl. Widzimy tu nasz aktualny czas, czas UTC, czas RTC identyczny z UTC, ustawioną strefę czasową.

Jest też informacja, że zegar jest synchronizowany z wzorcem w sieci (Network time on: yes), że jeszcze nie został zsynchronizowany (NTP synchronized: no) i że zegar RTC nie pracuje w naszej strefie czasowe (RTC in local TZ: no), czyli RTC pokazuje czas UTC.

Jeśli by zmienić tą ostatnią opcję, to zniknie problem z czasem w Windows, bo Linux będzie traktował czas w RTC jak nasz aktualny.

Od teraz Linux w kwestii czasu jest tak samo upośledzony jak Windows, czyli wprost przepisuje czas z RTC, jako czas bieżący.

Pojawiło się też ostrzeżenie, że takie ustawienie nie jest najlepsze, że generuje rozmaite problemy, choćby ze zmianą czasu letni/zimowy, nas to jednak nie dotyczy.

Dokładny pomiar czasu stał jednym z najważniejszych elementów współczesnego wdrażania oprogramowania.

Przed rozpoczęciem pracy, należy zalogować się jako użytkownik inny niż root, z ustawionymi na serwerze uprawnieniami sudo.

Podstawy: sprawdzanie czasu i strefy czasowej w Ubuntu

Podstawowym poleceniem do uzyskania czasu na serwerze jest date. Najczęściej serwer domyślnie jest w strefie czasowej UTC, jak podkreślono w wyniku powyżej.

UTC - uniwersalny czas geograficzny.

Lista stref czasowych będzie wyświetlana na ekranie. Można nacisnąć klawisz spacji, aby przewinąć stronę w dół oraz klawisz b, aby przewinąć stronę w górę.

Teraz ustaw strefę czasową z timedatectl set-timezone, upewniając się, że zaznaczony fragment poniżej jest zastąpiony strefą czasową znalezioną na liście.

Do niedawna większość synchronizacji czasu sieciowego była obsługiwana przez Network Time Protocol daemon lub ntpd. Domyślna instalacja Ubuntu teraz używa timesyncd zamiast ntpd.

Możemy sprawdzić stan timesyncd, uruchamiając timedatectl bez argumentów. To polecenie wyświetla czas lokalny, czas uniwersalny (który może być taki sam jak czas lokalny, jeśli nie przełączyć się ze strefy czasowej UTC), a także niektóre informacje o stanie czasu sieciowego.

Uruchom timedatectl ponownie w celu potwierdzenia statusu czasu sieciowego. Sprawdź Network time on: no w wyniku. Oznacza to, że timesyncd został zatrzymany.

Ntpd zostanie uruchomiony automatycznie po instalacji.

0.ubuntu.pool.n .POOL. 1.ubuntu.pool.n .POOL. 2.ubuntu.pool.n .POOL. 3.ubuntu.pool.n .POOL. ntp.ubuntu.com .POOL.

Ntpq jest narzędziem zapytania dla ntpd. Flaga -p żąda informacje na temat serwerów NTP, do których został podłączony ntpd. Jego wynik będzie nieco inny, ale muszą być wymienione standardowe pool serwery Ubuntu plus kilka innych.

Co zrobić, aby zegar systemowy „pogrubił się” w praktyce

Jeśli nie podoba Ci się zegar na Twoim pulpicie, w naszych repozytoriach znajdziesz kilka aplikacji , które umożliwiają sprawdzenie godziny. Może również pojawiać się w menedżerach pakietów pod nazwą Zegary.

Kolejny tytuł dostępny w repozytoriach. Jak wskazuje litera „D” w tytule, jest to zegar cyfrowy, który symuluje wyświetlanie cyfr za pomocą diod LED.

Ten program do przechowywania danych wyświetla czas w różnych częściach świata .

Cyfrowy zegar w stylu vintage , którego wygląd można dostosować za pomocą arkuszy stylów.

Ze sklepu Snap pochodzi ta przydatna aplikacja, która oblicza daty .

Jeśli potrzebujesz „pogrubienia” w sensie widoczności, a nie tylko zmiany rozmiaru napisu, zegary cyfrowe LED oraz warianty vintage z własnymi stylami są szczególnie przydatne, bo pozwalają uzyskać mocniejszy, bardziej czytelny wygląd.

Alternatywy na pulpit: screenlet i conky

Ostatnio poukrywałem sobie wszystkie panele tak by nie przeszkadzały mi w pracy Większy pole manewru okienkami.

Niеestety przez to jestem odcięty od informacji która jest godzina Ciężko rozporządzać sobie czas na zadania nie wiedząc która jest godzina tak od razu.

Po wypróbowaniu screenletów i conky stwierdzam, że nawet nadają się do użytku po odpowiednim skonfiurowaniu, ale jest jeden problem.

W miejscu gdzie ustawię taki bajerek nie mogę kliknąć.

Czy istnieją takie bajerki z funkcją click over? Linux Counter is not an exclusive club.

Chodzi o to, że mam autoukrywanie tyle, że mam b. duże opóźnienie ustawione, żeby nie wkurzało przy klikaniu przy krawędziach okna.

A taki zegar to nie musiałby być duży.

No to jak godzisz się z opcją "zawsze na wierzchu" to nie widzę problemu ustawisz przezroczystość i po sprawie.

Dlaczego zegar w Linuxie bywa „inny” niż w Windows

Nie wiem, dlaczego systemy operacyjne wyświetlają zegar. Jeśli na komputerze masz zainstalowane zarówno systemy Windows, jak i Linux, prawdopodobnie zauważyłeś, że po przełączeniu się z Linuksa na Windows wyświetlany czas różni się od czasu lokalnego.

Dzieje się tak, ponieważ Linux zakłada, że zegar sprzętowy jest zsynchronizowany z czasem uniwersalnym (UTC), podczas gdy Windows zakłada, że jest on zgodny z czasem lokalnym.

Rozwiązaniem jest zmuszenie systemu Windows do wykonywania obliczeń w oparciu o czas UTC lub systemu Linux w czasie lokalnym.

Zazwyczaj dystrybucje Linuksa pytają użytkownika o wybraną strefę czasową, a następnie automatycznie dostosowują czas, korzystając z informacji z sieciowego serwera czasu lub wykonując odpowiednie obliczenia na podstawie czasu wskazywanego przez serwer czasu uniwersalnego (UTS).

TZ=Zona_horaria date Zastąpienie strefy czasowej nazwą, pod którą pojawia się na liście.

Synchronizacja czasu i mechanizmy NTP/RTC

Komputery mają dwa sposoby pomiaru upływu czasu . Jest zasilany bateryjnie i działa nawet przy wyłączonym komputerze.

Używamy terminu „zegar” w luźnym znaczeniu, ponieważ nie posiada przycisków, wskazówek ani diod LED.

Jest to układ scalony na płycie głównej, odpowiedzialny za działanie zegara systemowego.

Układ ten zawiera oscylator kwarcowy oparty na krysztale piezoelektrycznym . Każdy kryształ ma strukturę krystaliczną zbudowaną z regularnego, powtarzalnego wzoru atomów.

Zegar systemowy opiera się na informacjach z zegara czasu rzeczywistego, ale za jego zarządzanie odpowiada jądro systemu operacyjnego.

Nie jest to zegar, jak aplikacje, które widzimy w naszych telefonach, ponieważ nie wyświetla godzin ani nie przedstawia upływu czasu za pomocą liczb.

Jednym z problemów, który należy rozwiązać, jest brak synchronizacji między dwoma zegarami (które stosują różne metody pomiaru czasu) a czasem rzeczywistym.

Aby temu zaradzić, po uruchomieniu komputera zegar systemowy odczytuje czas z zegara czasu rzeczywistego i stosuje formułę korekcyjną.

Zauważyłeś na starych komputerach, że jeśli nie ma połączenia z Internetem, czas, zamiast rzeczywistego, jest zaledwie kilka minut po tym, jak go wyłączyłeś.

Układ scalony na płycie głównej mierzy upływ czasu za pomocą oscylacji kryształu.

Powiadomienia czasowe na pulpicie i nie tylko

Talking Clock to skrypt, który można pobrać za pomocą tego linku .

Istnieje inna, bardziej standardowa opcja, ale zużywa więcej zasobów niż poprzedni program . Ta aplikacja nazywa się Saytime .

Aby uruchomić program, wystarczy uruchomić program, a następnie podać sekundy, które ma dać nam sygnał czasu. Ogólnie przyjmuje się liczbę 3.600, czyli sekundy, które zawiera godzina.

Kalendarz Gnome również umożliwia korzystanie z tego typu powiadomień opartych na czasie ; wystarczy je aktywować.

Aby jednak wszystkie opcje działały poprawnie, dźwięk musi być poprawnie skonfigurowany, w przeciwnym razie programy alarmowe również nie będą działać.

Przyspieszona ściąga: typowe sprawdzenia w timedatectl

Pozycja Co oznacza w kontekście problemu
Network time on: yes Zegar jest synchronizowany z wzorcem w sieci.
NTP synchronized: no
RTC in local TZ: no Zegar RTC nie pracuje w naszej strefie czasowe (RTC pokazuje UTC).
Jeśli zmienisz RTC in local TZ Zniknie problem z czasem w Windows, bo Linux będzie traktował czas w RTC jak nasz aktualny.
schemat RTC UTC a czas lokalny

23T15 Serwer NTP w 5 min. [Konfiguracja Mikrotik]

Linux zakłada, że RTC odmierza wzorcowy czas uniwersalany, skrótowo opisany UTC (Universal Time Coordinated). Polska znajduje się w strefie CET (Central European Time), nasz czas jest przesunięty o godzinę w przód, względem UTC, czyli UTC+1:00.

Linux podczas uruchamiania, gdy ma dostęp do sieci, odpytuje zdefiniowany serwer NTP, zapisuje czas UTC do sprzętowego zegara RTC, a sam wyświetla czas skonfigurowanej strefy czasowej, czyli dodaje lub odejmuje odpowiednie przesunięcie.

Później uruchamiamy Windows, który odczytuje czas z RTC i wyświetla go wprost, bez korekty dla strefy, czyli mamy opóźnienie godziny lub dwóch, zamiast czasu CET, mamy pokazywany czas UTC.

tags: #jak #pogrubic #zegar #ubuntu

Popularne posty:

About the author

Tomasz Sanecki administrator

Informatyk z zawodu i zamiłowania. Od 2007r właściciel firmy Perfect Systems. Specjalista do spraw bezpieczeństwa IT, serwisu urządzeń elektronicznych, sieci komputerowych. Prywatnie mąż i ojciec dwójki dzieci. Pasjonat nowoczesnych technologii, motocykli oraz włoskiego espresso.