Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 09/09/2023, à 21:54

Poun64

[Résolu] Script pour modifier temporairement le "Gamma" de mon écran

Bonjour toul'monde !

Pour mieux visualiser certaines émissions TV sur mon PC, je suis amené à rendre plus clair mon écran.
La commande bash qui va bien est

xgamma -gamma 1.20

Pour revenir en mode normal je fais :

xgamma -gamma 0.90

Au lieu de créer deux scripts différents, y a-t-il une solution simple pour en créer un seul qui fonctionnerait comme un interrupteur "jour/nuit" ?
- Premier lancement = Mode clair
- Deuxième lancement = Mode sombre
- Troisième lancement = Mode clair
- Etc...

Merci pour votre aide !

Dernière modification par Poun64 (Le 10/09/2023, à 00:55)


1) Xubuntu 22.04._LTS + Windows 10 - Gigabyte GA H77M - Intel Core I7 3770K / HD Graphics 4000 - 4 cœurs - 3,5 Ghz - 16 Go de RAM
2) Xubuntu 22.04._LTS + Windows 11 - Gigabyte H610M S2H - Intel I3-12100 / UHD Graphics 730 intégré - 4 cœurs - 3,3 Ghz - 16 Go de RAM
3) Xubuntu 22.04._LTS  - NetBook ACER TravelMate - Intel Celeron N4020 - 2 cœurs - 1,1 Ghz - 4 Go de RAM - Intel UHD Graphics 605

Hors ligne

#2 Le 09/09/2023, à 22:16

Watael

Re : [Résolu] Script pour modifier temporairement le "Gamma" de mon écran

salut,

il faut récupérer la valeur gamma, et la tester.
selon la valeur récupérée, le test exécutera une commande ou l'autre.


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#3 Le 09/09/2023, à 22:40

Poun64

Re : [Résolu] Script pour modifier temporairement le "Gamma" de mon écran

Merci pour ton retour Watael,

C'est ce que je voyais comme principe : lire la valeur gamma du moment et la mettre dans une variable.
Si la variable est inférieure à 1, alors on passe Gamma à 1.20
Si la variable est supérieure à 1, alors on passe Gamma à 0.90

Mon problème, c'est que j'ai presque tout à apprendre sur les commandes bash et un peu d'aide éclairée me ferait gagner beaucoup de temps...

tongue


1) Xubuntu 22.04._LTS + Windows 10 - Gigabyte GA H77M - Intel Core I7 3770K / HD Graphics 4000 - 4 cœurs - 3,5 Ghz - 16 Go de RAM
2) Xubuntu 22.04._LTS + Windows 11 - Gigabyte H610M S2H - Intel I3-12100 / UHD Graphics 730 intégré - 4 cœurs - 3,3 Ghz - 16 Go de RAM
3) Xubuntu 22.04._LTS  - NetBook ACER TravelMate - Intel Celeron N4020 - 2 cœurs - 1,1 Ghz - 4 Go de RAM - Intel UHD Graphics 605

Hors ligne

#4 Le 09/09/2023, à 23:31

Sciensous

Re : [Résolu] Script pour modifier temporairement le "Gamma" de mon écran

dans chacun des cas mets le retour de

xgamma

cool

Dernière modification par Sciensous (Le 09/09/2023, à 23:36)


antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )

Hors ligne

#5 Le 10/09/2023, à 00:04

Poun64

Re : [Résolu] Script pour modifier temporairement le "Gamma" de mon écran

Quand Xgamma = 0.90 :

poun@Gigapoun:~$ xgamma
-> Red  0.900, Green  0.900, Blue  0.900
poun@Gigapoun:~$

Quand Xgamma = 0.20 :

poun@Gigapoun:~$ xgamma
-> Red  1.200, Green  1.200, Blue  1.200
poun@Gigapoun:~$

1) Xubuntu 22.04._LTS + Windows 10 - Gigabyte GA H77M - Intel Core I7 3770K / HD Graphics 4000 - 4 cœurs - 3,5 Ghz - 16 Go de RAM
2) Xubuntu 22.04._LTS + Windows 11 - Gigabyte H610M S2H - Intel I3-12100 / UHD Graphics 730 intégré - 4 cœurs - 3,3 Ghz - 16 Go de RAM
3) Xubuntu 22.04._LTS  - NetBook ACER TravelMate - Intel Celeron N4020 - 2 cœurs - 1,1 Ghz - 4 Go de RAM - Intel UHD Graphics 605

