Thread View: pl.comp.os.linux
22 messages
22 total messages
Started by Jacek
Thu, 17 Jul 2025 07:23
Wykonanie skryptu na resume
Author: Jacek
Date: Thu, 17 Jul 2025 07:23
Date: Thu, 17 Jul 2025 07:23
28 lines
1558 bytes
1558 bytes
Trzeba zrestartować zegar po każdym sleep. No to se wystrugałem taki skrypt:
#!/bin/bash
# wykonuje restart zegara po wybudzeniu ze sleep
case $1 in
hibernate)
;;
suspend)
;;
thaw)
;;
;;
resume)
timedatectl set-ntp 0
sleep 2s
timedatectl set-ntp 1
;;
*) echo "ERROR: used incorrectly."
;;
esac
Nadałem nazwę i umieściłem w
/usr/lib/pm-utils/sleep.d/00restart_timedatectl, nadałem też prawa do
wykonania. I co? Kicha, nie działa. Ma ktoś pomysł dlaczego?
--
Jacek Maciejewski
<I hate haters>
Re: Wykonanie skryptu na resume
Author: Jacek
Date: Thu, 17 Jul 2025 07:37
Date: Thu, 17 Jul 2025 07:37
12 lines
1318 bytes
1318 bytes
W dniu 17.07.2025 o 09:23, Jacek pisze: > Nadałem nazwę i umieściłem w /usr/lib/pm-utils/ > sleep.d/00restart_timedatectl, nadałem też prawa do wykonania. I co? > Kicha, nie działa. Ma ktoś pomysł dlaczego? Hmmm, a może polecenia powinny być pod thaw? -- Jacek Maciejewski <I hate haters>
Re: Wykonanie skryptu na resume
Author: 🇵🇱Jacek Marcin Jaworski🇵🇱
Date: Thu, 17 Jul 2025 09:38
Date: Thu, 17 Jul 2025 09:38
29 lines
2434 bytes
2434 bytes
W dniu 17.07.2025 o 09:23, Jacek pisze: > Trzeba zrestartować zegar po każdym sleep. No to se wystrugałem taki > skrypt: > [...] > Nadałem nazwę i umieściłem w > /usr/lib/pm-utils/sleep.d/00restart_timedatectl, nadałem też prawa do > wykonania. I co? Kicha, nie działa. Ma ktoś pomysł dlaczego? Czy chodzi o sleep czy o suspend? Jeśli o suspend, to trzeba użyć systemd, cytat: "Immediately before entering system suspend and/or hibernation systemd-suspend.service (and the other mentioned units, respectively) will run all executables in /usr/lib/systemd/system-sleep/ and pass two arguments to them. The first argument will be "pre", the second either "suspend", "hibernate", "hybrid-sleep", or "suspend-then-hibernate" depending on the chosen action. An environment variable called "SYSTEMD_SLEEP_ACTION" will be set and contain the sleep action that is processing. This is primarily helpful for "suspend-then-hibernate" where the value of the variable will be "suspend", "hibernate", or "suspend-after-failed-hibernate" in cases where hibernation has failed. Immediately after leaving system suspend and/or hibernation the same executables are run, but the first argument is now "post". All executables in this directory are executed in parallel, and execution of the action is not continued until all executables have finished. Note that user.slice will be frozen while the executables are running, so they should not attempt to communicate with any user services expecting a reply." źródło: <https://man.archlinux.org/man/systemd-sleep.8>
Re: Wykonanie skryptu na resume
Author: marrgol
Date: Thu, 17 Jul 2025 09:46
Date: Thu, 17 Jul 2025 09:46
47 lines
2371 bytes
2371 bytes
On 2025-07-17 at 09:23 Jacek wrote:
> Trzeba zrestartować zegar po każdym sleep. No to se wystrugałem taki skrypt:
>
> #!/bin/bash
> # wykonuje restart zegara po wybudzeniu ze sleep
>
> case $1 in
> hibernate)
> ;;
> suspend)
> ;;
> thaw)
> ;;
> ;;
> resume)
> timedatectl set-ntp 0
> sleep 2s
> timedatectl set-ntp 1
> ;;
> *) echo "ERROR: used incorrectly."
> ;;
> esac
>
> Nadałem nazwę i umieściłem w
> /usr/lib/pm-utils/sleep.d/00restart_timedatectl, nadałem też prawa do
> wykonania. I co? Kicha, nie działa. Ma ktoś pomysł dlaczego?
Ja nie mam, u mnie w distro już nawet nie ma pm-utils, teraz to się
systemd używa… ;)
Spróbuj taki wykonywalny skrypt:
--------------- 8< ---------------
#!/bin/bash
case $1 in
post) timedatectl set-ntp 0
sleep 2
timedatectl set-ntp 1
;;
esac
--------------- 8< ---------------
umieścić w katalogu /usr/lib/systemd/system-sleep/.
A tak w ogóle, to to raczej nie powinno być potrzebne, bo w porządnych
dystrybucjach system raczej sam dba o synchronizację czasu -- może
trzeba tylko chwili cierpliwości po wybudzeniu?
Re: Wykonanie skryptu na resume
Author: Jacek
Date: Thu, 17 Jul 2025 10:04
Date: Thu, 17 Jul 2025 10:04
7 lines
1300 bytes
1300 bytes
W dniu 17.07.2025 o 11:38, 🇵🇱Jacek Marcin Jaworski🇵🇱 pisze: > Czy chodzi o sleep czy o suspend? A cholera wie :) To coś co jest po zamknięciu klapy laptopa (Asus K53J). -- Jacek Maciejewski <I hate haters>
Re: Wykonanie skryptu na resume
Author: Konto58
Date: Thu, 17 Jul 2025 10:20
Date: Thu, 17 Jul 2025 10:20
61 lines
2697 bytes
2697 bytes
Thu, 17 Jul 2025 11:46:51 +0200 marrgol <marrgol@address.invalid> napisał(a): > On 2025-07-17 at 09:23 Jacek wrote: > > Trzeba zrestartować zegar po każdym sleep. No to se wystrugałem taki skrypt: > > > > #!/bin/bash > > # wykonuje restart zegara po wybudzeniu ze sleep > > > > case $1 in > > hibernate) > > ;; > > suspend) > > ;; > > thaw) > > ;; > > ;; > > resume) > > timedatectl set-ntp 0 > > sleep 2s > > timedatectl set-ntp 1 > > ;; > > *) echo "ERROR: used incorrectly." > > ;; > > esac > > > > Nadałem nazwę i umieściłem w > > /usr/lib/pm-utils/sleep.d/00restart_timedatectl, nadałem też prawa do > > wykonania. I co? Kicha, nie działa. Ma ktoś pomysł dlaczego? > > Ja nie mam, u mnie w distro już nawet nie ma pm-utils, teraz to się > systemd używa… ;) > > Spróbuj taki wykonywalny skrypt: > > --------------- 8< --------------- > #!/bin/bash > case $1 in > post) timedatectl set-ntp 0 > sleep 2 > timedatectl set-ntp 1 > ;; > esac > --------------- 8< --------------- Ja do synchronizacji używam: chronyc makestep > > umieścić w katalogu /usr/lib/systemd/system-sleep/. > > A tak w ogóle, to to raczej nie powinno być potrzebne, bo w porządnych > dystrybucjach system raczej sam dba o synchronizację czasu -- może > trzeba tylko chwili cierpliwości po wybudzeniu? Mnie może raz na rok, czas się źle synchronizuje po wybudzeniu, usypiam lapka co najmniej 2x dziennie, miałem spojrzeć w logi co jest przyczyną ale mi umknęło. Piotr.
Re: Wykonanie skryptu na resume
Author: Jacek
Date: Thu, 17 Jul 2025 10:48
Date: Thu, 17 Jul 2025 10:48
30 lines
2008 bytes
2008 bytes
W dniu 17.07.2025 o 11:46, marrgol pisze: > Ja nie mam, u mnie w distro już nawet nie ma pm-utils, teraz to się > systemd używa… 😉 Jak już jest taki atawizm to jednak powinien działać. > > Spróbuj taki wykonywalny skrypt: > > --------------- 8< --------------- > #!/bin/bash > case $1 in > post) timedatectl set-ntp 0 > sleep 2 > timedatectl set-ntp 1 > ;; > esac > --------------- 8< --------------- > > umieścić w katalogu/usr/lib/systemd/system-sleep/. OK, wypróbuję wieczorkiem i dam znać. > > A tak w ogóle, to to raczej nie powinno być potrzebne, bo w porządnych > dystrybucjach system raczej sam dba o synchronizację czasu -- może > trzeba tylko chwili cierpliwości po wybudzeniu? Owszem ale trzeba czekać kilkanaście minut do godziny a ja muszę mieć od razu. I znudziło mi się ręczne wklepywanie :) -- Jacek Maciejewski <I hate haters>
Re: Wykonanie skryptu na resume
Author: marrgol
Date: Thu, 17 Jul 2025 12:57
Date: Thu, 17 Jul 2025 12:57
8 lines
1450 bytes
1450 bytes
On 2025-07-17 at 12:20 Konto58 wrote: > Ja do synchronizacji używam: > chronyc makestep Parę miesięcy temu Jacek pytał tu o synchronizację czasu i namawialiśmy go na używanie chrony, ale nie zdradził, czy posłuchał, a 'timedatectl set-ntp' w(y)łącza daemona NTP niezależnie od tego, czy to chrony, czy systemd-timesyncd.
Re: Wykonanie skryptu na resume
Author: Jacek
Date: Thu, 17 Jul 2025 19:27
Date: Thu, 17 Jul 2025 19:27
24 lines
1664 bytes
1664 bytes
W dniu 17.07.2025 o 11:46, marrgol pisze: > Spróbuj taki wykonywalny skrypt: > > --------------- 8< --------------- > #!/bin/bash > case $1 in > post) timedatectl set-ntp 0 > sleep 2 > timedatectl set-ntp 1 > ;; > esac > --------------- 8< --------------- > > umieścić w katalogu/usr/lib/systemd/system-sleep/. No to nie działa. Oczywiście nadałem wykonywanie. Za każdym razem, gdy zamknę klapę lapka i otworzę ponownie, mam opóźnienie rzędu 0,5-0,9 s. Nawet dorzuciłem po parę sek opóźnienia na każde polecenie żeby nawiązało się połączenie sieciowe. -- Jacek Maciejewski <I hate haters>
Re: Wykonanie skryptu na resume
Author: Konto58
Date: Fri, 18 Jul 2025 08:07
Date: Fri, 18 Jul 2025 08:07
33 lines
1911 bytes
1911 bytes
Thu, 17 Jul 2025 21:27:05 +0200 Jacek <jacmac@tlen.pl> napisał(a): > W dniu 17.07.2025 o 11:46, marrgol pisze: > > Spróbuj taki wykonywalny skrypt: > > > > --------------- 8< --------------- > > #!/bin/bash > > case $1 in > > post) timedatectl set-ntp 0 > > sleep 2 > > timedatectl set-ntp 1 > > ;; > > esac > > --------------- 8< --------------- > > > > umieścić w katalogu/usr/lib/systemd/system-sleep/. > > No to nie działa. Oczywiście nadałem wykonywanie. Za każdym razem, gdy > zamknę klapę lapka i otworzę ponownie, mam opóźnienie rzędu 0,5-0,9 s. > Nawet dorzuciłem po parę sek opóźnienia na każde polecenie żeby > nawiązało się połączenie sieciowe. > > A coś w logach? a może testowo dodaj przed timedatectl np: echo $PATH > /tmp/mojlog i sprawdź w /tmp/mojlog czy w ogóle ten skrypt bangla Piotr.
Re: Wykonanie skryptu na resume
Author: marrgol
Date: Fri, 18 Jul 2025 11:27
Date: Fri, 18 Jul 2025 11:27
30 lines
2251 bytes
2251 bytes
On 2025-07-17 at 21:27 Jacek wrote: > W dniu 17.07.2025 o 11:46, marrgol pisze: >> Spróbuj taki wykonywalny skrypt: >> >> --------------- 8< --------------- >> #!/bin/bash >> case $1 in >> post) timedatectl set-ntp 0 >> sleep 2 >> timedatectl set-ntp 1 >> ;; >> esac >> --------------- 8< --------------- >> >> umieścić w katalogu/usr/lib/systemd/system-sleep/. > > No to nie działa. Oczywiście nadałem wykonywanie. Myślę, że skrypt jest uruchamiany, tylko z jakiegoś powodu sam pomysł, choć na pierwszy rzut oka wydaje się ok, nie działa. ;) > Za każdym razem, gdy > zamknę klapę lapka i otworzę ponownie, mam opóźnienie rzędu 0,5-0,9 s. Nawet > dorzuciłem po parę sek opóźnienia na każde polecenie żeby nawiązało się > połączenie sieciowe. Jeśli nadal tego nie zrobiłeś, to zainstaluj chrony, w jego konfiguracji (/etc/chrony/chrony.conf) znajdź linię zaczynającą się od 'makestep', zmień ją na 'makestep 0.1 -1' i zrestartuj chrony.service -- może to załatwi sprawę bez cudowania z jakimiś skryptami.
Re: Wykonanie skryptu na resume
Author: Jacek
Date: Fri, 18 Jul 2025 14:10
Date: Fri, 18 Jul 2025 14:10
25 lines
1931 bytes
1931 bytes
W dniu 18.07.2025 o 10:07, Konto58 pisze: > Thu, 17 Jul 2025 21:27:05 +0200 > Jacek <jacmac@tlen.pl> napisał(a): > [-] > A coś w logach? > > a może testowo dodaj przed timedatectl np: > echo $PATH > /tmp/mojlog > > i sprawdź w /tmp/mojlog czy w ogóle ten skrypt bangla > Jednak działa, tyle że z pewnym opóźnieniem. Po podniesieniu klapy i wciśnięciu Enter właściwy czas mam po 35-38 sek. Koło 30 sek jeszcze jest zły. Wcześniej sprawdzałem po jakichś 20-25 sek więc nie wychodziło :) Ponieważ nie wiem jak i kiedy jest uruchamiany ten skrypt, nie wiem czemu tak późno działa ale wynik 35 sek jest dla mnie do przyjęcia więc nie będę dalej drążył. Wszystkim a w szczególności margolowi dzięki za pomoc. -- Jacek Maciejewski <I hate haters>
Re: Wykonanie skryptu na resume
Author: marrgol
Date: Fri, 18 Jul 2025 17:53
Date: Fri, 18 Jul 2025 17:53
12 lines
1911 bytes
1911 bytes
On 2025-07-18 at 16:10 Jacek wrote: > Jednak działa, tyle że z pewnym opóźnieniem. Po podniesieniu klapy i > wciśnięciu Enter właściwy czas mam po 35-38 sek. Koło 30 sek jeszcze jest > zły. Wcześniej sprawdzałem po jakichś 20-25 sek więc nie wychodziło :) > Ponieważ nie wiem jak i kiedy jest uruchamiany ten skrypt, nie wiem czemu > tak późno działa ale wynik 35 sek jest dla mnie do przyjęcia więc nie będę > dalej drążył. Z testów w Mincie 22.1 Live wyszło mi, że przy użyciu chrony właściwy czas był już po pojedynczych sekundach od obudzenia kompa, no ale skoro wykonanie 'apt install chrony' i zmiana jednej linijki w jednym pliku to za dużo „drążenia”… ;)
Re: Wykonanie skryptu na resume
Author: nic
Date: Fri, 18 Jul 2025 18:49
Date: Fri, 18 Jul 2025 18:49
5 lines
1259 bytes
1259 bytes
W dniu 18.07.2025 o 19:53, marrgol pisze: > Z testów w Mincie 22.1 Live wyszło mi, że przy użyciu chrony właściwy > czas był już po pojedynczych sekundach od obudzenia kompa, nie było właściwych czasów bez użycia chrony?
Re: Wykonanie skryptu na resume
Author: Jacek
Date: Fri, 18 Jul 2025 19:21
Date: Fri, 18 Jul 2025 19:21
30 lines
2651 bytes
2651 bytes
W dniu 18.07.2025 o 19:53, marrgol pisze: > On 2025-07-18 at 16:10 Jacek wrote: >> Jednak działa, tyle że z pewnym opóźnieniem. Po podniesieniu klapy i >> wciśnięciu Enter właściwy czas mam po 35-38 sek. Koło 30 sek jeszcze jest >> zły. Wcześniej sprawdzałem po jakichś 20-25 sek więc nie wychodziło :) >> Ponieważ nie wiem jak i kiedy jest uruchamiany ten skrypt, nie wiem czemu >> tak późno działa ale wynik 35 sek jest dla mnie do przyjęcia więc nie będę >> dalej drążył. > > Z testów w Mincie 22.1 Live wyszło mi, że przy użyciu chrony właściwy > czas był już po pojedynczych sekundach od obudzenia kompa, no ale skoro > wykonanie 'apt install chrony' i zmiana jednej linijki w jednym pliku > to za dużo „drążenia”… ;) > > Nie ulegaj pozorom. Żeby czas się uaktualnił, laptop musi ponownie nawiązać łączność z netem co zabiera od naciśnięcia Enter do pojawienia się komunikatu "połączony" 10-15 sek. Chrony tego ograniczenia nie przeskoczy, z braku netu nic nie zsynchronizuje. Kolejnych 15 sek zajmuje wykonanie skryptu co wynika z opóźnień w niego wbudowanych. Zmniejszyłem te opóźnienia i obecnie dokładny czas pojawia się typowo po 18 sek. Wytłumacz mi po co mam instalować dodatkowy program skoro ten co mam działa? Na dobitkę mniej więcej rozumiem co robi, podczas gdy tego chrony nie i musiałbym się uczyć zadając tu kolejne pytania :) Jak coś działa, nie naprawiaj :) -- Jacek Maciejewski <I hate haters>
Re: Wykonanie skryptu na resume
Author: marrgol
Date: Fri, 18 Jul 2025 23:21
Date: Fri, 18 Jul 2025 23:21
29 lines
2702 bytes
2702 bytes
On 2025-07-18 at 21:21 Jacek wrote: >> Z testów w Mincie 22.1 Live wyszło mi, że przy użyciu chrony właściwy >> czas był już po pojedynczych sekundach od obudzenia kompa […] >> > Nie ulegaj pozorom. Hę? Nie zdarza mi się przemieszczać względem mojego komputera na tyle szybko, żeby zaobserwować dylatację czasu, więc jeśli zauważam korekcję czasu po kilku sekundach, to ona faktycznie następuje po kilku sekundach, a nie po kilkunastu czy kilkudziesięciu. > Żeby czas się uaktualnił, laptop musi ponownie nawiązać > łączność z netem co zabiera od naciśnięcia Enter do pojawienia się > komunikatu "połączony" 10-15 sek. Chrony tego ograniczenia nie przeskoczy, z > braku netu nic nie zsynchronizuje. Śmiałe stwierdzenie jak na kogoś, kto chwilę później przyznaje, że nie wie jak chrony działa. :) > Wytłumacz mi po co mam instalować dodatkowy program skoro ten co mam działa? > Na dobitkę mniej więcej rozumiem co robi, podczas gdy tego chrony nie i > musiałbym się uczyć zadając tu kolejne pytania :) Jak coś działa, nie > naprawiaj :) No jakbym słyszał moją starą! :D Na cholerę jej zmywarka albo mikrofalówka skoro przecież ma już zlew, w którym zmywa, i kuchenkę, na której podgrzewa żarcie, a obsługi tych nowych machin z piekła rodem musiałaby się uczyć? Ale spoko, jak to mówią „nie mój wóz, nie będzie mnie wiózł”, „twoja broszka” itp.
Re: Wykonanie skryptu na resume
Author: marrgol
Date: Fri, 18 Jul 2025 23:22
Date: Fri, 18 Jul 2025 23:22
7 lines
1530 bytes
1530 bytes
On 2025-07-18 at 20:49 nic wrote: >> Z testów w Mincie 22.1 Live wyszło mi, że przy użyciu chrony właściwy >> czas był już po pojedynczych sekundach od obudzenia kompa, > > nie było właściwych czasów bez użycia chrony? Przeczytałeś cały wątek? Ze zrozumieniem?
Re: Wykonanie skryptu na resume
Author: Jacek
Date: Sat, 19 Jul 2025 06:57
Date: Sat, 19 Jul 2025 06:57
13 lines
1793 bytes
1793 bytes
W dniu 19.07.2025 o 01:21, marrgol pisze: >> Żeby czas się uaktualnił, laptop musi ponownie nawiązać >> łączność z netem co zabiera od naciśnięcia Enter do pojawienia się >> komunikatu "połączony" 10-15 sek. Chrony tego ograniczenia nie przeskoczy, z >> braku netu nic nie zsynchronizuje. > Śmiałe stwierdzenie jak na kogoś, kto chwilę później przyznaje, > że nie wie jak chrony działa. 🙂 A jak działa? To znaczy, jak synchronizuje zegar z wzorcem do którego nie ma dostępu? -- Jacek Maciejewski <I hate haters>
Re: Wykonanie skryptu na resume
Author: nic
Date: Sat, 19 Jul 2025 15:29
Date: Sat, 19 Jul 2025 15:29
13 lines
1514 bytes
1514 bytes
W dniu 19.07.2025 o 01:22, marrgol pisze: > On 2025-07-18 at 20:49 nic wrote: >>> Z testów w Mincie 22.1 Live wyszło mi, że przy użyciu chrony właściwy >>> czas był już po pojedynczych sekundach od obudzenia kompa, >> >> nie było właściwych czasów bez użycia chrony? > > Przeczytałeś cały wątek? Ze zrozumieniem? > > będzie ciężko. nie rozumiem nawet co moje pytanie ma do całego wątku.
Re: Wykonanie skryptu na resume
Author: szopen
Date: Thu, 24 Jul 2025 10:35
Date: Thu, 24 Jul 2025 10:35
10 lines
1538 bytes
1538 bytes
On 19.07.2025 08:57, Jacek wrote: >> Śmiałe stwierdzenie jak na kogoś, kto chwilę później przyznaje, >> że nie wie jak chrony działa. 🙂 > A jak działa? To znaczy, jak synchronizuje zegar z wzorcem do którego nie ma dostępu? No jak to? DCF77! ;-) -- szopen
Re: Wykonanie skryptu na resume
Author: Jacek
Date: Thu, 24 Jul 2025 10:56
Date: Thu, 24 Jul 2025 10:56
15 lines
1699 bytes
1699 bytes
W dniu 24.07.2025 o 12:35, szopen pisze: > On 19.07.2025 08:57, Jacek wrote: >>> Śmiałe stwierdzenie jak na kogoś, kto chwilę później przyznaje, >>> że nie wie jak chrony działa. 🙂 >> A jak działa? To znaczy, jak synchronizuje zegar z wzorcem do którego >> nie ma dostępu? > > No jak to? DCF77! ;-) > > Akurat :) Już prędzej telepatia. -- Jacek Maciejewski <I hate haters>
Re: Wykonanie skryptu na resume
Author: marrgol
Date: Thu, 24 Jul 2025 18:00
Date: Thu, 24 Jul 2025 18:00
30 lines
2972 bytes
2972 bytes
On 2025-07-24 at 12:56 Jacek wrote: >>>> Śmiałe stwierdzenie jak na kogoś, kto chwilę później przyznaje, >>>> że nie wie jak chrony działa. 🙂 >>> A jak działa? To znaczy, jak synchronizuje zegar z wzorcem do którego nie >>> ma dostępu? >> >> No jak to? DCF77! ;-) >> >> > Akurat :) Już prędzej telepatia. Zwykłe obliczenia. Odnosiłem się do stwierdzenia „żeby czas się uaktualnił, laptop musi ponownie nawiązać łączność z netem” -- synchronizacja zegara z wzorcem przez chrony nie sprowadza się do durnego „przepisywania” czasu z serwera do lokalnego systemowego, tylko na analizie w jakim tempie czas systemowy „rozjeżdża się” z wzorcem i z zegarem sprzętowym, i na tej podstawie obliczaniu i dokonywaniu korekt prędkości tykania zegara systemowego tak, by był on jak najbliższy wzorcowemu. Czas na serwerze jest sprawdzany sporadycznie, a nie non-stop, i im więcej czasu upłynie od uruchomienia chrony i/lub ostatniego prawidłowego odczytu czasu z serwera, tym rzadziej. Po „nauczeniu się” tych odchyłek chrony świetnie radzi sobie z utrzymaniem dość dokładnego czasu nawet przy czasowym całkowitym braku dostępu do serwera i jest też w stanie dość precyzyjnie i szybko uaktualnić czas systemowy np. po obudzeniu komputera NIE MUSZĄC od razu kontaktować się z serwerem. Ty sobie wymyśliłeś restart (nie najlepszego) klienta NTP żeby wymusić odczyt czasu z serwera, ale to jeszcze nie tworzy reguły, że to tak musi działać -- jak to gdzieś ostatnio przeczytałem: nie ulegaj pozorom. RTFM.
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads