#551 Le 11/06/2009, à 09:29
- frantzd
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
sudo /etc/init.d/pulseaudio restart ?
Frantz
http://librephoto.net/
Hors ligne
#552 Le 11/06/2009, à 15:01
- eat your potato
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Non _a ne marche pas, j'obtiens seulement le message
* PulseAudio configured for per-user sessions
Hors ligne
#553 Le 13/06/2009, à 10:06
- draco31.fr
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Bonjour, est-ce que quelqu'un serait capable de faire un petit script qui quand on le lance trouve le PID de pulsaudio, le tue et le redémarre ? Par ce que j'en ai assez de tout le temps devoir lancer le moniteur système.
#!/bin/bash
# Trouver le(s) PID de pulseaudio
PID="$(pgrep pulseaudio)"
# Sauver la ligne de commande de pulseaudio
COMMAND="$(ps --format command "$PID" | tail -n +2)"
# Tuer pulseaudio
kill -s TERM $PID
# Relancer le(s) serveur(s) pulseaudio comme au démarrage
IFS=$'\n'
for comm in $COMMAND ; do eval "$comm &" ; done
Voilà ce que je te propose, mais c'est sans garantie !
Sinon, tu peux faire plus rapide :
pkill pulseaudio && pulseaudio --start --log-target=syslog
ça tue les process "pulseaudio", et relance un pulseaudio avec les paramètres que j'ai chez moi.
Cependant, je suis pas sûr que pulseaudio tourne avec les même paramètres chez toi !
Dernière modification par draco31.fr (Le 13/06/2009, à 10:11)
Hors ligne
#554 Le 13/06/2009, à 10:44
- eat your potato
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
En effet, j'ai l'habitude de juste relancer pulseaudio en tapant oulseaudio dans la console.
D'ailleurs quand je tape "pkill pulseaudio && pulseaudio" ça ne marche pas. Par contre si je tape juste "pkill pulseaudio" et après "pulseaudio" ça marche. C'est à ne rien y comprendre.
Enfin merci, je vais faire rentrer ça dans un petit script pour lancer ça facilement
Hors ligne
#555 Le 13/06/2009, à 12:37
- draco31.fr
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
D'après le man de pulseaudio, tu peux aussi utiliser l'option --kill :
--start
Start PulseAudio if it is not running yet. This is differ‐
ent from starting PulseAudio without --start which would
fail if PA is already running. PulseAudio is guaranteed to
be fully initialized when this call returns. Implies
--daemon.-k | --kill
Kill an already running PulseAudio daemon of the calling
user (Equivalent to sending a SIGTERM).
Donc une alternative pourrait être :
pulseaudio --kill && pulseaudio --start
ou encore :
pkill pulseaudio && sleep 1 && pulseaudio --start
Dans tout les cas, l'option --start semble nécessaire pour s'assurer que pulseaudio se relance bien.
Et vu qu'il se lance en démon, le "sleep 1" permet de temporiser entre les 2 commandes (comme lorsque tu les tapes l'une après l'autre dans la console )
Dernière modification par draco31.fr (Le 13/06/2009, à 12:41)
Hors ligne
#556 Le 13/06/2009, à 14:16
- eat your potato
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
J'ai prix la première alternative et ça marche, merci.
Hors ligne
#557 Le 13/06/2009, à 23:14
- yeste64
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Bonjour à tous! Je vous présente mon petit multi-scripts ici :
http://forum.ubuntu-fr.org/viewtopic.php?id=325127
A bientôt!
Dernière modification par yeste64 (Le 13/06/2009, à 23:14)
Si l'important n'est pas de gagner mais de participer, alors pourquoi compte-t-on les points ?
Hors ligne
#558 Le 15/06/2009, à 12:21
- BorX
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Salut,
J'ai écrit un script permettant de transformer les fichiers doublons en liens durs (hard links).
Il utilise fdupes qui permet de rechercher les doublons, mais ne permet pas de les lier ensuite.
Ainsi, lorsqu'on a par exemple besoin de place et qu'on n'a pas envie de chercher quels doublons supprimer, lier les doublons entre eux fait qu'ils prennent moins de place sur le disque dur (n fichiers doublons prennent la place d'un seul fichier) tout en gardant leur présence (supprimer l'un ne supprime pas les autres).
Très utile pour les médiathèques (mp3, vidéos, ...), notamment avant une sauvegarde (sur un support ext3 bien sûr ).
Ce système peut se montrer utile dans d'autres cas de figures, mais ça devient un autre sujet
Tous les détails ici : http://forum.ubuntu-fr.org/viewtopic.php?id=328747
Edit : Déplacement du sujet concernant ce script dans le forum dédié aux développements
Dernière modification par BorX (Le 30/06/2009, à 00:00)
Hors ligne
#559 Le 15/06/2009, à 19:48
- rahancrao
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Salut,
j'ai posté il y a quelques temps un script permettant de joindre des fichiers de type *.001, *.002 ...
Le revoilà car j'ai corrigé deux petits bugs :
#!/bin/bash
#script permettant de joindre des fichiers *.001
fct_autre ()
{
echo "Voulez vous joindre un autre fichier ? (o/n) :"
read nouveau
case $nouveau in
o)
fct_joindre;;
n)
exit;;
*)
exit;;
esac
}
fct_joindre ()
{
rep_courant=`pwd`
clear
echo "Liste des fichiers *.001 present sous le repertoire courant : "
ls "${rep_courant}"/*.001|awk -F "/" '{print $NF}'
echo "Entrez le nom du fichier a joindre : "
read fichier_premier
echo "Liste des fichiers a joindre : "
nom_sans_ext=`basename "$fichier_premier" .001`
ls -l "${nom_sans_ext}".[0-9][0-9][0-9]
echo "Le fichier joint sera $nom_sans_ext"
echo "Voulez vous continuer ? (o/n) :"
read reponse
case $reponse in
o)
echo "Compilation des fichiers ..."
cat "$nom_sans_ext".[0-9][0-9][0-9]>"$nom_sans_ext"
echo "voulez vous supprimer les fichiers sources ? (o/n) :"
read supprimer
case $supprimer in
o)
rm "$nom_sans_ext".[0-9][0-9][0-9]
fct_autre;;
n)
fct_autre;;
*)
exit;;
esac;;
n)
exit;;
*)
exit;;
esac
}
fct_joindre
=> ajout de doubles côtes autour de l'appel à la variable $rep_courant au cas ou le path contienne un espace dans un nom de répertoire + ajout d'un tout bête . avant 001 dans la même ligne.
Ingé en préprod Unix : forcément sous GNU/Linux à la maison (Ubuntu 10.10 + ArchLinux tout neuf)
Hors ligne
#560 Le 16/06/2009, à 12:09
- neub
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Checker de Subversion (Besoin de update ou besoin de commit).
En fait je suis un peu "tete en l'air" et j'oublie souvent de faire une update de mon repositories avant de commencer ma journée a coder!
Du coup cela me donne des mauvaise surprise, et je doit perdre 30mn a faire des merges, diff, etc...
Donc voici, un petit script qui utilise zenity afin de faire apparaitre des popup pour se rappler de update ou commit
---------------------
Dependence:
- subversion
- zenity
- bash
---------------------
#!/bin/bash
folders=(
"/home/neub/work/projects/CvS400/trunk"
"/home/neub/work/projects/vicia/trunk"
);
echo "Checking ${#folders[@]} SVN local repository"
notify=""
list=""
for fpath in "${folders[@]}"; do
echo " # $fpath"
fname=${fpath##*/}
cd "$fpath"
#Find revision of distant repository
rev_d=`svn info -r HEAD | grep -i "Revisión del último cambio"`
rev_d=${rev_d##* } #Obtain last value
rev_d=$[$rev_d] #Transform to num
#Find revision of local repository
rev_l=`svn info | grep -i "Revisión del último cambio"`
rev_l=${rev_l##* } #Obtain last value
rev_l=$[$rev_l]
if [ $rev_d -eq 0 ]; then
echo "Timeout";
else
if [ "$rev_l" -eq "$rev_d" ]; then
echo "Revisions are up to date"
changes=`svn status`
if [ "${changes}" != "" ]; then
echo "Local file modifications:
$changes";
tmp="SVN ${fname}: Need to Commit";
fi
#Add the notification text.
if [ "${notify}" == "" ]; then
notify="${tmp}";
else
notify="${notify}
${tmp}"
fi
#Need to be updated
else
#Check the update direction.
if [ "$rev_l" -gt "$rev_d" ]; then
tmp2="FALSE '${fpath}' '${fname}' 'local=$rev_l > dist=$rev_d'"; #Automatically set to FALSE.
else
tmp2="TRUE '${fpath}' '${fname}' 'dist=$rev_d > local=$rev_l'"; #Automatically set to TRUE.
fi
#Add the project to update list.
list="${list} ${tmp2}"
fi
fi
done;
## JUST NOTIFY WHEN WE NEED TO COMMIT AND THEN EXIT.
if [ "$notify" != "" ]; then
zenity --notification --text="$notify" &
fi
## POPUP WHEN WE NEED TO UPDATE
if [ "$list" != "" ]; then
cmd="zenity --list --checklist --separator=\";\" --title=\"Update the SVN repositories\" --hide-column=2 --column=\"Update\" --column=\"Path\" --column=\"Project\" --column=\"Versions\" $list"
#echo -e "$cmd\n";
ret=$(bash -c "$cmd")
ret=`echo "$ret" | tr " " "!"`; #Replace directory with space by !
ret=(`echo "$ret" | tr ";" " "`); #Make an array using separator ;
fi
for fpath in "${ret[@]}"; do
fpath=`echo "$fpath" | tr "!" " "`; #Rebuild directory with ! by using a space char.
echo "updating $fpath";
svn update "$fpath" #Update SVN directory.
done
personellement je l'utilise 5mn apres un reboot ou quand Eclipse de lance
Voila, j'espere que ca servira a qqun.
www.neub.co.nr
HP DV5 1073ez (Core 2 Duo T9400 2x2.53Ghz | nVidia GeForce 9600M GT 512MB)
Hors ligne
#561 Le 18/06/2009, à 20:56
- zibletop
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Salut,
Le script ci-dessous capture le son qui sort de la carte son sous pulseaudio.
#!/bin/bash
#
# Trouve le nom du peripherique moniteur
#
PULSE_DEVICE=$(LANG=en_US.UTF-8 pactl list | grep -A1 'Source #' | grep 'Name' | grep 'monitor' | cut -d " " -f2)
echo [device] = [$PULSE_DEVICE]
#
# Defini le nom du fichier ex: 02juin-18h30-Capture.wav
#
FILE_DATE=$(date +%d%h-%Hh%M)
FILE_NAME=$(echo $HOME/$FILE_DATE-Capture.wav)
echo [capture] = [$FILE_NAME]
#
# Lance la capture cf. http://pulseaudio.org/wiki/FAQ#HowdoIrecordstuff
#
parec --device=$PULSE_DEVICE --format=s16le --rate=44100 --channels=2 | \
sox -S --type raw -s2L --rate 44100 --channels 2 - --type wav $FILE_NAME
Le fichier de capture (.wav) est sauvegardé dans le dossier personnel ($HOME)
Vos commentaires & remarques sont bienvenus
a+
@Kanor: merci, avec l'ajout de LANG=en_US.UTF-8 devant la commande cela devrait rendre le script plus universel (cf. message suivant)
Dernière modification par zibletop (Le 18/06/2009, à 23:22)
Hors ligne
#562 Le 18/06/2009, à 22:17
- Kanor
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
@zibletop Sympa ton script fonctionne bien mais j'ai du modifier cette ligne
PULSE_DEVICE=$(pactl list | grep -A1 'Source #' | grep 'Nom' | grep 'monitor' | cut -d " " -f2)
en
PULSE_DEVICE=$(pactl list | grep -A1 'Source #' | grep 'Name' | grep 'monitor' | cut -d " " -f2)
Hors ligne
#563 Le 21/06/2009, à 16:22
- Bushman02
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Demande d'aide (qui n'a rien à voir avec ce qui précède).
Voici un "script" qui me permet de lancer Xsane puis OCRopus et d'obtenir ensuite trois variantes d'un même texte reconnu :
#!/bin/bash
xsane ;
ocropus ;
export tesslanguage=fra ;
ocroscript rec-tess *.png > sortie.html ;
ocroscript hocr-to-text sortie.html > sortie.txt ;
ocroscript text-to-hocr sortie.txt > sortie.hocr ;
rm sortie.html ;
oowriter sortie.hocr &
fi
Lorsque je lance le script, xsane démarre et fonctionne, mais, pour obtenir la réalisation de la fin du script, je dois couper xsane lorsqu'il a effectué sa tâche.
Exixte-t-il une commande à intercaler avant le lancement d'OCRopus pour que xsane s'éteigne de lui-même quand il en a terminé ?
(J'ai essayé "killall xsane", mais ça ne fonctionne pas.)
Merci d'avance.
Hors ligne
#564 Le 21/06/2009, à 21:18
- draco31.fr
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Lorsque je lance le script, xsane démarre et fonctionne, mais, pour obtenir la réalisation de la fin du script, je dois couper xsane lorsqu'il a effectué sa tâche.
Existe-t-il une commande à intercaler avant le lancement d'OCRopus pour que xsane s'éteigne de lui-même quand il en a terminé ?
(J'ai essayé "killall xsane", mais ça ne fonctionne pas.)
Merci d'avance.
Si tu veux que le reste du code soit exécuté alors que xsane ne s'est pas terminé, tu dois inscrire une esperluette à la fin de la commande comme tu l'as fait pour oowriter.
Si tu veux, à un moment du script, attendre que les jobs d'arrière plan soient terminés, ajoute aussi une instruction "wait".
Est-ce que cela répond à ta question ?
Par ailleurs, je ne vois ni "if" ni "then" dans ton code, alors que tu mets un "fi". Il y a quelque chose qui m'échappe !!
NB : Le "killall xsane" doit fonctionner ... sauf si l'instruction s'exécute après la fin de xsane !
Tu peux également combiner les actions :
#!/bin/bash
xsane & # lance xsane en arrière plan
PID=$! # récupère son PID
sleep 300 # attendre 5 minutes que Xsane fasse son travail...
kill $PID # tuer Xsane s'il ne s'est pas fermé tout seul,
# cela permet de ne tuer que la fenêtre xsane lancée précédemment (plus précis que killall)
Hors ligne
#565 Le 21/06/2009, à 23:12
- Bushman02
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Merci beaucoup draco31.fr : j'ai utilisé la solution que tu as proposée en modifiant le temps alloué à "sleep" en fonction de la rapidité de mon scanner. Les choses se passent à peu près comme je le souhaitais.
En fait, la question que je me posais était celle-ci : existe-t-il une commande qui permette d'arrêter xsane au moment précis où il en finit avec son travail de saisie ?
Le "fi" provient d'une première mouture du script... mais il est resté là sans que j'y fasse attention : je bricole en essayant d'apprendre sur le tas, c.-à-d. en picorant à gauche et à droite...
Merci encore de ton aide.
Hors ligne
#566 Le 22/06/2009, à 22:50
- draco31.fr
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Tout dépend ce que tu souhaite faire avec Xsane.
Comme c'est une interface graphique, cela suppose que l'utilisateur clic ou valide des options avant de lancer le traitement, puis ferme l'application.
Si tu veux un traitement totalement automatisé, tu peux regarder du côté des outils en ligne de commande comme scanimage.
En lui passant tout les paramètres nécessaire, scanimage réalisera le traitement souhaité, enregistrera le fichier puis rendra la main au script ... sans nécessiter l'utilisation de "sleep" ou "kill".
Je t'invite donc à lire le man de scanimage pour en savoir plus.
man scanimage
Hors ligne
#567 Le 24/06/2009, à 22:45
- 00_00
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Bonjour,
je recherche un script qui permette de prendre des notes par le biais de la ligne de commande, en connaissez-vous?
Du meme style que todo.txt-cli http://ginatrapani.github.com/todo.txt-cli/ (mais pour prendre des notes plus longue) ou bien est il possible d'adapter ce script Mac OS http://reluctanthacker.rollett.org/node/9 pour ubuntu?
Je ne connais rien en bash, pour l'instant j'ai fait ça (je ne comprends pas trop _notes() et la completion ne marche pas) :
note() {
if [ -n "$*" ]; then
vim -o2 "$HOME/.notes/$*.note" "$HOME/.notes/$*.tags"
else
printf "Name of note is a required argument.\n"
fi
}
findnote() {
grep -iaH $1 ~/.notes/*.note
}
shownote() {
cat "$HOME/.notes/$*.note"
}
findtag() {
grep -iaH $1 ~/.notes/*.tags
}
copynote() {
echo "desactivez!!!"
#cat "$HOME/.notes/$*.note" | pbcopy
}
alias note:='note'
alias shownote:='shownote'
alias notes="vim -c \"let g:netrw_list_hide='\.tags$,^\..*'\" -c \"let g:netrw_hide=1\" $HOME/.notes"
_notes() {
local cur names IFS
cur="${COMP_WORDS[COMP_CWORD]}"
names=`ls $HOME/.notes | sed 's/.note$//g'`
IFS=$'\t\n'
COMPREPLY=( $(compgen -W "${names}" -- ${cur}) )
return 0
}
complete -o nospace -F _notes note
complete -o nospace -F _notes note:
complete -o nospace -F _notes copynote
Hors ligne
#568 Le 05/07/2009, à 22:15
- Bushman02
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Pour draco31.fr.
Je reprends le cours de ce fil après deux semaines d'absence. Merci de me suggérer scanimage, mais j'avais commencé par l'utiliser, sans obtenir exactement ce que je voulais. Je vais essayer de chercher un peu plus profondément dans le man.
Merci en tout cas, une fois encore, de ton aide et de tes conseils.
Dernière modification par Bushman02 (Le 05/07/2009, à 22:15)
Hors ligne
#569 Le 07/07/2009, à 08:35
- jobastr
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Bonjour,
J'aurais voulu savoir si vous pourriez créer un script Nautilus pour créer des liens symbolique, comme avec la commande
ln -s
je créer des packs d'icônes, et ça me ferais gagner pas mal de temps.
Merci
Dernière modification par jobastr (Le 07/07/2009, à 08:37)
Hors ligne
#570 Le 07/07/2009, à 08:41
- Autiwa
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
la commande "créer un lien" ne fais pas ce que tu veux? Pour ma part j'utilise ça. je crée un lien, et ensuite je coupe colle le lien où je veux.
Pensez à éditer le titre du sujet (en éditant le premier message) pour rajouter un "[Résolu]" ça évite à ceux qui veulent donner un coup de main, d'ouvrir un sujet où il n'y a plus d'aide à donner.
Hors ligne
#571 Le 07/07/2009, à 09:57
- penkoad
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Salut jobastr,
Je sais pas si je vais répondre à ta demande mais quand dans Nautilus tu appuies sur CTRL+MAJ puis que tu déplaces un fichier ou un répertoire tu verras apparaître lors du déplacement une décoration sur l'item déplacé et lorsque tu le lâches cela crée un lien.
Évidemment il faut avoir les droits en écritures à l'endroit de la cible.
"Always do sober what you said you'd do drunk. That will teach you to keep your mouth shut."
Ernest Hemingway
Hors ligne
#572 Le 07/07/2009, à 12:08
- jobastr
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
la commande "créer un lien" ne fais pas ce que tu veux? Pour ma part j'utilise ça. je crée un lien, et ensuite je coupe colle le lien où je veux.
Non, cette commande créer un lien avec le nom du chemin entier, si tu installe le pack d'icônes sur un autre PC, le lien sera brisé, et l'icône qu'elle représente sera ignorée.
La commande "ln -s" créer un lien uniquement basé sur le nom d'une image (ou autre type de fichier) placée dans le même dossier sans préciser un chemin
@penkoad
Non, cela créer un lien comme "créer un lien" donc même problème.
Hors ligne
#573 Le 07/07/2009, à 12:10
- Autiwa
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
il suffit de créer un nautilus-action où la commande serait "ln -s %m" (où un truc de ce style, et tu choisis ce qui te plait dans les paramètres (que pour les dossiers, pour les deux, pour un certains type de MIME. je pense que c'est le plus simple et le plus rapide.
Pensez à éditer le titre du sujet (en éditant le premier message) pour rajouter un "[Résolu]" ça évite à ceux qui veulent donner un coup de main, d'ouvrir un sujet où il n'y a plus d'aide à donner.
Hors ligne
#574 Le 07/07/2009, à 22:36
- draco31.fr
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
La commande "ln -s" créer un lien uniquement basé sur le nom d'une image (ou autre type de fichier) placée dans le même dossier sans préciser un chemin
Si je ne me trompe pas, ce n'est pas le fait d'avoir l'option -s qui permet d'obtenir des liens relatifs.
L'option -s permet de créer un lien symbolique, c'est à dire qu'il n'y a qu'un fichier ayant l'inode pointant vers l'original, le second fichier pointe sur le premier mais a un inode différent.
La façon de pointer vers le fichier d'origine, avec un chemin relatif (ce qui t'intéresse) ou un chemin absolu ne dépend pas de l'option -s.
Les liens créés par Nautilus sont également des liens symboliques mais avec des chemins absolus.
Hors ligne
#575 Le 07/07/2009, à 23:06
- jobastr
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Je n'arrive a rien avec Nautilus action, j'ai été voir la doc, mais ça ne fonctionne pas ou je ne sais pas le configurer correctement.
@draco31.fr
Ton explication est sans doute très juste, mais je n'y comprends rien, je n'y connais absolument rien en commande et en script.
Cette commande m'a été donnée par quelqu'un qui avait constaté les liens brisés dans mon pack d'icônes, et il m'avait dit que ça corrigerait le problème (ce qui est vrai) je voulais juste savoir s'il était possible d'en simplifié l'utilisation via un script, genre clic droit sur une image et selection de la fonction dans le menu contextuel, une petite boite de dialogue s'ouvre avec le nom de l'image sélectionnée et on indique le nom du lien vers cette image.
Je ne sais pas si c'est réalisable, je n'ai aucune compétence dans ce domaine:(
Dernière modification par jobastr (Le 07/07/2009, à 23:08)
Hors ligne