Hors ligne

#6 Le 10/09/2023, à 00:11

Sciensous

Re : [Résolu] Script pour modifier temporairement le "Gamma" de mon écran

ok, le retour n'est pas facile à utilser, donc je propose un truc rapide :

[ "$(grep -rw connected /sys/class/drm/*/status |wc -l)" -eq 1 ] && xgamma -gamma 0.9 || xgamma -gamma 1.2

(édité grep +wc)

explication cherche les sorties video actives, ne retourne que le nombre de ce qui est connecté

si 1, la valeur usuelle 0.9 sinon 1.2

Dernière modification par Sciensous (Le 10/09/2023, à 00:14)


antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )

Hors ligne

#7 Le 10/09/2023, à 00:37

Poun64

Re : [Résolu] Script pour modifier temporairement le "Gamma" de mon écran

Que dois-je faire de cette commande ?
Si je la rentre dans un terminal, ça donne :

poun@Gigapoun:~$ [ "$(grep -rw connected /sys/class/drm/*/status |wc -l)" -eq 1 ] && xgamma -gamma 0.9 || xgamma -gamma 1.2
-> Red  0.900, Green  0.900, Blue  0.900
<- Red  0.900, Green  0.900, Blue  0.900
poun@Gigapoun:~$

Si je la mets dans un script, rien ne se passe...
Par contre si Xgamma est déjà à 1.2, alors la commande le fait passer à 0.9

Dernière modification par Poun64 (Le 10/09/2023, à 00:40)


1) Xubuntu 22.04._LTS + Windows 10 - Gigabyte GA H77M - Intel Core I7 3770K / HD Graphics 4000 - 4 cœurs - 3,5 Ghz - 16 Go de RAM
2) Xubuntu 22.04._LTS + Windows 11 - Gigabyte H610M S2H - Intel I3-12100 / UHD Graphics 730 intégré - 4 cœurs - 3,3 Ghz - 16 Go de RAM
3) Xubuntu 22.04._LTS  - NetBook ACER TravelMate - Intel Celeron N4020 - 2 cœurs - 1,1 Ghz - 4 Go de RAM - Intel UHD Graphics 605

Hors ligne

#8 Le 10/09/2023, à 00:46

Sciensous

Re : [Résolu] Script pour modifier temporairement le "Gamma" de mon écran

j'ai voulu faire "simple": si 1 seul écran: 0.9 si TV connectée (HDMI ?) : 1.2

si tu veux vraiment un mode "commutateur" qui alterne:

xgamma 2>/tmp/xgamma; grep '1.2' /tmp/xgamma && x=0.9 || x=1.2; xgamma -gamma $x

Dernière modification par Sciensous (Le 10/09/2023, à 00:47)


antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )

Hors ligne

#9 Le 10/09/2023, à 00:53

Poun64

Re : [Résolu] Script pour modifier temporairement le "Gamma" de mon écran

Tu es un Dieu !
C'est exactement ce commutateur que je cherchais !
Merci tout plein pour ton aide.

Je passe le sujet à [Résolu]

Dernière modification par Poun64 (Le 10/09/2023, à 00:54)


1) Xubuntu 22.04._LTS + Windows 10 - Gigabyte GA H77M - Intel Core I7 3770K / HD Graphics 4000 - 4 cœurs - 3,5 Ghz - 16 Go de RAM
2) Xubuntu 22.04._LTS + Windows 11 - Gigabyte H610M S2H - Intel I3-12100 / UHD Graphics 730 intégré - 4 cœurs - 3,3 Ghz - 16 Go de RAM
3) Xubuntu 22.04._LTS  - NetBook ACER TravelMate - Intel Celeron N4020 - 2 cœurs - 1,1 Ghz - 4 Go de RAM - Intel UHD Graphics 605

Hors ligne

#10 Le 10/09/2023, à 01:56

Watael

Re : [Résolu] Script pour modifier temporairement le "Gamma" de mon écran

xgamma 2>&1 | grep '1.2' && x=0.9 || x=1.2; xgamma -gamma $x

bien joué. hormis le fichier temporaire. tongue


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#11 Le 10/09/2023, à 03:20

Poun64

Re : [Résolu] Script pour modifier temporairement le "Gamma" de mon écran

