[systemd] Service ineffectif au démarrage

Questions et astuces concernant l'installation et la configuration d'archlinux
esclapion
archer
Messages : 129
Inscription : lun. 03 oct. 2011, 18:16

[systemd] Service ineffectif au démarrage

Message par esclapion »

Bonsoir,

Je cherche à créer un service qui fasse passer en low le profil d'alimentation de mon ATI.
Pour ça, j'ai écrit et rendu exécutable un script :

Code : Tout sélectionner

#!/bin/bash
echo low > /sys/class/drm/card0/device/power_profile
et un service :

Code : Tout sélectionner

[Unit]
Description=Initialisation personnelle
After=gdm.service

[Service]
Type=oneshot
ExecStart=/etc/initperso
RemainAfterExit=yes (ou no, c'est pareil)

[Install]
WantedBy=multi-user.target
Puis fait un systemctl enable de ce service.

Au redémarrage, aucun effet. Si je fais un systemctl start initperso.service, ça marche.
(edit)
Je suis sous Manjaro, pas Arch pure.
oktoberfest
Maître du Kyudo
Messages : 1855
Inscription : mer. 06 janv. 2010, 13:51
Localisation : Ried - Alsace - France

Re: [systemd] Service ineffectif au démarrage

Message par oktoberfest »

Salut, que te réponds :

Code : Tout sélectionner

systemctl enable <de ce service>
Il est censé te dire qu'il fait un lien symbolique.
La majorité des bugs se situe entre la chaise et le clavier...
Arrêtez de vous prendre la tête avec les partitions... passez au LVM
esclapion
archer
Messages : 129
Inscription : lun. 03 oct. 2011, 18:16

Re: [systemd] Service ineffectif au démarrage

Message par esclapion »

Merci, mais le lien était fait.

Code : Tout sélectionner

[root@manjaro pat]# systemctl enable initperso.service
[root@manjaro pat]# systemctl disable initperso.service
rm '/etc/systemd/system/multi-user.target.wants/initperso.service'
[root@manjaro pat]# systemctl enable initperso.service
ln -s '/usr/lib/systemd/system/initperso.service' '/etc/systemd/system/multi-user.target.wants/initperso.service'
[root@manjaro pat]# 
oktoberfest
Maître du Kyudo
Messages : 1855
Inscription : mer. 06 janv. 2010, 13:51
Localisation : Ried - Alsace - France

Re: [systemd] Service ineffectif au démarrage

Message par oktoberfest »

et que dit un

Code : Tout sélectionner

# systemctl status initperso
une fois l'ordinateur redémarré ?
La majorité des bugs se situe entre la chaise et le clavier...
Arrêtez de vous prendre la tête avec les partitions... passez au LVM
esclapion
archer
Messages : 129
Inscription : lun. 03 oct. 2011, 18:16

Re: [systemd] Service ineffectif au démarrage

Message par esclapion »

J'ai redémarré mon PC.

Code : Tout sélectionner

[root@manjaro pat]# systemctl status initperso
initperso.service - Initialisation personnelle
	  Loaded: loaded (/usr/lib/systemd/system/initperso.service; enabled)
	  Active: inactive (dead) since lun., 2012-12-17 11:24:58 CET; 50s ago
	 Process: 500 ExecStart=/etc/initperso (code=exited, status=0/SUCCESS)
	  CGroup: name=systemd:/system/initperso.service

déc. 17 11:24:58 manjaro systemd[1]: Started Initialisation personnelle.
[root@manjaro pat]# 
oktoberfest
Maître du Kyudo
Messages : 1855
Inscription : mer. 06 janv. 2010, 13:51
Localisation : Ried - Alsace - France

Re: [systemd] Service ineffectif au démarrage

Message par oktoberfest »

Donc le service a bien été démarré

Code : Tout sélectionner

déc. 17 11:24:58 manjaro systemd[1]: Started Initialisation personnelle.
La majorité des bugs se situe entre la chaise et le clavier...
Arrêtez de vous prendre la tête avec les partitions... passez au LVM
esclapion
archer
Messages : 129
Inscription : lun. 03 oct. 2011, 18:16

Re: [systemd] Service ineffectif au démarrage

Message par esclapion »

Oui, mais il est ineffectif, j'entends mon ventilateur tourner.

Si je lance le service à la main, le bruit s'arrête. Pareil si je fais un /etc/initperso direct.

Je pense à une question de synchro, mais ça marche sous Arch pure.

Normalement, il devrait attendre gdm.service pour démarrer, non ? Puis-je le synchroniser plus tard, sur quoi ?

De plus, je ne sais pas si c'est une impression, mais il me semble observer un léger temps d'arrêt entre l'apparition du fond du bureau et celle de la barre des tâches lorsqu'il est actif.
oktoberfest
Maître du Kyudo
Messages : 1855
Inscription : mer. 06 janv. 2010, 13:51
Localisation : Ried - Alsace - France

Re: [systemd] Service ineffectif au démarrage

Message par oktoberfest »

Je soupçonne gnome de modifier le paramètre /sys/class/drm/card0/device/power_profile.
J'ai eu dans le passé des soucis avec gnome : je mettais ma partition / en lecture seule (ro) dans /etc/fstab mais gnome/gdm la remettait en lecture/écriture.
La majorité des bugs se situe entre la chaise et le clavier...
Arrêtez de vous prendre la tête avec les partitions... passez au LVM
esclapion
archer
Messages : 129
Inscription : lun. 03 oct. 2011, 18:16

Re: [systemd] Service ineffectif au démarrage

Message par esclapion »

De mon côté, je me demandais si l'arborescence que je crois virtuelle /sys/class/drm/card0/device/power_profile
était accessible tout de suite, ou si elle attendait ? pour être disponible.
oktoberfest
Maître du Kyudo
Messages : 1855
Inscription : mer. 06 janv. 2010, 13:51
Localisation : Ried - Alsace - France

Re: [systemd] Service ineffectif au démarrage

Message par oktoberfest »

Je pense que l'arborescence est disponible quand le driver est chargé, donc très tôt.
Ce que tu peux tester :
- supprimer le ligne After=gdm.service
- démarrer en passant au noyau l'option : systemd.unit=multi-user.target

Ceci te fera démarrer dans l'ancien runlevel 3. Tu sauras ainsi si c'est gdm qui te causes un souci ou pas.
La majorité des bugs se situe entre la chaise et le clavier...
Arrêtez de vous prendre la tête avec les partitions... passez au LVM
esclapion
archer
Messages : 129
Inscription : lun. 03 oct. 2011, 18:16

Re: [systemd] Service ineffectif au démarrage

Message par esclapion »

Re,

Ça bloque au démarrage, juste après les tout premiers messages sur l'absence de cache.

Code : Tout sélectionner

[Unit]
Description=Initialisation personnelle
#After=gdm.service

[Service]
J'ai modifié dans un 40_custom manipulé par une Arch qui se trouve à côté et qui est maîtresse du grub.

Code : Tout sélectionner

	linux	/boot/vmlinuz-36-x86_64 root=UUID=8859141b-6574-4eda-9cb0-4c0d28d678bd ro quiet
#	linux	/boot/vmlinuz-36-x86_64 root=UUID=8859141b-6574-4eda-9cb0-4c0d28d678bd ro  systemd.unit=multi-user.target quiet
oktoberfest
Maître du Kyudo
Messages : 1855
Inscription : mer. 06 janv. 2010, 13:51
Localisation : Ried - Alsace - France

Re: [systemd] Service ineffectif au démarrage

Message par oktoberfest »

Je ne vois pas le rapport avec ton service, ni avec le runlevel multi-user.target...
Ca bloque éternellement, ou les 90 secondes réglementaires de systemd ? Il serait intéressant de laisser le temps qu système, histoire d'avoir des logs.
La majorité des bugs se situe entre la chaise et le clavier...
Arrêtez de vous prendre la tête avec les partitions... passez au LVM
esclapion
archer
Messages : 129
Inscription : lun. 03 oct. 2011, 18:16

Re: [systemd] Service ineffectif au démarrage

Message par esclapion »

Bon, nouvel essai.

Là, après les messages "Assuming disk cache : write through", il a bloqué.

J'ai attendu 10' (et c'est long :-)). Au bout de ce temps, j'ai vu un "no signal", et il m'a passé la main ensuite à la console. Le power_profile était bien passé en low, mais je ne sais pas si c'est significatif ?

Y a-t-il qqch sur quoi se déclencher après gdm.service ?

Et j'ai toujours ces 1 ou 2" d'attente avant l'apparition de la barre des tâches.
oktoberfest
Maître du Kyudo
Messages : 1855
Inscription : mer. 06 janv. 2010, 13:51
Localisation : Ried - Alsace - France

Re: [systemd] Service ineffectif au démarrage

Message par oktoberfest »

Une fois que tu as la main, tu fais un 'systemctl status initperso' pour voir si ton service a bien été exécuté ou pas (je ne vois pas pourquoi il ne le serait pas).
Pour le reste je ne peux pas t'aider. J'ai viré gdm/gnome car c'était trop lourd et ça faisait des choses dans mon dos (un peu comme chez toi :))
La majorité des bugs se situe entre la chaise et le clavier...
Arrêtez de vous prendre la tête avec les partitions... passez au LVM
esclapion
archer
Messages : 129
Inscription : lun. 03 oct. 2011, 18:16

Re: [systemd] Service ineffectif au démarrage

Message par esclapion »

Merci tout de même pour ton aide.

Les devs de Manjaro sont en train de remplacer gdm par lxdm, à cause de "quelques problèmes", et je commence à comprendre pourquoi. :wink:

Mais pour l'instant, je n'ai pas trop envie de planter mon instal en le faisant.
esclapion
archer
Messages : 129
Inscription : lun. 03 oct. 2011, 18:16

Re: [systemd] Service ineffectif au démarrage

Message par esclapion »

Bon, j'ai remplacé gdm par lxdm -> pareil ????

Code : Tout sélectionner

[root@manjaro pat]# systemctl status initperso.service
initperso.service - Initialisation personnelle
	  Loaded: loaded (/usr/lib/systemd/system/initperso.service; enabled)
	  Active: inactive (dead) since lun., 2012-12-17 17:29:47 CET; 26s ago
	 Process: 471 ExecStart=/etc/initperso (code=exited, status=0/SUCCESS)
	  CGroup: name=systemd:/system/initperso.service

déc. 17 17:29:47 manjaro systemd[1]: Started Initialisation personnelle.
[root@manjaro pat]# 

Code : Tout sélectionner

[root@manjaro system]# cat initperso.service 
[Unit]
Description=Initialisation personnelle
After=lxdm.service

[Service]
Type=oneshot
ExecStart=/etc/initperso
RemainAfterExit=no

[Install]
WantedBy=multi-user.target
[root@manjaro system]# 
Je sèche... J'ai désinstallé gdm (déjà désactivé) à tout hasard, pour éviter les collisions.

A noter que le démarrage n'est pas plus rapide avec lxdm.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17572
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [systemd] Service ineffectif au démarrage

Message par benjarobin »

Mais pourquoi tu dis que cela ne fonctionne pas, tout prouve que le service est pleinement fonctionnel
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
esclapion
archer
Messages : 129
Inscription : lun. 03 oct. 2011, 18:16

Re: [systemd] Service ineffectif au démarrage

Message par esclapion »

Bonjour,

Mon script /etc/initperso :

Code : Tout sélectionner

#!/bin/bash
echo low > /sys/class/drm/card0/device/power_profile
[root@manjaro pat]# 
Je devrais donc retrouver low. Or je retrouve high.

Si je fais un systemctl start initperso.service à la main, après le démarrage, ça passe bien à low.

(edit)

Code : Tout sélectionner

[root@manjaro pat]# ls -l /etc/initperso
-rwxr-xr-x 1 root root 65 16.12.2012 21:23 /etc/initperso*
[root@manjaro pat]# 
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17572
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [systemd] Service ineffectif au démarrage

Message par benjarobin »

Je pense que le script fonctionne très bien mais que quelque chose le remet à high.
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
esclapion
archer
Messages : 129
Inscription : lun. 03 oct. 2011, 18:16

Re: [systemd] Service ineffectif au démarrage

Message par esclapion »

Oui, mais quoi ? :roll: Je me suis (en théorie) après lxdm.service, saurais-tu après quoi me mettre pour déclencher encore plus tard ?

Je vais rajouter une instruction touch /tmp/toto dans mon script, voir si j'y passe, mais je pense que oui.

(edit)
Oui :

Code : Tout sélectionner

[root@manjaro pat]# ls -l /tmp/toto
-rw-r--r-- 1 root root 0 17.12.2012 18:28 /tmp/toto
[root@manjaro pat]# 
Répondre