Μείωση του eye strain με αυτοματοποιημένο τρόπο

Χαιρετώ την ωραία παρέα! Καλή και ευλογημένη χρονιά σε όλους!

Χρήστης που του αρέσουν οι αυτοματισμοί ακόμη και αν έχουν μικρο-εφαρμογές και κοστίζουν πολύ παπαράνω χρονικά σε σχέση με μία απλή πεζή λύση… Αλλά εντάξει όταν πρόκειται για καθημερινά επαναλαμβανόμενες δουλειές, νομίζω ότι αξίζει η αυτοματοποίησή τους.

Επίσης, είμαι πολύωρος χρήστης των υπολογιστών καθημερινά και κάτοχος γυαλιών οράσεως από ηλικία νηπιαγωγείου, με γενικότερη ευαισθησία στα μάτια (και σίγουρα στις μεταβολές του φωτός και στις κακές αντιθέσεις)

Έτσι λοιπόν όσον αφορά το κομμάτι οθόνες, eye strain, night light κλπ το έχω ψάξει ΠΟΛΥ! Φοράω και blue light filter στα γυαλιά μου (και ναι κάνει διαφορά όταν χρησιμοποιείς πολλές ώρες το PC). Στο παρόν άρθρο πρόκειται να σας δείξω τα softwarικά πράγματα που μπορεί να κάνει κανείς για να βελτιώσει την εμπειρία χρήσης τον οθονών του υπολογιστή καθώς και κάποια άλλα προγραμματισμένα task που μπορούν να γίνονται αυτόματα σε συγκεκριμένες ώρες τις ημέρας.

Ο λόγος γίνεται για το λογισμικό ονόματι gammastep. Το gammastep λοιπόν δίνει την δυνατότητα να τρέχει scripts ανάλογα με τις ώρες της ημέρας και την κίνηση του ήλιου. Αυτό μπορεί να γίνει είτε με μια fix τοποθεσία, είτε να τρέχουμε κάποιον daemon στο background για να βρίσκει αυτόματα την τοποθεσία μας και να αναπροσαρμόζει τις ώρες κάθε φορά. (Ανάλογα με τη χρήση που θέλει να κάνει ο καθείς. Αν το βάλεις σε σταθερό που δεν αλλάζει ποτέ θέση, απλά βάζεις custom τοποθεσία και τελειώνεις. Αν από την άλλη είσαι ταξιδιάρης, setάρεις το laptop έτσι ώστε να τραβάει αυτόματα την τοποθεσία και να είναι πάντα σωστά ρυθμισμένο.)

Αντιλαμβάνεστε ότι εφόσον πρόκειται για εκτέλεση script οι δυνατότητες είναι άπειρες.

Πάμε να δούμε ένα πολύ απλό configuration πως μοιάζει. Το αρχείο είναι το ~/.config/gammastep/config.ini

[general]
temp-night=3600
fade=1
gamma=0.8
location-provider=manual

[manual]
lat=40.62
lon=22.94

Οι παρούσες συντεταγμένες είναι της Θεσσαλονίκης
Και το επόμενο βήμα είναι να “ξεκινάμε” το gammastep στην εκκίνηση του συστήματος. Προσωπικά χρησιμοποιώ sway Window Manager, οπότε στο config του sway απλά προσθέτω την παρακάτω γραμμή.

gammastep-indicator &

(φυσικά είτε έχοντας μπροστά τη λέξη exec είτε φτιάχνοντας ένα exec {} block και βάζοντας εκεί μέσα ότι θέλουμε να εκτελεστεί)

Το night light είναι ρυθμισμένο και από εδώ και πέρα θα δουλεύει για τις ώρες ανατολής και δύσης του ηλίου για την τοποθεσία Θεσσαλονίκη.

Το επόμενο που ήθελα να αλλάζω αυτόματα ήταν τα themes. Το πρωί χρησιμοποιώ light themes και το βράδυ χρησιμοποιώ dark themes. (και ψυχολογική η εναλλαγή και βοηθητική για τα μάτια φυσικά) (σπάει λίγο η μονοτονία ρε παιδί μου τόσες ώρες!)