Vous êtes vraiment trop forts !
Du coup mon script devient :

#!/bin/bash
notify-send 'Modification de la brillance Écran !  ' --icon=dialog-information
xgamma 2>&1 | grep '1.2' && x=0.9 || x=1.2; xgamma -gamma $x
beep -f 2300 -r 1 -d 50 -l 100
exit 0

J'en ai même profité pour y ajouter un petit beep système accompagné d'une notification...

Encore merci beaucoup !

Dernière modification par Poun64 (Le 10/09/2023, à 03:21)


1) Xubuntu 22.04._LTS + Windows 10 - Gigabyte GA H77M - Intel Core I7 3770K / HD Graphics 4000 - 4 cœurs - 3,5 Ghz - 16 Go de RAM
2) Xubuntu 22.04._LTS + Windows 11 - Gigabyte H610M S2H - Intel I3-12100 / UHD Graphics 730 intégré - 4 cœurs - 3,3 Ghz - 16 Go de RAM
3) Xubuntu 22.04._LTS  - NetBook ACER TravelMate - Intel Celeron N4020 - 2 cœurs - 1,1 Ghz - 4 Go de RAM - Intel UHD Graphics 605

Hors ligne

#12 Le 10/09/2023, à 07:48

Sciensous

Re : [Résolu] Script pour modifier temporairement le "Gamma" de mon écran

@Watael: oui j'ai fait ça rapidement
@Poun64: un dieu ? je le saurais si c'était le cas, en fin je crois wink
HS: tu me fais pensé que j'ai découvert le Hestiv'Òc cet été dans la capitale du Béarn - j'ai bien aimé; ça doit te parler...

Dernière modification par Sciensous (Le 10/09/2023, à 07:49)


antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )

Hors ligne

#13 Le 10/09/2023, à 08:06

Nasman

Re : [Résolu] Script pour modifier temporairement le "Gamma" de mon écran

Il n'y a qu'un seul dieu, le dieu heRMeS


PC fixe sous Bionic 64 bits et portable avec Focal 64 bits

Hors ligne

#14 Le 10/09/2023, à 14:11

Watael

Re : [Résolu] Script pour modifier temporairement le "Gamma" de mon écran

on peut même se passer de grep :

#!/bin/bash

[[ $(xgamma 2>&1) == *1.2 ]] && x=0.9 || x=1.2

if xgamma -gamma $x
then
    notify-send 'Modification de la brillance Écran !  ' --icon=dialog-information
    beep -f 2300 -r 1 -d 50 -l 100
else
    notify-send 'ECHEC modification de la brillance Écran.' --icon=dialog-information
    beep -f 1000 -n -f 2000 -n -f 1500 
    exit 1
fi

je ne suis pas pour le exit 0 systématique en fin de script, il vaut mieux introduire une condition pour la sortie du script.

Dernière modification par Watael (Le 10/09/2023, à 16:59)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#15 Le 10/09/2023, à 16:49

ar barzh paour

Re : [Résolu] Script pour modifier temporairement le "Gamma" de mon écran

pas essayé le bash mais manque une parenthèse

[[ $(xgamma 2>&1) == *1.2 ]] && x=0.9 || x=1.2

après essai la bascule fonctionne bien
sauf beep (non installé)

un bémol : après lancement on ne peut pas retrouver la configuration d'origine (qui n'est ni 1.2 ni 0.9) !!

Dernière modification par ar barzh paour (Le 10/09/2023, à 16:55)


PC          : B760M DS3H DDR4,  12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 20.04, 22.04, 24.04 (en test )
Portable1 : Intel(R) Core(TM)2 Duo CPU     T6570  @ 2.10GHz RAM 4GiB DDR2 667 MHz Ubuntu 22.04 ( en voyage )
Portable2 : T5750  @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )

Hors ligne

#16 Le 10/09/2023, à 16:58

Watael

Re : [Résolu] Script pour modifier temporairement le "Gamma" de mon écran

oops! merci. je corrige.


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#17 Le 10/09/2023, à 16:59

Poun64

Re : [Résolu] Script pour modifier temporairement le "Gamma" de mon écran

Salut toul'monde !

@ Watael et ar barzh paour
Vos dernières propositions ne marchent pas chez-moi neutral

Par contre celle ci-dessous fait toujours des merveilles [Commutateur Jour/Nuit] :

