Her şimdi ve sonra yürütmek için oldukça uzun süren bazı python komut dosyaları yürütüyorum.
Onları böyle yürütüyorum:
$ time python MyScript.py
Komut dosyası yürütüldüğü anda bir sesi nasıl çalabilirim?
Ubuntu 10.10 (Gnome masaüstü) kullanıyorum.
Her şimdi ve sonra yürütmek için oldukça uzun süren bazı python komut dosyaları yürütüyorum.
Onları böyle yürütüyorum:
$ time python MyScript.py
Komut dosyası yürütüldüğü anda bir sesi nasıl çalabilirim?
Ubuntu 10.10 (Gnome masaüstü) kullanıyorum.
Yanıtlar:
Ses çalan herhangi bir komutu ekleyin; bu kadar basit olabilir
$ time mycommand; printf '\7'
veya olduğu kadar karmaşık
$ time mycommand && paplay itworked.ogg || paplay bombed.ogg
(Komutlar pulseaudio'nun kurulu olduğunu varsayar; masaüstü ortamınıza bağlı olarak ses çalarınızı değiştirin.)
paplaymuhtemelen "modern" bir Linux sisteminde ses çalmak için kullanılacak en iyi komuttur.
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'benim için çalışıyor (paplay değil; (git shell)) ama sadece çok küçük bir bip . Başka sesler çıkaran daha fazla kod var mı? Denedim \6, \8ancak bazı karakterlerdir.
\7(BEL) genellikle bir sesi tetikleyebilecek tek karakterdir (Wikipedia makalesi Kontrol karakterine bakın ); Ayrıca her zaman bir ses çıkarmayabileceğini unutmayın.
for i in {1..30}; do for j in {1..3}; do printf '\7'; sleep 0.12; done; sleep 0.4; done
spd-say
sleep 2; spd-say 'get back to work'
-wEk motivasyona ihtiyacınız varsa sonsuz döngü :
sleep 2; while true; do spd-say -w 'get back to work'; done
Paket üzerinden 14.04 tarihinde önceden yüklenmiş speech-dispatcher: http://releases.ubuntu.com/trusty/ubuntu-14.04.4-desktop-amd64.manifest , sanırım kör insanlar için?
Ayrıca bir açılır pencere ekle
Bu açılan bir hayat kurtarıcı ( bkısaltmasıdır beep):
b() ( spd-say 'done'; zenity --info --text "$(date);$(pwd)" & )
ve sonra:
super-slow-command;b
Odada bir yerdeysem, duyacağım ve uzun işin bittiğini bileceğim.
Yoksa bilgisayarıma döndüğümde pop-up’ı göreceğim.
İlgili: https://stackoverflow.com/questions/7035/how-to-show-a-gui-message-box-from-a-bash-script-in-linux
spd-sayilişkili aracı speech-dispatcher, şöyle bir alt paketin yüklemeniz gerekebilir speech-dispatcher-utils(Fedora 24).
Sadece sabit sürücünüzden bir ses seçin ve beklediğiniz komuttan hemen sonra çalması için bir komut koyun; sırayla olurlar:
$ time python MyScript.py; mplayer ~/ScriptDone.wav
(Doğal olarak herhangi bir oyuncuyu kullanabilirsiniz). alertdoneBir ton çalar ve çalıştırıldığında libnotify uyarısı gösteren bir komut dosyası var ; Tam olarak bu vesileyle kullanıyorum:
$ time python MyScript.py; alertdone "Done timing"
Bu size (benim gerektiren bu onu dayandırabilirsiniz kendi yapmak istiyorum eğer öyleyse, gerçekten basit notify-more, mplayerve ~/tones/alert_1.wavolsa da):
#!/bin/bash
message=${1:-"Finished working"}
notify-more -t 10000 -i /usr/share/icons/gnome/32x32/actions/insert-object.png "Process Finished" "$message"
mplayer ~/tones/alert_1.wav
notify-moreya notify-sendda gerçekten bir ses çalmak için alternatifler olabilir.
time python MyScript.py; play /path/so/sound.ogg
playBir çok temel (hayır UI) ses oynatıcı Sox Sox http://bit.ly/software-small yükleyin paketine. Başka bir komut satırı güdümlü ses çalar ile değiştirebilirsiniz.
play, aplay, veya paplay. (Ubuntu sistemimde var aplayve paplayvarsayılan olarak.)
time python MyScript.py -n 40; paplay /usr/share/sounds/ubuntu/stereo/desktop-login.oggçalıştı, teşekkürler.
Bunu otomatik olarak da yapabilirsiniz.
Size nasıl girileceğini göstereceğim zsh, sonra hakkında bilgi ekleyeceğim bash.
Özü şuna benziyor:
preexec()
{
starttime=$SECONDS
}
precmd()
{
if ((SECONDS - starttime >= 5)); then
aplay "sound.wav"
# or printf "\b", or notify-send, or whatever
fi
}
Ayrıca, yalnızca program Python ise, örneğin yapabilirsiniz.
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 whatever
fi
}
Olarak bash, en iyi yolu indir etmektir preexec.bash.txt ve kaynak de (örneğin . ~/preexec.bash.txt, aramalarınızdan üstündeki ~/.bashrc, sonra yukarıda (veya kendisine bir şey yakın) çalışmalıdır. (Emin değilim yaklaşık $3komut Python ise biraz kontrol etmek .)
GNOME Terminalini kullanıyorsanız, sizi Yanıp Sönen GNOME Terminaline de işaret ederim . Bir komut yapıldığında terminalin yanıp sönmesini sağlayan bir yama, bu yüzden başka bir şeye Alt-Tab yazabilirsin, sonra ne zaman yapıldığını bilmeni sağlar.
Her şeye bir komut eklemeniz gerekmez, aslında bunu sizin için otomatik olarak yapan bir script kullanabilirsiniz. Buna meçhul denir ve Github'da bulunur.
örnek
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
şimdi yeni bash'a başla ve hazırsın. Ses ve alarm, betiği değiştirerek değiştirilebilir.
bashveyazsh? Bunun otomatik olarak gerçekleşmesini sağlamanın bazı yolları var, ancak bunlar oldukça ilgili ve hangi kabuğu kullandığınıza bağlı.