Χρησιμοποιώντας το gammastep είναι πολύ εύκολο καθώς έχει έναν φάκελο που τον ονομάζει hooks και εκτελεί ό,τι βρει εκεί μέσα δίνοντας τα κατάλληλα ορίσματα στο script.

Εγώ προσωπικά χρησιμοποιώ άλλη μία εντολή, τη run-parts ώστε σε κάθε αλλαγή να τρέχω ένα σύνολο από scripts. Έτσι ο φάκελος του gammastep μοιάζει κάπως έτσι

 gammastep
├── config.ini
├── day.d
│   ├── brightness
│   └── themes
├── hooks
│   └── change
└── night.d
    ├── brightness
    └── themes

Το script change περιέχει τον παρακάτω κώδικα:

#!/bin/bash

if [ $1 == "period-changed" ]; then
    case $3 in
        daytime)
            /usr/bin/run-parts ~/.config/gammastep/day.d;;
        night)
            /usr/bin/run-parts ~/.config/gammastep/night.d;;
        transition)
            sudo light -S 30;;
       *)
           exit 1;;
    esac
fi

Αν έχει έρθει η ώρα της ημέρας, τρέχω τον φάκελο day.d και αντίστοιχα για τη νύχτα, τον φάκελο night.d. Αν βρίσκεται απλά σε ώρα αλλαγής (transition) αλλάζω μόνο τη φωτεινότητα της οθόνης του laptop) (θα εξηγήσω σε άλλο άρθρο πως τρέχει αυτή η εντολή με sudo χωρίς να δοθεί κωδικός)

Τα θέματα μπορούν να αλλαχτούν σε ένα gnome περιβάλλον την εντολή

gsettings set org.gnome.desktop.interface blah blah blah

Ανάλογα με το τι θέλουμε να πειράξουμε. Εγώ λοιπόν αλλάζω τις ρυθμίσεις στέλνοντας την εκάστοτε εντολή, αλλά αλλάζω και το κομμάτι των θεμάτων στον window manager μου, ώστε αν γίνει επανεκίννηση του wm στο ενδιάμεσο να παραμείνουν τα ίδια θέματα. Επίσης επειδή είμαι σε Wayland ρυθμίζω τα θέματα του Xwayland με το xsettingsd

Το αρχείο λοιπόν μοιάζει κάπως έτσι

#!/bin/env bash

theme="Fluent-grey-light"
icon="Surfn-Numix"
cursor="Simp1e-Breeze"
font="Open Sans"

gsettings set org.gnome.desktop.interface gtk-theme "${theme}"
gsettings set org.gnome.desktop.interface icon-theme "${icon}"
gsettings set org.gnome.desktop.interface cursor-theme "${cursor}"
gsettings set org.gnome.desktop.interface color-scheme prefer-light


echo "# vim:ft=config
exec_always {
    gsettings set org.gnome.desktop.interface gtk-theme \"${theme}\"
    gsettings set org.gnome.desktop.interface icon-theme \"${icon}\"
    gsettings set org.gnome.desktop.interface font-name\"${font}\"
    gsettings set org.gnome.desktop.interface cursor-theme \"${cursor}\"
    gsettings set org.gnome.desktop.interface color-scheme prefer-light
}
" > ~/.config/sway/themes.conf

# Xsettings
xsettingsd_pid=$(pgrep xsettingsd)
[ -z "${xsettingsd_pid}" ] || kill "${xsettingsd_pid}"

echo "Gtk/CursorTheme         \"${cursor}\"
Net/IconThemeName       \"${icon}\"
Net/ThemeName           \"${theme}\"
" > ~/.config/xsettingsd/xsettingsd.conf

/usr/bin/xsettingsd &

Σημείωση Από τη στιγμή που το gtk4 δεν υποστηρίζει αλλαγή θέματος, η εντολή για την αλλαγή από light σε dark είναι η παρακάτω:

gsettings set org.gnome.desktop.interface color-scheme prefer-dark

και prefer-light για το ανάποδο.