xgamma 2>&1 | grep '1.20' && x=0.90 || x=1.20; xgamma -gamma $x

Dernière modification par Poun64 (Le 10/09/2023, à 17:15)


1) Xubuntu 22.04._LTS + Windows 10 - Gigabyte GA H77M - Intel Core I7 3770K / HD Graphics 4000 - 4 cœurs - 3,5 Ghz - 16 Go de RAM
2) Xubuntu 22.04._LTS + Windows 11 - Gigabyte H610M S2H - Intel I3-12100 / UHD Graphics 730 intégré - 4 cœurs - 3,3 Ghz - 16 Go de RAM
3) Xubuntu 22.04._LTS  - NetBook ACER TravelMate - Intel Celeron N4020 - 2 cœurs - 1,1 Ghz - 4 Go de RAM - Intel UHD Graphics 605

Hors ligne

#18 Le 18/09/2023, à 16:24

Poun64

Re : [Résolu] Script pour modifier temporairement le "Gamma" de mon écran

Bonjour toul'monde !

Je voudrais ajouter un petit plus à mon script qui est devenu :

#!/bin/bash
notify-send 'Luminosité écran modifiée !  ' --icon=dialog-information
xgamma 2>&1 | grep '1.25' && x=0.90 || x=1.25; xgamma -gamma $x
beep -f 2300 -r 1 -d 50 -l 100
xgamma 2>&1 | grep '1.25' && x=0.90 || beep -f 1500 -l 300
exit 0

Il est lancé via une icône positionnée sur le tableau de bord et ça me va bien.
Je réinitialise aussi ce "xgamma" à la valeur 0.90 quand je mets en veille le PC avec la touche [Pause] du clavier, en lançant ce mini script tout simple :

#!/bin/bash
xgamma -gamma 0.80
systemctl suspend
exit 0

Je voudrais maintenant qu'à chaque "mise en veille" éventuellement "retour de veille" lancée par le gestionnaire d'alimentation, soit passée automatiquement une réinitialisation de mon "xgamma" (xgamma -gamma 0.90).

Cette entrée "xgamma -gamma 0.90" n'est jamais prise en compte dans les scripts que j'ai tenté de mettre dans les dossiers /lib/systemd/system-sleep et /etc/apm/resume.d (cf. la doc Ubuntu au §1.3, ici, alors que les commandes concernant le beep passent bien, preuve que les scripts sont bien lancés...
Lancés manuellement via le gestionnaire de fichiers, ces scripts font bien le bouleau (beep + réinitialisation du gamma).
J'ai essayé aussi d'y ajouter des tempos espérant que c'était un pb de serveur graphique pas encore démarré, rien n'y fait...

Vous avez une idée ?

Dernière modification par Poun64 (Le 18/09/2023, à 16:46)


1) Xubuntu 22.04._LTS + Windows 10 - Gigabyte GA H77M - Intel Core I7 3770K / HD Graphics 4000 - 4 cœurs - 3,5 Ghz - 16 Go de RAM
2) Xubuntu 22.04._LTS + Windows 11 - Gigabyte H610M S2H - Intel I3-12100 / UHD Graphics 730 intégré - 4 cœurs - 3,3 Ghz - 16 Go de RAM
3) Xubuntu 22.04._LTS  - NetBook ACER TravelMate - Intel Celeron N4020 - 2 cœurs - 1,1 Ghz - 4 Go de RAM - Intel UHD Graphics 605

Hors ligne

#19 Le 18/09/2023, à 17:18

Sciensous

Re : [Résolu] Script pour modifier temporairement le "Gamma" de mon écran

hello Poun64!
ça fait plaisir de voir comment tu avances dans tes scripts smile

il est normal que e xgamma ne fonctionne pas car il faut être en session graphique et ce n'est pas le cas du retour de veille !
Test simple pour vérifier: Control+alt+F3 (la touche F3), tu es en mode texte total, tu te connectes et tapes xgamma. Résultat " no X display" ou truc comme ça

Mais il y a une solution simple: dans ton script de sortie de veille tu ajoutes avant xgamma:

export DISPLAY=:0 xgamma

si ça ne marche toujours pas, il faudra rajouter aussi
export XAUTHORITY=/home/tonuser/.Xauthority
(permet à root d'utiliser ta sortei graphique)

8)


antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )

Hors ligne

#20 Le 18/09/2023, à 17:47

Watael

