我时不时地执行一些需要很长时间才能执行的Python脚本。
我这样执行它们:
$ time python MyScript.py
如何在脚本执行完成后立即播放声音?
我使用 Ubuntu 10.10(Gnome 桌面)。
答案1
附加任何播放声音的命令;这可能很简单
$ time mycommand; printf '\7'
或复杂如
$ time mycommand && paplay itworked.ogg || paplay bombed.ogg
(命令假定已安装pulseaudio;替换您的声音播放器,这取决于您的桌面环境。)
答案2
spd-say
sleep 2; spd-say 'get back to work'
-w
如果您需要额外的动力,则无限循环:
sleep 2; while true; do spd-say -w 'get back to work'; done
或者如果你更喜欢胡萝卜:
sleep 2; while true; do spd-say -t female1 -w "I'm done, come back to me, darling"; done
通过软件包预安装在 14.04 上speech-dispatcher
:http://releases.ubuntu.com/trusty/ubuntu-14.04.4-desktop-amd64.manifest我想对于盲人来说?
还添加一个弹出窗口
这个组合是一个救星(b
代表beep
):
b() ( spd-say 'done'; zenity --info --text "$(date);$(pwd)" & )
进而:
super-slow-command;b
如果我在房间的某个地方,我会听到声音并知道漫长的工作已经完成。
否则,当我返回计算机时,我会看到弹出窗口。
有关的:https://stackoverflow.com/questions/7035/how-to-show-a-gui-message-box-from-a-bash-script-in-linux
答案3
只需在硬盘上选择一个声音,然后在您正在等待的命令之后输入一个命令即可播放该声音;它们将按顺序发生:
$ time python MyScript.py; mplayer ~/ScriptDone.wav
(当然,您可以使用任何播放器)。我有一个名为 的脚本alertdone
,在运行时会发出提示音并显示 libnotify 警报;我正是在这个场合使用它:
$ time python MyScript.py; alertdone "Done timing"
它非常简单,所以如果你想自己制作,你可以以此为基础(我的需要notify-more
、mplayer
和~/tones/alert_1.wav
):
#!/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