heemaylは正午と正午cron
に実行するための正しい答えを提供しました。再度、感謝します!ただし、他のユーザーがcronjob
デフォルトでサウンドファイルを再生できないことを発見したので、
cron
サウンドを再生するための構成
ためにはcron
には必要なサウンドファイルを再生するexport
環境変数:
export XDG_RUNTIME_DIR="/run/user/1000"
スクリプトでこれが完了すると、サウンドが再生されます。
別の回答で指摘されているように、ユーザーIDは常にそうであるとは限りません1000
。ユーザーIDを見つけるには、以下を使用します。
$ id
uid=1000(rick) gid=1000(rick) groups=1000(rick),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),113(lpadmin),128(sambashare)
ユーザーIDが1000でない場合は、スクリプトを自分のIDに変更します。
cron
正時と正時を実行するように構成する
crontab -e
セットアップ(最後の5行のみ):
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h dom mon dow command
00 * * * * /usr/local/bin/top-of-hour-chime >/dev/null
00,30 * * * * /usr/local/bin/bottom-of-hour-chime >/dev/null
ほとんどのユーザーcron
は、nano
エディターを使用するようにセットアップします。でこれらのコントロールキーを使用しnano
て、作業を保存します。
- 上記の最後の2行を追加し、使用Ctrl+は、O書き込みにO UT(保存)ファイルを。
/tmp...
ファイル名は、単にプレス、提示されていますが、心配することはありませんEnter。
- Ctrl+ Xを使用してエディターをXし
nano
ます。
bottom-of-hour-chime
それが短いと甘いなのでOKですあまりにも時間の上部しかし、でスクリプトが実行されます。
>/dev/null
行末にがないcron
場合は、コマンド出力でメールを送信しようとします。メールサーバーを設定していない場合、/var/log/syslog
ファイルにエラーメッセージが表示されます。
Oct 02 10:00:07 dell CRON[21259]: (CRON) info (No MTA installed, discarding output)
cron
ポップアップ通知を表示するための構成
スクリプトは、毎時の上部にポップアップ通知メッセージを表示します。このため、追加の変数をエクスポートする必要があります。
eval "export $(egrep -z DBUS_SESSION_BUS_ADDRESS /proc/$(pgrep -u $LOGNAME gnome-session)/environ)";
の内容 top-of-hour-chime
#! /bin/bash
# NAME: top-of-hour-chime
# PATH: /usr/local/bin
# DESC: Play sound called by cron
# CALL: Automatically called by /var/spool/cron/crontabs/<user_name>
# DATE: Created Oct 1, 2016. Modified June 10, 2018.
# UPDT: 2016-11-09 - Add notification bubble with time in text.
# 2018-06-10 - Switch from `ogg123` to `paplay` in default installation.
# exit # uncomment to suppress when watching movies
# paplay needs environment variable exported:
export XDG_RUNTIME_DIR="/run/user/1000"
# needed for notify-send
eval "export $(egrep -z DBUS_SESSION_BUS_ADDRESS /proc/$(pgrep -u $LOGNAME gnome-session)/environ)";
# get hour in 12 hour format
HOUR=$(date +%I)
ZHOUR=$(echo $HOUR | sed 's/^0*//')
pactl set-sink-volume 0 -25%
DISPLAY=:0 notify-send --urgency=critical --icon=/usr/share/icons/gnome/256x256/status/appointment-soon.png "It is ""$ZHOUR"" o'clock"
paplay '/usr/share/sounds/ubuntu/ringtones/Melody piano.ogg'
pactl set-sink-volume 0 +25%
export XDG_RUNTIME_DIR...
遊びにサウンドを得ることが必要です。これはcron
、最小限の環境で実行されるためです。サードパーティのサウンドプレーヤーを使用する場合は、最初にこの行を省略してください。その後、音が出ない場合はラインを元に戻します。それでも音が出ない場合は、まあ幸せ狩り!
私がネットで見ている2つの主要なテレビニュース番組は、通常よりも音量が小さいため、テレビを通常よりも上げています。その結果、ogg123
サウンドファイルを再生すると、非常に大きな音がします。したがって、pactl
チャイムの前に音量を下げ、後で音量を上げるために使用されます。
時の鐘の内容
これは、top-of-hour-chime
ここでの複製とほぼ同じで、おそらく冗長ですが、完全な文書化の目的で含まれています。
#! /bin/bash
# NAME: bottom-of-hour-chime
# PATH: /usr/local/bin
# DESC: Play sound called by cron
# CALL: Automatically called by /var/spool/cron/crontabs/<user_name>
# DATE: Oct 1, 2016. Modified June 10, 2018.
# UPDT: 2018-06-10 Switch from `ogg123` to `paplay` installed by default.
# exit # Uncomment to suppress when watching movies.
# paplay needs environment variable exported:
export XDG_RUNTIME_DIR="/run/user/1000"
pactl set-sink-volume 0 -25%
paplay /usr/share/sounds/ubuntu/ringtones/Bliss.ogg
pactl set-sink-volume 0 +25%