Il faudrait que je teste à intervalle de temps l'existence et le contenu du fichier, hors, c'est justement pour sortir de ce genre de comportement que je me vous pose des questions! Ce serait quand même dommage de perdre des lignes de stdio ?
Il faut que j'approfondisse, mais je ne m’arrêterais pas à ça.
En // je commence à réfléchir à utiliser une socket,
srwxrwxr-x 1 mh-cbon mh-cbon 014 avril 22:18 pipe
C'est overkill, mais bon, si je n'ai pas de meilleures alternatives native, pourquoi pas.
Je suis pas sûr de suivre ton code, comme tu as pu le remarquer, le mien est fait avec mes pieds d'autodidacte acharné…
oui c'est un peu l'idée, sans prétention, se contenter de partager, d'avoir plusieurs versions de la même chose. Après à chacun d'aller dans la direction qu'il souhaite. Et/ou de poser les questions dont il a besoin.
Mais bon rassurons nous, cela n'est pas arrivé ; )
oui. Ce serait mieux un Bash script installer. Des package en bash c'est comme invité le diable dans son shell.
Quelque chose sans prétention qui fasse juste le job d'interroger, télécharger, extraire et installer les deux trois petites choses qui ferait ce genre de script (les deux) plus aisément partageable.
Avec vlc plutôt que mpv, de gros doutes sur l'utilisation de dmenu, et à l'arrache
#!/usr/bin/env nodeif(process.argv.length<3){varpath=require('path')console.error('Usage: %s %s [nom_radio|num_radio]',path.basename(process.argv[0]),path.relative(".",process.argv[1]));process.exit(1)}varradios={wwoz:"http://wwoz-sc.streamguys.com/wwoz-hi.mp3.m3u",fip:"http://audio.scdn.arkena.com/11016/fip-midfi128.mp3",classique:"http://players.creacast.com/creacast/classique/playlist.pls",inter:"http://www.listenlive.eu/franceinter128.m3u",nostalgie:"http://www.listenlive.eu/nostalgie_fr.m3u",larzac:"http://www.radiolarzac.org:8000/radiolarzac.m3u",}varargRadio=process.argv[2];if(argRadio.match(/^[0-9]+$/))argRadio=Object.keys(radios)[argRadio]if(!radios[argRadio]){console.error('Unknown radio %s\nChoose one of\n%s',process.argv[2],Object.keys(radios))process.exit(1)}varplayer='vlc'vardmenu=process.argv[3];if(!dmenu)returninvokePlayer(player,radios[argRadio])varchild=require('child_process').spawn('demnu',[],{stdio:'pipe'})Object.keys(radios).forEach(function(k,i){child.stdin.write(i+'\n')})varselected=null;child.stdout.on('data',function(d){selected=d.toString().replace(/^\s*|\s*$/,'')})child.on('close',function(){if(selected!==null)returninvokePlayer(player,radios[Object.keys(radios)[selected]])console.error('Oh no !...')})child.on('error',console.error.bind(console))functioninvokePlayer(player,url){varargs=[];(player.match(/mpv/)&&url.match(/[.](pls|m3u)$/))&&args.push('-playlist');args.push(url)varchild=require('child_process').spawn(player,args,{stdio:'inherit'})process.on('SIGINT',function(){child.kill('SIGINT')})}
Je ne suis pas certain de cette partie au sujet de dmenu
stname=$(for i in ${sta[@]};doecho$i;done| dmenu) // envoie les options à dmenu ? une par ligne ? bloque jusqu'à la fermeture de dmenu ? sauvegarde la réponse de dmenu dans stname ?
for((i=0; i<${#sta[@]}; i++))doif["$stname"="${sta[$i]}"]thenstream=${stau[$i]}fidone
Par contre je me suis quand même demandé 30 secondes lequel de "rr" ou du résultat du ls allait s'afficher en premier :x
ah donc ce n'est pas garanti :x Ici, sur mon pc, c'est bien "rr" qui s'affiche en premier.
Enfin, pour être tout à fait complet, c'était surtout cela que je voulais faire
sudo sh -c "echo 'rr' 1>&3 && ls -al" 3>&1
Malheureusement pour moi, j'ai pu lire par la suite que sudo ferme toutes les fd supérieures à stderr, sauf si -C est utilisée. Mais -C est par défaut restreint…. bref, je n'ai pas pu faire ce que je voulais et je devrais salir stdout ou stderr.. : ( : ( : ( c'est moche.
sudo -C 4 sh -c "echo 'rr' 1>&4" 4>1
sudo: vous n'êtes pas autorisé à utiliser l'option -C
Enfin, peut être que je pourrais échapper le signal via autre chose qu'un flux entre process, genre une socket ou quelque chose, mais va falloir que j'en apprenne plus, et puis je ne peux me permettre plus d'une ligne.
l'ancien admin est en fuite pour cause de compte en banque dans les iles sud américaines - et n'est absolument pas joignable
attention ! trop de suspicion et tu en deviens suspicieux ;)
à mon wrapper qui fait du coup office de pseudo gestionnaire de service.
Donc tu refais un système de gestion de service par dessus le système natif ? Oui, ça se vaut si ton code existe déjà, est éprouvé, et prêt à faire ce job. Si tu dois partir sur un nouveau module c'est déjà une autre histoire.
Et puis quand à parler de clarté en programmation, des fois t'as envie de pleurer. Moi j'étais bien étonné l'autre jour cf.
Alors est ce que ton code est vraiment limpide et bugfree pour laisser un autre le reprendre ? Je ne sais pas…
Mais maintenant je me dis que je suis peut-être un dino, et que bien entendu tout admin de moins de 35 ans se ruera sur /etc/systemd et comprendra la conf en deux minutes.
arrêtons la suspicion ; ) osef, chacun voit midi à sa porte en fonction de son contexte. De temps en temps une solution commune émerge, sinon on la fait passer par la force. Ça ce trouve elle est très bien ta solution, ça se trouve tu te ***** la nouille devant… M'enfin, si on part sur l'idée d'utiliser bash, c'est surement possible de faire un gestionnaire de service, par contre, je doute sur tout le reste (mais bon je ne suis pas très barbu).
c'est quoi exactement le problème ? Pour du bash c'est plutôt malin d'utiliser le manager de service ainsi. Et même pour du non-bash en fait.
Enfin, au cas où, il n'y a bien qu'un seul service, et une pluie de copier coller, ça c'est vrai que c'est moche.
Je proposerais bien une petite alternative, mais faudra utiliser un autre langage pour le moteur de template. On peut par contre garder bash pour déclarer les variables et appeler l'outil.
oui, c'est pour cela que je n'ai volienter le journal (ok avec les deux commentaires qui me précèdent). Dans tout projet informatique qui veut concrétiser, il y a cette partie PM.
Comment être un développeur PM désirable me semble un titre plus approprié.
où comment motivé tout les petits codeurs en herbes voulu par l'état aux joies de l'informatique en entreprise. En même temps ils s'en foutent les crèves la dallesans-dents chômeurs de faire-ça-bientravailler avec passion d'être des professionnels responsable sous payés, ils ont faimun ou deux crédits sur le dos besoin de payer des impôts en augmentation de vivre, alors faut que ça marche… Je suis bien évidemment d'accord avec le commentaire précédent ! Surtout le dernier passage.
Ce message est supporté par "reformates-ton-cerveau.com" pour arrêter de raconter n'importe quoi bêtement sur internet !
En même temps j'ai envie de dire que la gestion des paquets est foireuse..
Soit, le mainteneur n'a pas incrémenter le numéro de version majeur (pour breaking change).
Soit, l'admin n'a pas bien locké sa dépendance (il à fait depend *.*.*, au lien de 2.*.*, où 2 est un hypothétique numéro majeur)
Soit c'est le système de gestion de paquet chez debian qui est foireux en ne permettant pas cela, ce qui va m'attirer des foudres :=)
Ceci dit, comme, en tant que simple utilisateur, je n'ai eu l'occasion de locker une dépendance sur sa version mineure / patch. je ne sais pas si cela est possible, et j'en viens donc à penser, qu'en fait, la gestion des paquets est foireuse… Mais il est fort possible que je me trompe. Ceci dit bis, pour ce que cela vaut, j'ai lu ceci http://askubuntu.com/questions/18654/how-to-prevent-updating-of-a-specific-package et /bof/.
PS: des barres, le minimum maximum de karma à changé à -62, et j'y suis déjà :D
elle est bien cette fin avec ce how-to même pas déguisé,
Ensuite, nous convoquerons immédiatement une Assemblée Constituante par tirage au sort de 500 citoyens sur les listes électorales actuelles. Chacun pourra choisir d’y participer, ou de laisser le sort désigner un autre citoyen. L’Assemblée Constituante aura interdiction de voter ou d’élaborer le moindre texte dans les 3 premiers mois, qu’elle utilisera à se former à l’écriture de constitution, selon la méthode longuement exposée déjà par Etienne Chouard. Alors seulement, cette Assemblée Constituante concevra une Constitution qu’elle soumettra par référendum aux français.
pourquoi on doit garder un serveur au fait ? un client n'est il pas déjà un serveur en puissance. on peut imaginer n'avoir besoin tout au plus que d'un point de relais pour entrer dans le sous réseau. bon y a bien une histoire de bande passante plutôt limitée qui quelque part me chagrine..
[^] # Re: Non je vois pas
Posté par mh-cbon . En réponse au message compatibilité sh -c 'echo "rr" 1>&3 && ls -al .' 3>&1. Évalué à -5.
ce n'est pas une bêtise.
Il faudrait que je teste à intervalle de temps l'existence et le contenu du fichier, hors, c'est justement pour sortir de ce genre de comportement que je
mevous pose des questions! Ce serait quand même dommage de perdre des lignes de stdio ?Il faut que j'approfondisse, mais je ne m’arrêterais pas à ça.
En // je commence à réfléchir à utiliser une
socket
,C'est overkill, mais bon, si je n'ai pas de meilleures alternatives native, pourquoi pas.
[^] # Re: Non je vois pas
Posté par mh-cbon . En réponse au message compatibilité sh -c 'echo "rr" 1>&3 && ls -al .' 3>&1. Évalué à -5.
je pense que c'est excellent ! En plus le fait que ce soit bloquant m'arrange au plus haut point.
Il y a besoin d'encore un peu de travail, pour l'instant c'est très manuel,
Suivit d'un
cat pipe
dans un autre terminal pour débloquer le tout.Merci !
[^] # Re: Avec votre langage préféré...
Posté par mh-cbon . En réponse au journal Écouter la radio. Évalué à -6.
oui c'est un peu l'idée, sans prétention, se contenter de partager, d'avoir plusieurs versions de la même chose. Après à chacun d'aller dans la direction qu'il souhaite. Et/ou de poser les questions dont il a besoin.
Mais bon rassurons nous, cela n'est pas arrivé ; )
[^] # Re: tant qu'on y est
Posté par mh-cbon . En réponse au journal Écouter la radio. Évalué à -8.
oui. Ce serait mieux un
Bash script installer
. Des package en bash c'est comme invité le diable dans son shell.Quelque chose sans prétention qui fasse juste le job d'interroger, télécharger, extraire et installer les deux trois petites choses qui ferait ce genre de script (les deux) plus aisément partageable.
[^] # Re: tant qu'on y est
Posté par mh-cbon . En réponse au journal Écouter la radio. Évalué à -8.
ce serait pas mal du tout si il existait un genre de
bash package manager
à la manière de npm pour partager ce genre de script.[^] # Re: comme toujours : pensez à weboob !
Posté par mh-cbon . En réponse au journal Écouter la radio. Évalué à -5.
# Avec votre langage préféré...
Posté par mh-cbon . En réponse au journal Écouter la radio. Évalué à -3.
… Ça donnerait quoi ?
Avec
vlc
plutôt quempv
, de gros doutes sur l'utilisation dedmenu
, et à l'arracheJe ne suis pas certain de cette partie au sujet de dmenu
[^] # Re: comme toujours : pensez à weboob !
Posté par mh-cbon . En réponse au journal Écouter la radio. Évalué à -4.
Il ressemble à quoi le source de radioboob ? Je ne trouves qu'un vieux miroir github, qui ne contient apparemment pas le source de rboob.
[^] # Re: Non je vois pas
Posté par mh-cbon . En réponse au message compatibilité sh -c 'echo "rr" 1>&3 && ls -al .' 3>&1. Évalué à -6. Dernière modification le 12 avril 2016 à 10:48.
cool merci !
ah donc ce n'est pas garanti :x Ici, sur mon pc, c'est bien "rr" qui s'affiche en premier.
Enfin, pour être tout à fait complet, c'était surtout cela que je voulais faire
Malheureusement pour moi, j'ai pu lire par la suite que sudo ferme toutes les fd supérieures à stderr, sauf si -C est utilisée. Mais -C est par défaut restreint…. bref, je n'ai pas pu faire ce que je voulais et je devrais salir stdout ou stderr.. : ( : ( : ( c'est moche.
Enfin, peut être que je pourrais échapper le signal via autre chose qu'un flux entre process, genre une socket ou quelque chose, mais va falloir que j'en apprenne plus, et puis je ne peux me permettre plus d'une ligne.
[^] # Re: HEREDOC et variables
Posté par mh-cbon . En réponse au journal Zabbix, autossh, systemd. Évalué à -9.
les copié-collé c'est comme l'abus d'alcool, c'est une nuisance pour une bonne intelligibilité.
[^] # Re: Merci
Posté par mh-cbon . En réponse au journal Zabbix, autossh, systemd. Évalué à -8.
attention ! trop de suspicion et tu en deviens suspicieux ;)
Donc tu refais un système de gestion de service par dessus le système natif ? Oui, ça se vaut si ton code existe déjà, est éprouvé, et prêt à faire ce job. Si tu dois partir sur un nouveau module c'est déjà une autre histoire.
Et puis quand à parler de clarté en programmation, des fois t'as envie de pleurer. Moi j'étais bien étonné l'autre jour cf.
Alors est ce que ton code est vraiment limpide et bugfree pour laisser un autre le reprendre ? Je ne sais pas…
arrêtons la suspicion ; ) osef, chacun voit midi à sa porte en fonction de son contexte. De temps en temps une solution commune émerge, sinon on la fait passer par la force. Ça ce trouve elle est très bien ta solution, ça se trouve tu te ***** la nouille devant… M'enfin, si on part sur l'idée d'utiliser bash, c'est surement possible de faire un gestionnaire de service, par contre, je doute sur tout le reste (mais bon je ne suis pas très barbu).
[^] # Re: Merci
Posté par mh-cbon . En réponse au journal Zabbix, autossh, systemd. Évalué à -7.
c'est quoi exactement le problème ? Pour du bash c'est plutôt malin d'utiliser le manager de service ainsi. Et même pour du non-bash en fait.
Enfin, au cas où, il n'y a bien qu'un seul service, et une pluie de copier coller, ça c'est vrai que c'est moche.
Je proposerais bien une petite alternative, mais faudra utiliser un autre langage pour le moteur de template. On peut par contre garder bash pour déclarer les variables et appeler l'outil.
[^] # Re: pas faux
Posté par mh-cbon . En réponse au journal Comment être un développeur désirable. Évalué à -9. Dernière modification le 10 avril 2016 à 15:09.
oui, c'est pour cela que je n'ai volienter le journal (ok avec les deux commentaires qui me précèdent). Dans tout projet informatique qui veut concrétiser, il y a cette partie PM.
Comment être un
développeurPM désirable me semble un titre plus approprié.[^] # Re: Avec ton terminal
Posté par mh-cbon . En réponse au message unzip, recherche une implémentation de référence. Évalué à -5.
comme quoi ça vaut le coup de demandé !
[^] # Re: SNMP au dessus de UDP
Posté par mh-cbon . En réponse au journal SNMP vs NRPE. Évalué à -5.
OK, j'ai compris maintenant : ) Je pensais que j'avais loupé un truc au sujet d'udp, d'où mon insistance.
[^] # Re: SNMP au dessus de UDP
Posté par mh-cbon . En réponse au journal SNMP vs NRPE. Évalué à -6.
c'est une réponse intéressante aussi, merci, mais je ne comprends toujours pas ton commentaire précédent, c'était cela que je voulais comprendre :x
# laisser un mot
Posté par mh-cbon . En réponse au message système d'init. Évalué à -6.
Pour vous signifier que malgré vous, et grâce à vos réponses, mes modules sortent du clavier, et ça c'est cool !
Alors merci a vous trois !
[^] # Re: SNMP au dessus de UDP
Posté par mh-cbon . En réponse au journal SNMP vs NRPE. Évalué à -7.
j'ai pas compris,
https://tools.ietf.org/html/rfc768
[^] # Re: pas faux
Posté par mh-cbon . En réponse au journal Comment être un développeur désirable. Évalué à -10.
où comment motivé tout les petits codeurs en herbes voulu par l'état aux joies de l'informatique en entreprise. En même temps ils s'en foutent les
crèves la dallesans-dentschômeurs defaire-ça-bientravailler avec passiond'être des professionnels responsable sous payés, ils ontfaimun ou deux crédits sur le dosbesoinde payer des impôts en augmentationde vivre, alors faut que ça marche… Je suis bien évidemment d'accord avec le commentaire précédent ! Surtout le dernier passage.[^] # Re: Avec ton terminal
Posté par mh-cbon . En réponse au message unzip, recherche une implémentation de référence. Évalué à -5.
ouaip c'est cool comme méthode, merci!
J'ai juste un bémol, dnf a téléchargé les metadata des sources pour tous mes repos :x
Aussi, j'ai obtenu un fichier .src.rpm, alors je laisse une note pour en extraire les fichiers :
rpm2cpio *.src.rpm | cpio -idmv
[^] # Re: debian testing
Posté par mh-cbon . En réponse au message unzip, recherche une implémentation de référence. Évalué à -6.
Merci. (c'est poilu…ça embarque plein de chose :s)
[^] # Re: SRPM
Posté par mh-cbon . En réponse au message unzip, recherche une implémentation de référence. Évalué à -6.
c'est juste que quand je cherche sur mon moteur de recherche préféré je ne trouve pas. Mais c'est une excellente idée. Merci.
[^] # Re: Et de plus, sur Debian...
Posté par mh-cbon . En réponse au journal SNMP vs NRPE. Évalué à -4.
En même temps j'ai envie de dire que la gestion des paquets est foireuse..
Soit, le mainteneur n'a pas incrémenter le numéro de version majeur (pour breaking change).
Soit, l'admin n'a pas bien locké sa dépendance (il à fait depend
*.*.*
, au lien de2.*.*
, où 2 est un hypothétique numéro majeur)Soit c'est le système de gestion de paquet chez debian qui est foireux en ne permettant pas cela, ce qui va m'attirer des foudres :=)
Ceci dit, comme, en tant que simple utilisateur, je n'ai eu l'occasion de locker une dépendance sur sa version mineure / patch. je ne sais pas si cela est possible, et j'en viens donc à penser, qu'en fait, la gestion des paquets est foireuse… Mais il est fort possible que je me trompe. Ceci dit bis, pour ce que cela vaut, j'ai lu ceci http://askubuntu.com/questions/18654/how-to-prevent-updating-of-a-specific-package et /bof/.
PS: des barres, le minimum maximum de karma à changé à -62, et j'y suis déjà :D
[^] # Re: Le mouvement n'est pas si spontané
Posté par mh-cbon . En réponse au journal Besoin de compétences numériques à la #nuitdebout. Évalué à -5.
elle est bien cette fin avec ce how-to même pas déguisé,
[^] # Re: modèle économique
Posté par mh-cbon . En réponse au journal WhatsApp active le chiffrement de bout en bout. Évalué à -6.
pourquoi on doit garder un serveur au fait ? un client n'est il pas déjà un serveur en puissance. on peut imaginer n'avoir besoin tout au plus que d'un point de relais pour entrer dans le sous réseau. bon y a bien une histoire de bande passante plutôt limitée qui quelque part me chagrine..