Σε επόμενο άρθρο χρωστώ (για όποιον δεν θέλει να το ψάξει μόνος του):

  1. Αυτόματη ρύθμιση τοποθεσίας (hint geoclue2)
  2. Ρύμθιση φωτεινότητας εξωτερικής οθόνης που είναι συνδεδεμένη με HDMI ή DP (γενικά με ψηφιακό και όχι αναλογικό τρόπο για να μπορεί να “μιλήσει” με DPMS με την οθόνη) (hint ddcutil)
  3. Αλλαγές φόντου (αν και αυτό ποικείλει ανάλογα με το τι περιβάλλον χρησιμοποιούμε)
  4. Πως μπορεί να ρυθμιστεί ένα plug in που παίζει σε browsers (dark reader) ώστε να αλλάζει ανάλογα με τις αλλαγές των θεμάτων (και πως μπορεί να προστεθούν εξαιρέσεις για συγκεκριμένα site)

Μέχρι τότε, παρατηρήσεις, βελτιώσεις και γόνιμη κουβέντα ευπρόσδεκτα!

14 «Μου αρέσει»

Ωραιο το άρθρο σου, μου θυμιζει το redshift που αλλάζει την “θερμοκρασία” (color temperature) ανάλογα με την τοποθεσία σου. Γιατί να το κάνεις αυτόματα, καλύτερα manually. To αυτόματο χωρίς internet δεν θα παίζει. Επίσης, δεν είμαι σίγουρος αν οι αλλαγες που κάνεις, είναι πράγματι καλές για την όραση σου. Είναι αλλαγές που εσυ πιστεύεις ότι είναι καλές, ή είναι “αποδεδειγμένα” (δηλ. υπάρχει κάποια μελέτη που ακολούθησες) για τις αλλαγές που κάνεις;

Wayland και sway wm, θέλουμε και εικόνα…
Ποιες είναι οι εντυπώσεις σου @christ0s από την φωτεινότητα και την ευκρίνεια του Wayland; Υπερέχει από τον X.org “display server”;

Σε ευχαριστώ για τα καλά σου λόγια! Και εγώ το redshift χρησιμοποιούσα όσο ήμουν σε X11 και πέρασα στο gammastep με την παρότρυνση αλλαγής προγραμμάτων του Are we wayland yet? όταν πέρασα σε Wayland.

Ήμουν ταξίδι 13 ημέρες σε άλλη ήπειρο και μου καραέσπασε τα νεύρα που όλα τα είχα manual στημένα και όχι αυτόματα. Από το timezone μέχρι τις ρυθμίσεις τοποθεσίας κλπ… Και γι αυτό το λόγο ψάχτηκα με το αυτόματο της υπόθεσης. (Βλέπεις έκανα τη διάκριση ενός desktop μηχανήματος από ένα laptop και μάλιστα αναφέρθηκα σε ταξιδιάρηδες)

Οι αλλαγές που κάνω, μπορούν να πειραχτούν από τον καθένα. Η μείωση του blue light πέρα από τη μείωση της κόπωσης του οφθαλμού συντελεί στην ορθή έκκριση μελατονίνης από τον οργανισμό στις ώρες που πρέπει και αποτρέπει τη διαταραχή αυτού του μηχανισμού. Άρα δεν πρόκειται περί έρευνας κλπ, ρύθμισέ τα όπως σε βολεύουν και πρακτικά όσο αντέχεις την κιτρινίλα της υπόθεσης :joy:.

Έχω μιλήσει με φίλους που έβαλαν blue light filter στα γυαλιά τους και γκρίνιαζαν για το κιτρίνισμα της εικόνας και για τα εξτρά λεφτά που δώσανε. Ναι, αν δουλεύεις 1-2 ώρες την ημέρα σε οθόνη ή ακόμα και 5-6 αλλά αποσπασματικά, δεν προλαβαίνει να επέλθει η κόπωση για να δεις το ευεργετικό αποτέλεσμα του φίλτρου. Μέσος όρος θέασης οθόνης καθημερινά για μένα είναι minimum 8 ώρες, οπότε ναι βλέπω αποτέλεσμα. (Το καλοκαίρι που μας πέρασε, συνδυασμός stress, κόπωσης και πολύωρης χρήσης οθονών σε καθημερινή βάση με κακό φωτισμό δωματίου και δημιουργία κακών αντιθέσεων, με στείλανε στο οφθαλμίατρο με μερική απώλεια όρασης. (πίστεψέ με, κακή εμπειρία!)) (και γενικά έχω χειροτερέψει αρκετά την υγεία των ματιών μου με τα προαναφερθέντα και εν τέλει γι αυτό ψάχτηκα παραπάνω με κάποια πράγματα)