Re : [Résolu] Script pour modifier temporairement le "Gamma" de mon écran

je suis à peu près sûr que l'export est superflu, et qu'on peut définir localement DISPLAY :

DISPLAY=:0 xgamma ...

cependant :

xgamma -display :0 ...

NB: xgamma n'est pas installé ici, je ne peux donc pas tester et être sûr que le : ne provoquera pas une erreur.


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#21 Le 18/09/2023, à 17:52

Sciensous

Re : [Résolu] Script pour modifier temporairement le "Gamma" de mon écran

@Watael: tu as surement raison

xgamma -display :0 marche en effet dans un terminal ControlAltF3

je n'avais pas fit le lien local/export, merci pour cette leçon smile


antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )

Hors ligne

#22 Le 18/09/2023, à 18:26

Poun64

Re : [Résolu] Script pour modifier temporairement le "Gamma" de mon écran

Quand je vous dis que vous êtes des Dieux...

La formule gagnante du script posé sous /lib/systemd/system-sleep/ (du moins celle qui fonctionne chez moi) est :

#!/bin/bash
export DISPLAY=:0 xgamma
export XAUTHORITY=/home/poun/.Xauthority
xgamma -gamma 0.80
fi

Il me faut les deux entrées "export", sinon ça marche pôôô... sad
Par contre je ne sais pas si je dois mettre "fi" ou "exit 0" en fin de script (les deux formules fonctionnent).


1) Xubuntu 22.04._LTS + Windows 10 - Gigabyte GA H77M - Intel Core I7 3770K / HD Graphics 4000 - 4 cœurs - 3,5 Ghz - 16 Go de RAM
2) Xubuntu 22.04._LTS + Windows 11 - Gigabyte H610M S2H - Intel I3-12100 / UHD Graphics 730 intégré - 4 cœurs - 3,3 Ghz - 16 Go de RAM
3) Xubuntu 22.04._LTS  - NetBook ACER TravelMate - Intel Celeron N4020 - 2 cœurs - 1,1 Ghz - 4 Go de RAM - Intel UHD Graphics 605

Hors ligne

#23 Le 18/09/2023, à 19:44

Watael

Re : [Résolu] Script pour modifier temporairement le "Gamma" de mon écran

ni l'un, ni l'autre.

et ce doit être export DISPLAY=:0, mais

ta version de xgamma n'a pas d'option -display ?


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#24 Le 18/09/2023, à 21:30

Poun64

Re : [Résolu] Script pour modifier temporairement le "Gamma" de mon écran

J'avais pourtant compris qu'il fallait mettre fin à un script avec un petit "exit 0" par exemple...
D'autres scripts se terminent avec "fi" comme celui-ci : "/lib/systemd/system-sleep/unattended-upgrades"

J'ai corrigé la ligne "export DISPLAY=:0 xgamma" par "export DISPLAY=:0" et ça marche toujours.
Par contre ce script ne fonctionne pas sous /etc/apm/resume.d

Dernière modification par Poun64 (Le 18/09/2023, à 21:31)


1) Xubuntu 22.04._LTS + Windows 10 - Gigabyte GA H77M - Intel Core I7 3770K / HD Graphics 4000 - 4 cœurs - 3,5 Ghz - 16 Go de RAM
2) Xubuntu 22.04._LTS + Windows 11 - Gigabyte H610M S2H - Intel I3-12100 / UHD Graphics 730 intégré - 4 cœurs - 3,3 Ghz - 16 Go de RAM
3) Xubuntu 22.04._LTS  - NetBook ACER TravelMate - Intel Celeron N4020 - 2 cœurs - 1,1 Ghz - 4 Go de RAM - Intel UHD Graphics 605

Hors ligne

#25 Le 18/09/2023, à 21:44

Watael

Re : [Résolu] Script pour modifier temporairement le "Gamma" de mon écran

il faut accorder la valeur du exit avec la commande qui accomplit la tâche du script.
un script qui ne fait pas ce qu'il doit accomplir doit sortir avec une valeur qui indique l'échec.
si la commande principale échoue mais que le script exit systématiquement en indiquant la réussite, comment savoir ce qu'il s'est passé, ou pas ?

as-tu parcouru le man xgamma pour chercher l'option -display ?
pourquoi modifier l'environnement du script si la commande prévoit de prendre en compte (par une option) une valeur d'environnement ?


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne