#1 Le 23/02/2013, à 19:18
- Jay7s
rc.local: démarrage, exécution et commandes
Bon voilà,
J'ai récemment édité mon fichier /etc/rc.local pour rajouter 2 commandes, une première pour effectuer le trim de mon disque dur SSD
fstrim -v /
fstrim -v /home
et la seconde pour résoudre un problème de subwoofer non reconnu sur mon asus N56VZ,
echo 0x16 0x99130111 > /sys/class/sound/hwC0D0/user_pin_configs
echo 0x1e 0x99130112 > /sys/class/sound/hwC0D0/user_pin_configs
echo 1 > /sys/class/sound/hwC0D0/reconfig
or après avoir fait plusieurs tests j'ai l'impression que les commandes sont mal rédigées de sorte que l'exécution de la première coupe la deuxième.
Soyons clair, voici le contenu de mon fichier rc.local:
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
fstrim -v /
fstrim -v /home
echo 0x16 0x99130111 > /sys/class/sound/hwC0D0/user_pin_configs
echo 0x1e 0x99130112 > /sys/class/sound/hwC0D0/user_pin_configs
echo 1 > /sys/class/sound/hwC0D0/reconfig
exit 0
J'exécute rc.local directement:
zay@xxx-princip:~$ sudo /etc/rc.local start
/: 585261056 bytes were trimmed
/home: 903270400 bytes were trimmed
J'ai l'impression que la seconde commande ne s'exécute pas car si j'inverse les 2 commandes dans rc.local:
zay@xxx-princip:~$ sudo /etc/rc.local start
zay@xxx-princip:
Rien ne se passe, le trim n'a pas été effectué.
J'aurai donc besoin de votre aide pour savoir comment formuler les commandes pour qu'elle s'éxécute l'une après l'autre au démarrage.
Autre problème, j'ai effectué le test suivant, pour m'assurer que le problème vient bien de la commande de trim
Comme indiqué sur le post suivant: http://forum.ubuntu-fr.org/viewtopic.php?pid=3535050, j'ai ajouté:
touch /tmp/toto
à rc.local
Conclusion lorsque la commande
touch /tmp/toto
est placée avant
fstrim -v /
fstrim -v /home
elle s'exécute (j'ai un dossier toto dans /temp) et lorsqu'elle est placé après je n'ai rien.
Autre info, j'ai l'impression d'avoir une anomalie sur exécution du script rc.local:
zay@xxx-princip:~$ ls -l /etc/rc.local
-rwx--x--x 1 root root 476 févr. 23 19:20 /etc/rc.local
Merci beaucoup pour votre aide, tout test et manip sont les bienvenues.
Bonne soirée.
Dernière modification par Jay7s (Le 23/02/2013, à 19:24)
Hors ligne
#2 Le 23/02/2013, à 19:33
- pingouinux
Re : rc.local: démarrage, exécution et commandes
Bonsoir,
Tout ce que je peux dire, c'est qu'avec ces deux commandes
echo 0x16 0x99130111 > /sys/class/sound/hwC0D0/user_pin_configs
echo 0x1e 0x99130112 > /sys/class/sound/hwC0D0/user_pin_configs
la seconde annule l'effet de la première.
Pour ajouter une ligne à un fichier, c'est >> au lieu de >
Hors ligne
#3 Le 23/02/2013, à 19:35
- Haleth
Re : rc.local: démarrage, exécution et commandes
Fichier system, ca change la donne j'imagine.
A priori, la deuxième ligne suffit, mais pas sur.
Pour ton problème, essaye de mettre des redirections pour lire les éventuelles erreurs:
#!/bin/bash
machin(){
fstrim -v /
fstrim -v /home
echo 0x16 0x99130111 > /sys/class/sound/hwC0D0/user_pin_configs
echo 0x1e 0x99130112 > /sys/class/sound/hwC0D0/user_pin_configs
echo 1 > /sys/class/sound/hwC0D0/reconfig
}
machin &>/home/jack/log
exit 0
Ubuntu is an ancien African word which means "I can't configure Debian"
Because accessor & mutator are against encapsulation (one of OOP principles), good OOP-programmers do not use them. Obviously, procedural-devs do not. In fact, only ugly-devs are still using them.
Hors ligne
#4 Le 23/02/2013, à 19:46
- jamesbad000
Re : rc.local: démarrage, exécution et commandes
Bonsoir,
Tout ce que je peux dire, c'est qu'avec ces deux commandesecho 0x16 0x99130111 > /sys/class/sound/hwC0D0/user_pin_configs echo 0x1e 0x99130112 > /sys/class/sound/hwC0D0/user_pin_configs
la seconde annule l'effet de la première.
Pour ajouter une ligne à un fichier, c'est >> au lieu de >
J'ajoute que
echo 0x16 0x99130111
Va ecrire textuelement "0x16 0x99130111" et non l'équivalent hexa.
En fait je dirais que tu cherche à écrire la valeur hexa correspondant à 0x99130111 à l'adresse 0x16 du fichier non ? Ou as tu trouvé cette directive ?
L'espace et le temps sont les modes par lesquels nous pensons, et non les conditions dans lesquelles nous vivons. (Signé Albert)
Hors ligne
#5 Le 23/02/2013, à 19:52
- Jay7s
Re : rc.local: démarrage, exécution et commandes
@pingouinux: donc je dois taper :
echo 0x16 0x99130111 >> /sys/class/sound/hwC0D0/user_pin_configs
echo 0x1e 0x99130112 >> /sys/class/sound/hwC0D0/user_pin_configs
??
Merci
@Haleth, merci mais je n'ai pas compris ce que tu voulais que j'écrive dans mon rc.local ?
@jamesbad000, merci mais je suis pas l'auteur de cette instruction, j'ai suivi le tutoriel suivant : [N56VZ, Realtek ALC663, Black Headphone Out, Right] No sound at all: Subwoofer not working
--> There are two ways of making it work:
#1
a. Add to rc.local :
echo 0x1e 0x99130112 > /sys/class/sound/hwC0D0/user_pin_configs
echo 1 > /sys/class/sound/hwC0D0/reconfig
b. Add options snd-hda-intel model=asus-mode4 in /etc/modprobe.d/alsa-base.conf
c. Reboot
d. Set the mode to "Analog Stereo Output" and then to "Analog Surround 5.1 output" in the sound settings panel. You have to do this each time you reboot!!!#2
a. Add to rc.local :
echo 0x16 0x99130111 > /sys/class/sound/hwC0D0/user_pin_configs
echo 0x1e 0x99130112 > /sys/class/sound/hwC0D0/user_pin_configs
echo 1 > /sys/class/sound/hwC0D0/reconfig
b. Reboot
c. Set the mode to "Analog Stereo Output" and then to "Analog Surround 5.1 output" in the sound settings panel. You have to do this each time you reboot!!!Both give the same results and fix the bug.
Hors ligne
#6 Le 23/02/2013, à 20:20
- jamesbad000
Re : rc.local: démarrage, exécution et commandes
Bon remontant le fil du problème il semble que ces commandes doivent bien être passées comme celà. Probablement que ce fichier est utilisé comme une queue qui consomme ce qu'on lui met dedans au fur et à mesure, et interprète le texte correctement.
Du coup du devrais plutôt suivre la recommendation de Haleth. C.a.d copier le code qu'il ta donné dans ton rc à la place de celui que tu y a mis.
Ce qui va te produire un fichier de log
Dernière modification par jamesbad000 (Le 23/02/2013, à 20:22)
L'espace et le temps sont les modes par lesquels nous pensons, et non les conditions dans lesquelles nous vivons. (Signé Albert)
Hors ligne
#7 Le 23/02/2013, à 20:33
- Jay7s
Re : rc.local: démarrage, exécution et commandes
@jamesbad000
J'ai suivi tes instructions voici désormais mon rc.local:
machin(){
fstrim -v /
fstrim -v /home
echo 0x16 0x99130111 > /sys/class/sound/hwC0D0/user_pin_configs
echo 0x1e 0x99130112 > /sys/class/sound/hwC0D0/user_pin_configs
echo 1 > /sys/class/sound/hwC0D0/reconfig
}
machin &>/home/jay/log
exit 0
J'obtiens un log dans mon dossier personnel, mais le log est vide.
J'ai tenté de lancer manuellement le script :
sudo /etc/rc.local start
Le trim s'exécute mais la commande ne se termine pas et reste en suspend.
Le log obtenu est toujours vide.
Merci d'avance pour tes conseils, je ne sais pas du tout comment faire qu'au démarrage il effectue le Trim et la commande pour mon subwoofer.
Dernière modification par Jay7s (Le 23/02/2013, à 20:33)
Hors ligne
#8 Le 23/02/2013, à 20:54
- jamesbad000
Re : rc.local: démarrage, exécution et commandes
J'avoue que je ne vois pas pourquoi le log reste vide...
Sinon as tu essayé de taper directement à la ligne de commande ?
echo 0x16 0x99130111 > /sys/class/sound/hwC0D0/user_pin_configs
QUestion subsidiare, as tu essayé de redémarrer pour voir si ça ne prend pas effet que lors d'un redémarrage;
Dernière modification par jamesbad000 (Le 23/02/2013, à 20:55)
L'espace et le temps sont les modes par lesquels nous pensons, et non les conditions dans lesquelles nous vivons. (Signé Albert)
Hors ligne
#9 Le 23/02/2013, à 21:06
- Jay7s
Re : rc.local: démarrage, exécution et commandes
zay@xxx-princip:~$ sudo echo 0x16 0x99130111 > /sys/class/sound/hwC0D0/user_pin_configs
bash: /sys/class/sound/hwC0D0/user_pin_configs: Permission non accordée
donc j'ai essayé ceci
sudo chmod +xr /sys/class/sound/hwC0D0/user_pin_configs
Mais j'ai toujours permission non accordée
J'ai essayé chaque manip en exécutant dans le terminal et en redémarrant. Je n'ai pas plus de résultat.
J'ai voulu testé si rc.local s'exécutait bien au démarrage, donc j'ai ajouté dedans:
touch /tmp/toto
et en redémarrant j'ai 2 cas:
touch /tmp/toto
echo 0x16 0x99130111 > /sys/class/sound/hwC0D0/user_pin_configs
echo 0x1e 0x99130112 > /sys/class/sound/hwC0D0/user_pin_configs
echo 1 > /sys/class/sound/hwC0D0/reconfig
En redémarrant, j'ai un dossier toto dans /temp (ça marche)
echo 0x16 0x99130111 > /sys/class/sound/hwC0D0/user_pin_configs
echo 0x1e 0x99130112 > /sys/class/sound/hwC0D0/user_pin_configs
echo 1 > /sys/class/sound/hwC0D0/reconfig
touch /tmp/toto
En redémarrant, je n'ai pas de dossier toto dans /temp (ça ne marche pas)
Pour le log vide est-ce du à ma formulation, il ya une erreur :
machin(){
......
......
}
machin &>/home/jay/log
Dernière modification par Jay7s (Le 23/02/2013, à 21:06)
Hors ligne
#10 Le 23/02/2013, à 21:16
- Haleth
Re : rc.local: démarrage, exécution et commandes
Tu edit bien le fichier /etc/init.d/rc.local.. oui ?
Ubuntu is an ancien African word which means "I can't configure Debian"
Because accessor & mutator are against encapsulation (one of OOP principles), good OOP-programmers do not use them. Obviously, procedural-devs do not. In fact, only ugly-devs are still using them.
Hors ligne
#11 Le 23/02/2013, à 21:35
- Jay7s
Re : rc.local: démarrage, exécution et commandes
Non j'édite /etc/rc.local
ça te donne un idée ?
Hors ligne
#12 Le 23/02/2013, à 21:36
- Haleth
Re : rc.local: démarrage, exécution et commandes
Ca me dit rien.
J'utilise /etc/init.d/rc.local qui fonctionne
Tu devrais essayer
Ubuntu is an ancien African word which means "I can't configure Debian"
Because accessor & mutator are against encapsulation (one of OOP principles), good OOP-programmers do not use them. Obviously, procedural-devs do not. In fact, only ugly-devs are still using them.
Hors ligne
#13 Le 23/02/2013, à 21:39
- Jay7s
Re : rc.local: démarrage, exécution et commandes
Quand je lis le contenu de /etc/init.d/rc.local je vois que /etc/rc.local s'exécute avant.
Par contre le contenu de /etc/init.d/rc.local est beaucoup plus complexe, tu veux que je tape mes instructions
fstrim -v /
fstrim -v /home
echo 0x16 0x99130111 > /sys/class/sound/hwC0D0/user_pin_configs
echo 0x1e 0x99130112 > /sys/class/sound/hwC0D0/user_pin_configs
echo 1 > /sys/class/sound/hwC0D0/reconfig
dedans ?
Hors ligne
#14 Le 23/02/2013, à 21:47
- jamesbad000
Re : rc.local: démarrage, exécution et commandes
En principe /etc/init.d/rc.local est fait pour appeler /etc/rc.local au bon moment dans la séquence de démarrage, et selon le runlevel.
Ce n'est pas une très bonne idée d'aller le modifier.
Autrement d'un point de vu syntaxique, il n'y a rien à redire sur tout ce que tu as fait.
L'espace et le temps sont les modes par lesquels nous pensons, et non les conditions dans lesquelles nous vivons. (Signé Albert)
Hors ligne
#15 Le 23/02/2013, à 21:55
- Jay7s
Re : rc.local: démarrage, exécution et commandes
Merci pour ton aide, j'avoue c'est bizarre tout ça.
1 As tu une idée pour expliquer que le log est vide ?
2 Penses-tu que c'est dans la manip :
--> There are two ways of making it work:
#1
a. Add to rc.local :
echo 0x1e 0x99130112 > /sys/class/sound/hwC0D0/user_pin_configs
echo 1 > /sys/class/sound/hwC0D0/reconfig
b. Add options snd-hda-intel model=asus-mode4 in /etc/modprobe.d/alsa-base.conf
c. Reboot
d. Set the mode to "Analog Stereo Output" and then to "Analog Surround 5.1 output" in the sound settings panel. You have to do this each time you reboot!!!#2
a. Add to rc.local :
echo 0x16 0x99130111 > /sys/class/sound/hwC0D0/user_pin_configs
echo 0x1e 0x99130112 > /sys/class/sound/hwC0D0/user_pin_configs
echo 1 > /sys/class/sound/hwC0D0/reconfig
b. Reboot
c. Set the mode to "Analog Stereo Output" and then to "Analog Surround 5.1 output" in the sound settings panel. You have to do this each time you reboot!!!Both give the same results and fix the bug.
qu'il ya un problème ?
Pourtant avant d'ajouter la commande de trim dans rc.local, le subwoofer marchait bien , l'astuce fonctionnait.
J'ai essayé de ne mettre que la commande pour le subwoofer (en enlevant les commandes de trim) dans mon rc.local mais ça ne marche plus.
# By default this script does nothing.
echo 0x16 0x99130111 > /sys/class/sound/hwC0D0/user_pin_configs
echo 0x1e 0x99130112 > /sys/class/sound/hwC0D0/user_pin_configs
echo 1 > /sys/class/sound/hwC0D0/reconfig
exit 0
Par ailleurs, quand j'effectue : sudo gedit /sys/class/sound/hwC0D0/reconfig
Gedit m'écrit "Vous n'avez pas les droits necessaires pour écrire sur ce fichier"
Dernière modification par Jay7s (Le 23/02/2013, à 22:06)
Hors ligne
#16 Le 23/02/2013, à 22:05
- jamesbad000
Re : rc.local: démarrage, exécution et commandes
Je suppose que le log est vide parce que quelque chose ne va pas dans le script, mais je vois pas quoi. J'ai repris la même formulation que donnée par Haleth avec d'autre commande dans le bloc "machin" et ça log bien.
Ton pbm est d'autant plus étrange si tu ne peux pas rétablir ce qui fonctionnait avant.
Tu n'aurais pas supprimé un # sur une des lignes de commentaire ? ou modifié la 1ère ligne
#!/bin/sh -e
Dernière modification par jamesbad000 (Le 23/02/2013, à 22:07)
L'espace et le temps sont les modes par lesquels nous pensons, et non les conditions dans lesquelles nous vivons. (Signé Albert)
Hors ligne
#17 Le 23/02/2013, à 22:16
- Jay7s
Re : rc.local: démarrage, exécution et commandes
Salu,
J'ai remplacé mon rc.local par une version précédente sauvegardée avant l'ajout de la commande de trim.
Je ne suis pas à l'abri d'une erreur mais je n'ai pas retrouver l'usage du subwoofer.
Je t'avoue je suis totalement perdu. J'ai également supprimé des paquets avec deborphan recemment, mais je ne pense pas que ça soit la cause, ça m'étonnerait.
Hors ligne
#18 Le 23/02/2013, à 22:40
- jamesbad000
Re : rc.local: démarrage, exécution et commandes
Bah la cause du problème est très probablement quelque chose que tu as modifié entre le moment ou ça fonctionnait et le moment ou ça à cessé de fonctionné.
L'espace et le temps sont les modes par lesquels nous pensons, et non les conditions dans lesquelles nous vivons. (Signé Albert)
Hors ligne
#19 Le 26/02/2013, à 18:06
- Jay7s
Re : rc.local: démarrage, exécution et commandes
Bonjour,
Le problème de son est résolu grâce à un retour à une version précédente de pulseaudio.
Par contre je constate toujours le même problème sur rc.local, c'est à dire une imcompatiblité entre les commandes de trim et les commandes echo.
fstrim -v /
fstrim -v /home
echo 0x1e 0x99130112 > /sys/class/sound/hwC0D0/user_pin_configs
echo 1 > /sys/class/sound/hwC0D0/reconfig
Fstrim s'exécute mais pas les commandes echo
echo 0x1e 0x99130112 > /sys/class/sound/hwC0D0/user_pin_configs
echo 1 > /sys/class/sound/hwC0D0/reconfig
fstrim -v /
fstrim -v /home
echo s'exécute mais de Fstrim.
Quelqu'un à une idée de synthaxe ?
Merci, une bnne soirée
Hors ligne
#20 Le 26/02/2013, à 19:02
- jamesbad000
Re : rc.local: démarrage, exécution et commandes
Ok, tente de modifier la 1ère ligne du script en retirant l'option -e
#!/bin/sh
En principe on est sensé tester chaque ligne individuellement, mais ça va déjà permettre de vérifier si le script s'arrête parce qu'une commande renvoie une erreur.
L'espace et le temps sont les modes par lesquels nous pensons, et non les conditions dans lesquelles nous vivons. (Signé Albert)
Hors ligne
#21 Le 26/02/2013, à 20:57
- Jay7s
Re : rc.local: démarrage, exécution et commandes
Bien jouée jamesbad000, en retirant "-e" à la 1e ligne,
xxx@zay-princi:~$ sudo /etc/rc.local start
/: 57643008 bytes were trimmed
/home: 624529408 bytes were trimmed
Le trim fonctionne, donc les instructions echo puis fstrim sont effectuées.
Je peux laisser le fichier rc.local tel quel maintenant ?
Encore merci
Hors ligne
#22 Le 26/02/2013, à 21:52
- jamesbad000
Re : rc.local: démarrage, exécution et commandes
Bizarre. Ca veut dire que la 2ème commande trim retourne un code erreur alors qu'elle semble se dérouler normalement.
Oui je crois que le mieux est de laisser comme ça en fin de compte.
Bonne soirée...
L'espace et le temps sont les modes par lesquels nous pensons, et non les conditions dans lesquelles nous vivons. (Signé Albert)
Hors ligne
#23 Le 27/05/2016, à 12:22
- Fabou81
Re : rc.local: démarrage, exécution et commandes
Bonjour à tous,
Je me permet de déterrer ce sujet, car je viens de (re)passer du côté obscur en installant Ubuntu 16.04, mais j'ai un soucis de son... le Sub ne fonctionne pas mais j'ai l'impossibilité de modifier le fichier rc.local je n'ai pas les permissions.
Étant néophyte dans linux , je m'en remet à vous pour m'éclaircir sur mon problème.
Merci à vous pour vos réponses
Dernière modification par Fabou81 (Le 27/05/2016, à 12:37)
Hors ligne