Γενικά η εργονομία στις πολύωρες επαναλαμβανόμενες εργασίες είναι κάτι που πρέπει να παίρνουμε στα σοβαρά γιατί είναι κρίμα να δημιουργούμε προβλήματα από το πουθενά στο σώμα μας…

2 «Μου αρέσει»

Θα έρθει και εικόνα σχετικά σύντομα!

Ο μόνος λόγος που είχα γυρίσει σε Wayland ήταν η χρήση οθόνης HiDPI και η αδυναμία χρήσης fractional scalling με διαφορετικό scale factor για την κάθε οθόνη κάτω από την κουκούλα του X11.

Με τον καιρό διαπιστώνω άλλη φορά ευκολίες και άλλοτε δυσκολίες στις αλλαγές που υπάρχουν μεταξύ των 2 display servers. Σε υψηλό επίπεδο λοιπόν, μάλλον απλά αλλάζεις κάποια πράγματα και μαθαίνεις να δουλεύεις με αυτά έναντι των παλιών. Σε χαμηλό επίπεδο, θεωρητικά το Wayland είναι το μέλλον και πολύ πιο ασφαλές. Θα το δείξει η ιστορία και η αποδοχή που θα λάβει από τον κόσμο.

1 «Μου αρέσει»

Φαντάζομαι μετά από τόσες ώρες εργασίας μπροστά από μια οθόνη θα δημιουργούνται και πονοκέφαλοι.
Από προσωπική εμπειρία στην εργασία μου, που περιλαμβάνει 6-8 ώρες στον υπολογιστή, αλλά σε περιβάλλον windows, χρησιμοποιώ σκοτεινό θέμα και ρύθμιση της φωτεινότητας.
Τέλος η οφθαμίατρος μου είχε ανακαλύψει υψηλή πίεση οφθαλμών, σημείο που πρέπει οπωσδήποτε να ελέγχεται για λόγους που θα σας εξηγήσει ένας/μία οφθαλμίατρος.

1 «Μου αρέσει»

To αυτόματο (δεν διευκρίνησα) που έγραψα αφορουσε στην παρακάτω ερώτηση και όχι γενικά.

Το να δινεις πρόσβαση στο geoclue2 μπορει να μην ξεκινήσει το πρόγραμμα σου αν δεν εχεις internet, γιατί δεν θα βρίσκει server για να εντοπίσει την τοποθεσία σου αλλά και για privacy (που ίσως να σε ενδιαφέρει ίσως και όχι). Οπότε καλυτερα να δωσεις χειροκινητα την τοποθεσία. Για τα αλλά, δηλ. τα σκριπτάκια μια χαρά, αλλά δεν γνωρίζω ποιες πρέπει να είναι οι κατάλληλες ρυθμίσεις που βοηθούν την όραση. Ϊσως ο σωστός φωτισμός, σωστή θέση στον υπολογιστή και γενικα εξωτερικές συνθήκες, μπορεί να ευθύνονται εξίσου με την “κακή” επίλογη χρωματων/φωτεινότητας κλπ.

Μαζί μιλάμε χώρια καταλαβαινόμαστε… Κάνε χειροκίνητη τη ρύθμιση εσύ. Το έγραψα για όποιον θέλει να μπορεί να χρησιμοποιήσει και μία ακόμη επιλογή. Τώρα δε, που τον πληροφόρησες (τον οποιονδήποτε) και για τις πιθανές δυσλειτουργίες - ανησυχίες (ιδιωτικότητας), ξέρει όλο το πακέτο πριν προχωρήσει.

δεν δουλέυει το redshift ούτε το gammastep με wayland

Τσέκαρε κανένα log. Το gammastep το χρησιμοποιώ σε 2 διαφορετικά setup και το έχω setάρει και σε φίλους με επίσης διαφορετικά setup και παίζει μια χαρά με wayland.

1 «Μου αρέσει»