Contenu | Rechercher | Menus

Annonce

Toute l'équipe d'ubuntu-fr vous souhaite un joyeux Noël et une bonne et heureuse année 2018.

Ubuntu 16.04 LTS
Commandez vos DVD et clés USB Ubuntu-fr !

Pour en savoir un peu plus sur l'équipe du forum.

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.

#1 Le 30/12/2017, à 21:18

metalux

[Résolu]Script systemd en sortie de veille non fonctionnel

Bonjour,
Sur un portable, je n'ai pas de touche pour couper la luminosité de l'écran et je passe par un raccourci clavier associé à un script qui fait appel à xbacklight pour éteindre/allumer l'écran. Or, souvent le Pc est mis en veille sans remettre la luminosité. Pour que celle-ci se rétablisse, j'ai essayé d'utiliser un script dans /lib/systemd/system-sleep avec le contenu suivant:

#!/bin/bash
[[ $1 == "post" ]] && xbacklight -set 100
exit 0

Cela fonctionne si je mets en veille à partir du menu de Xfce, par contre ça ne fonctionne pas si la veille est déclenchée en rabattant l'écran.
J'ai essayé une seconde solution en créant le script suivant dans /etc/systemd/system:

[Unit]
Description=Rétablir la luminosité en sortie de veille
After=suspend.target
After=hibernate.target
After=hybrid-sleep.target

[Service]
Type=oneshot
ExecStart=/usr/bin/xbacklight -set 100

[Install]
WantedBy=suspend.target
WantedBy=hibernate.target
WantedBy=hybrid-sleep.target

J'obtiens alors le même résultat. Le script fonctionne si la mise en veille est déclenchée par les menus mais non en rabattant l'écran.

Comment faire en sorte que la luminosité soit rétablie avec backlight en sortie de veille si celle-ci est déclenchée par la fermeture du capot?

Dernière modification par metalux (Le 31/12/2017, à 12:12)

Hors ligne

#2 Le 30/12/2017, à 22:31

maxire

Re : [Résolu]Script systemd en sortie de veille non fonctionnel

Salut;

J'essaierais plutôt de rajouter la commande xbacklight à systemd-sleep.service via l'option ExecStartPost=.
À faire en ajoutant un répertoire nommé systemd-sleep.d à /etc/systemd/system/ dans lequel tu créeras un ficher machin.conf (c'est le nom de l'extension de fichier .conf qui importe!) dans lequel tu indiques ceci:

[Service]
ExecStartPost=la commande qui va bien

Dernière modification par maxire (Le 30/12/2017, à 22:32)


Maxire
Archlinux/Mate + Debian Stretch/Gnome sur portable -- Archlinux/Mate sur poste de travail

Hors ligne

#3 Le 31/12/2017, à 00:03

metalux

Re : [Résolu]Script systemd en sortie de veille non fonctionnel

Merci maxire,
malheureusement ça fonctionne de la même manière que les 2 scripts précédents sad .
qu'est-ce qui différencie une mise en veille en rabaissant l'écran d'un portable par rapport à une mise en veille par les menus? Je ne comprends vraiment pas pourquoi la sortie de veille ne prend pas en compte les scripts systemd lorsque celle-ci est provoquée par la fermeture du capot. C'est quand même particulièrement gênant car il faut retaper son mot de passe à l'aveugle puis être sûr que le système soit démarré avant d'appuyer sur le raccourci-clavier. C'est la même chose si j'éteins le PC, un script au démarrage n'étant pris en compte qu'après le login.
Edit:
Si je remplace xbacklight avec une commande echo dans un fichier de $USER, ça fonctionne.
Si je mets en veille avec le menu puis je ferme le capot et sort de veille en ouvrant le capot, ça fonctionne également.
Le souci est donc avec la commande xbacklight lors de la mise en veille par fermeture du capot et non lors de la sortie par ouverture du capot. J'ai donc essayé avec "pre" au lieu de "post" mais ça ne change rien.
Si vous avez d'autres pistes sachant que je ne peux pas utiliser xset dpms force off car ça ne fonctionne pas correctement sur ce Pc, l'écran se rallumant tout seul au bout d'un certain temps.

Dernière modification par metalux (Le 31/12/2017, à 00:50)

Hors ligne

#4 Le 31/12/2017, à 04:56

moko138

Re : [Résolu]Script systemd en sortie de veille non fonctionnel

Je n'ai pas tout compris. Mais c'est ceci

metalux a écrit :

Si vous avez d'autres pistes sachant que je ne peux pas utiliser xset dpms force off car ça ne fonctionne pas correctement sur ce Pc, l'écran se rallumant tout seul au bout d'un certain temps.

qui m'intrigue.

Jadis, dans un fil supprimé depuis, Vaykadji avait dit :

sh -c "sleep 1; xset dpms force off;"

  ceci va juste éteindre l'écran qui se rallumera à la moindre pression d'une touche du clavier ou à un mouvement de souris.

Et chez moi ça a toujours marché (à ceci près que le réveil de l'écran est très sensible, quelle que soit la machine. J'ai l'impression que c'est le laser des souris qui cherche à se recaler de temps en temps.)

Et comme la commande de Vaykadji fonctionne même quand xbacklight n'est pas installé, je me demande s'il n'y a pas, dans ton Xfce, deux processus qui se marchent sur les pieds.

  - -

Par ailleurs, et ceci est peut-être hors-sujet, je me souviens que, pour que la luminosité soit réglable dans Xubuntu 12.04, il fallait selon les machines,
tantôt modifier /etc/default/grub pour avoir cette ligne :

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi=Linux acpi_backlight=vendor"

tantôt, au contraire :

GRUB_CMDLINE_LINUX_DEFAULT=""

J'ignore ce qu'il en est avec les versions généralisant l'usage de systemctl. Mais il n'en demeure pas moins que des réglages contraires peuvent être nécessaires selon le matériel.

Dernière modification par moko138 (Le 31/12/2017, à 04:57)


%NOINDEX%
Un utilitaire méconnu : ncdu

Hors ligne

#5 Le 31/12/2017, à 12:11

metalux

Re : [Résolu]Script systemd en sortie de veille non fonctionnel

Je faisais fausse route car même sans script, la luminosité revient à 100% en sortie de veille par le menu ou l'applet du tableau de bord. Du coup je croyais que le script fonctionnait dans ce cas or ça n'avait rien à voir. Je dirais que c'est un bug que la luminosité ne soit pas mémorisée avant mise en veille par le menu mais ça ne me gêne pas. Finalement la mise en veille par la fermeture du capot est le comportement attendu.
Du coup la solution se trouvait ailleurs. Il faut ajouter en début de script ces 2 lignes:
export DISPLAY=:0.0
export XAUTHORITY=/home/metalux/.Xauthority

J'avais bien pensé à exporté DISPLAY un moment donné mais ça ne fonctionnait pas mieux. Il faut impérativement avoir ces 2 lignes dont l'export XAUTHORITY, chose à laquelle je n'y aurais jamais pensé.
Je remercie creystey et les intervenant de ce fil qui donne la solution:
https://forum.ubuntu-fr.org/viewtopic.p … #p21825339

Pour ce qui est de systemd, les 3 solutions indiquées sont fonctionnelles.

@moko138
Pour dpms, ça a toujours fonctionné pour moi aussi, SAUF sur ce PC....et il n'y a pas de souris, juste le touchpad. J'ai ajouté la désactivation du touchpad dans le script mais l'écran se rallumait quand même, d'où le passage à xbacklight qui lui remplit désormais son rôle.

Hors ligne