Utilisez-vous bashou zsh? Il existe en fait quelques moyens de faire en sorte que cela se produise automatiquement, mais ils sont très impliqués et dépendent du shell que vous utilisez.
Mikel
$ echo $ SHELL retourne "/ bin / bash"
Martin Thoma
Réponses:
40
Ajoute n'importe quelle commande qui joue un son. cela pourrait être aussi simple que
$ time mycommand; printf '\7'
ou aussi complexe que
$ time mycommand && paplay itworked.ogg || paplay bombed.ogg
(Les commandes supposent que pulseaudio est installé; remplacez votre lecteur audio, ce qui dépend de votre environnement de bureau.)
+1 paplayest probablement la meilleure commande à utiliser pour jouer un son sur un système Linux "moderne".
Mikel
4
printf '\ 7' ne fonctionne pas pour moi, mais cette commande a fonctionné comme je le voulaistime python MyScript.py -n 40 && paplay /usr/share/sounds/ubuntu/stereo/desktop-login.ogg || paplay /usr/share/sounds/ubuntu/stereo/phone-outgoing-busy.ogg
Martin Thoma
printf '\7'fonctionne pour moi (paplay pas; (git shell)) mais c'est juste un très petit bip . Y a-t-il plus de codes qui font d'autres sons? J'ai essayé \6, \8mais ce sont des personnages.
laggingreflex
2
@laggingreflex Non, \7(BEL) est généralement le seul caractère qui déclenche éventuellement un son (voir l'article de Wikipédia, Caractère de contrôle ); notez que cela ne donne pas toujours un son non plus.
musiphil
3
@laggingreflex Vous n'avez probablement plus besoin de ça, mais juste pour rire;)for i in {1..30}; do for j in {1..3}; do printf '\7'; sleep 0.12; done; sleep 0.4; done
cprn
16
spd-say
sleep 2; spd-say 'get back to work'
Boucle infinie avec -wsi vous avez besoin de motivation supplémentaire:
sleep 2;while true;do spd-say -w 'get back to work';done
Pour obtenir l’ spd-sayoutil associé speech-dispatcher, vous devrez peut-être installer un sous-package tel que speech-dispatcher-utils(Fedora 24).
dfarrell07
9
Il vous suffit de choisir un son sur votre disque dur et de définir une commande pour le lire juste après la commande que vous attendez. ils vont se passer séquentiellement:
$ time python MyScript.py; mplayer ~/ScriptDone.wav
(Vous pouvez utiliser n'importe quel joueur, naturellement). J'ai un script appelé alertdonequi joue une tonalité et affiche une alerte libnotify lorsqu'il est exécuté; Je l'utilise pour cette occasion:
$ time python MyScript.py; alertdone "Done timing"
Il est très simple, donc si vous voulez faire votre propre , vous pouvez baser sur ce ( le mien exige notify-more, mplayeret ~/tones/alert_1.wavbien):
notify-moreou notify-sendpourrait en effet être des alternatives utiles à la lecture d'un son.
Mikel
@ Mikel Je suis complètement accro à libnotify; tout sur mon système affiche des notifications
Michael Mrozek
8
time python MyScript.py; play /path/so/sound.ogg
playest un lecteur audio très basique (sans interface utilisateur) du paquetage sox Install sox http://bit.ly/software-small . Vous pouvez le remplacer par n’importe quel autre lecteur de son piloté par ligne de commande.
Oui, play, aplayou paplay. (Mon système Ubuntu a aplayet paplaypar défaut.)
Mikel
1
time python MyScript.py -n 40; paplay /usr/share/sounds/ubuntu/stereo/desktop-login.oggtravaillé, merci.
Martin Thoma
5
Personnellement, je l'utilise my-script && notify-send "done". Cela envoie une notification sur le bureau qui, sous Linux Mint (Cinnamon), ressemble à ceci:
Je vais vous montrer comment zsh, puis ajouter des informations sur bash.
L'essence ressemble à ceci:
preexec(){
starttime=$SECONDS
}
precmd(){if((SECONDS - starttime >=5));then
aplay "sound.wav"# or printf "\b", or notify-send, or whateverfi}
Vous pouvez également le faire que si le programme était Python, par exemple
preexec(){
starttime=$SECONDS
case $3 in python*)
command_is_python=true;;*)
command_is_python=false;;esac}
precmd(){if $command_is_python &&((SECONDS - starttime >=5));then
aplay "sound.wav"# or printf "\b", or notify-send, or whateverfi}
En général bash, le meilleur moyen est de télécharger preexec.bash.txt et de le source (par exemple, . ~/preexec.bash.txten haut de votre ~/.bashrc, alors ce qui précède (ou quelque chose de proche) devrait fonctionner. (Pas sûr du $3bit pour vérifier si la commande est Python .)
Si vous utilisez un terminal GNOME, je vous indiquerais également un terminal GNOME clignotant . C'est un correctif que j'ai écrit qui fait clignoter le terminal lorsqu'une commande est exécutée. Vous pouvez donc Alt-Tab passer à autre chose, puis vous permettre de savoir quand.
Vous n'avez pas besoin d'ajouter une commande à tout, vous pouvez réellement utiliser un script, cela le fait automatiquement pour vous. Cela s'appelle undistract-me et il est disponible sur Github.
Exemple
sudo apt install undistract-me #installs the script (on Debian)
echo 'source /etc/profile.d/undistract-me.sh'>>~/.bashrc #adds auto-enable to your console
echo 'export LONG_RUNNING_COMMAND_TIMEOUT=XXX'>>~/.bashrc #where XXX is number of seconds when the command is long enough to alert you
echo 'export UDM_PLAY_SOUND=1'>>~/.bashrc #to enable sound alert
maintenant commencez nouvelle bash et vous êtes prêt. Son et alerte peuvent être modifiés en modifiant le script.
bash
ouzsh
? Il existe en fait quelques moyens de faire en sorte que cela se produise automatiquement, mais ils sont très impliqués et dépendent du shell que vous utilisez.Réponses:
Ajoute n'importe quelle commande qui joue un son. cela pourrait être aussi simple que
ou aussi complexe que
(Les commandes supposent que pulseaudio est installé; remplacez votre lecteur audio, ce qui dépend de votre environnement de bureau.)
la source
paplay
est probablement la meilleure commande à utiliser pour jouer un son sur un système Linux "moderne".time python MyScript.py -n 40 && paplay /usr/share/sounds/ubuntu/stereo/desktop-login.ogg || paplay /usr/share/sounds/ubuntu/stereo/phone-outgoing-busy.ogg
printf '\7'
fonctionne pour moi (paplay pas; (git shell)) mais c'est juste un très petit bip . Y a-t-il plus de codes qui font d'autres sons? J'ai essayé\6
,\8
mais ce sont des personnages.\7
(BEL) est généralement le seul caractère qui déclenche éventuellement un son (voir l'article de Wikipédia, Caractère de contrôle ); notez que cela ne donne pas toujours un son non plus.for i in {1..30}; do for j in {1..3}; do printf '\7'; sleep 0.12; done; sleep 0.4; done
spd-say
Boucle infinie avec
-w
si vous avez besoin de motivation supplémentaire:Préinstallé sur 14.04 via le package
speech-dispatcher
: http://releases.ubuntu.com/trusty/ubuntu-14.04.4-desktop-amd64.manifest pour les personnes aveugles, je suppose?Ajoutez aussi une popup
Ce combo est un épargnant de vie (
b
représentebeep
):et alors:
Si je suis quelque part dans la pièce, je l'entendrai et je saurai que le travail est long.
Sinon, je vais voir le popup quand je reviens à mon ordinateur.
Connexes: https://stackoverflow.com/questions/7035/how-to-show-a-gui-message-box-from-a-bash-script-in-linux
la source
spd-say
outil associéspeech-dispatcher
, vous devrez peut-être installer un sous-package tel quespeech-dispatcher-utils
(Fedora 24).Il vous suffit de choisir un son sur votre disque dur et de définir une commande pour le lire juste après la commande que vous attendez. ils vont se passer séquentiellement:
(Vous pouvez utiliser n'importe quel joueur, naturellement). J'ai un script appelé
alertdone
qui joue une tonalité et affiche une alerte libnotify lorsqu'il est exécuté; Je l'utilise pour cette occasion:Il est très simple, donc si vous voulez faire votre propre , vous pouvez baser sur ce ( le mien exige
notify-more
,mplayer
et~/tones/alert_1.wav
bien):la source
notify-more
ounotify-send
pourrait en effet être des alternatives utiles à la lecture d'un son.play
est un lecteur audio très basique (sans interface utilisateur) du paquetage sox Install sox http://bit.ly/software-small . Vous pouvez le remplacer par n’importe quel autre lecteur de son piloté par ligne de commande.la source
play
,aplay
oupaplay
. (Mon système Ubuntu aaplay
etpaplay
par défaut.)time python MyScript.py -n 40; paplay /usr/share/sounds/ubuntu/stereo/desktop-login.ogg
travaillé, merci.Personnellement, je l'utilise
my-script && notify-send "done"
. Cela envoie une notification sur le bureau qui, sous Linux Mint (Cinnamon), ressemble à ceci:la source
Vous pouvez également y arriver automatiquement.
Je vais vous montrer comment
zsh
, puis ajouter des informations surbash
.L'essence ressemble à ceci:
Vous pouvez également le faire que si le programme était Python, par exemple
En général
bash
, le meilleur moyen est de télécharger preexec.bash.txt et de le source (par exemple,. ~/preexec.bash.txt
en haut de votre~/.bashrc
, alors ce qui précède (ou quelque chose de proche) devrait fonctionner. (Pas sûr du$3
bit pour vérifier si la commande est Python .)Si vous utilisez un terminal GNOME, je vous indiquerais également un terminal GNOME clignotant . C'est un correctif que j'ai écrit qui fait clignoter le terminal lorsqu'une commande est exécutée. Vous pouvez donc Alt-Tab passer à autre chose, puis vous permettre de savoir quand.
la source
Vous n'avez pas besoin d'ajouter une commande à tout, vous pouvez réellement utiliser un script, cela le fait automatiquement pour vous. Cela s'appelle undistract-me et il est disponible sur Github.
Exemple
maintenant commencez nouvelle bash et vous êtes prêt. Son et alerte peuvent être modifiés en modifiant le script.
la source
Tout joueur peut être utilisé. J'ajoute
cvlc
pour être complet.la source