#1 Le 09/09/2023, à 20: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 09/09/2023, à 23: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 24.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 + Xubuntu 24.04 - Asus X751L - Intel I5-5200U - 4 cœurs - 2.20GHz - N'Vidia GeForce 920M - 12 Go de RAM
Hors ligne
#2 Le 09/09/2023, à 21: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, à 21: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...
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 24.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 + Xubuntu 24.04 - Asus X751L - Intel I5-5200U - 4 cœurs - 2.20GHz - N'Vidia GeForce 920M - 12 Go de RAM
Hors ligne
#4 Le 09/09/2023, à 22:31
- Sciensous
Re : [Résolu] Script pour modifier temporairement le "Gamma" de mon écran
dans chacun des cas mets le retour de
xgamma
Dernière modification par Sciensous (Le 09/09/2023, à 22:36)
antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )
En ligne
#5 Le 09/09/2023, à 23: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 24.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 + Xubuntu 24.04 - Asus X751L - Intel I5-5200U - 4 cœurs - 2.20GHz - N'Vidia GeForce 920M - 12 Go de RAM
Hors ligne
#6 Le 09/09/2023, à 23: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 09/09/2023, à 23:14)
antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )
En ligne
#7 Le 09/09/2023, à 23: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 09/09/2023, à 23: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 24.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 + Xubuntu 24.04 - Asus X751L - Intel I5-5200U - 4 cœurs - 2.20GHz - N'Vidia GeForce 920M - 12 Go de RAM
Hors ligne
#8 Le 09/09/2023, à 23: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 09/09/2023, à 23:47)
antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )
En ligne
#9 Le 09/09/2023, à 23: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 09/09/2023, à 23: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 24.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 + Xubuntu 24.04 - Asus X751L - Intel I5-5200U - 4 cœurs - 2.20GHz - N'Vidia GeForce 920M - 12 Go de RAM
Hors ligne
#10 Le 10/09/2023, à 00: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.
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#11 Le 10/09/2023, à 02: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, à 02: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 24.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 + Xubuntu 24.04 - Asus X751L - Intel I5-5200U - 4 cœurs - 2.20GHz - N'Vidia GeForce 920M - 12 Go de RAM
Hors ligne
#12 Le 10/09/2023, à 06: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
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, à 06:49)
antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )
En ligne
#13 Le 10/09/2023, à 07: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, à 13: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, à 15:59)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#15 Le 10/09/2023, à 15: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, à 15: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 : ThinkPad P50 I7-6820HQ, 16G0 Ram Ubuntu 22.04 Ubuntu 24.04 , W10-PRO( 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 )
En ligne
#16 Le 10/09/2023, à 15: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, à 15: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
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, à 16: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 24.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 + Xubuntu 24.04 - Asus X751L - Intel I5-5200U - 4 cœurs - 2.20GHz - N'Vidia GeForce 920M - 12 Go de RAM
Hors ligne
#18 Le 18/09/2023, à 15: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, à 15: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 24.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 + Xubuntu 24.04 - Asus X751L - Intel I5-5200U - 4 cœurs - 2.20GHz - N'Vidia GeForce 920M - 12 Go de RAM
Hors ligne
#19 Le 18/09/2023, à 16: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
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 )
En ligne
#20 Le 18/09/2023, à 16: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, à 16: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
antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )
En ligne
#22 Le 18/09/2023, à 17: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ôôô...
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 24.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 + Xubuntu 24.04 - Asus X751L - Intel I5-5200U - 4 cœurs - 2.20GHz - N'Vidia GeForce 920M - 12 Go de RAM
Hors ligne
#23 Le 18/09/2023, à 18: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, à 20: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, à 20: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 24.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 + Xubuntu 24.04 - Asus X751L - Intel I5-5200U - 4 cœurs - 2.20GHz - N'Vidia GeForce 920M - 12 Go de RAM
Hors ligne
#25 Le 18/09/2023, à 20: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