率直に言って、私にとって「朝起きる」という仕事は非常に難しい。 1週間前、アイデアが思いつきました。簡単な目覚まし時計を書いて、数学的な例を解くまで音楽をどんどん大きく再生することです。

Googleにはいくつかの
記事や
トピックがありますが、すべてが必要なものではありません。
すぐにコンピューター(私の場合はラップトップ)が夜間にスリープモードになるように予約するので、夜間は少し充電する必要があります(夜間はバッテリーの約30%が必要です)。
デスクトップコンピューターを使用している場合、停電があり、
UPSがない場合は、危険にさらさない方が良いでしょう。
次に、コンピューターがいくつかのスリープモードをサポートしていることを確認する必要があります。 あなたは
ここでそれについて読むことができ
ます 。
何が必要ですか?
-ユーティリティ
rtcwake-スリープ状態に陥るコンピューター(カーネルに組み込まれています)。
-ユーティリティ
ミキサー -徐々に音量を上げます。
-ループで音楽を再生できるプレーヤー(私の場合は
mplayer )。
始めましょう
必要な変数を設定します。
ここではすべてが明確です。
「タスク変更時間」-新しいタスクを生成する前のダウンタイム。
「音楽フォルダ」-音楽のリストを取得するフォルダ。 アラームフォルダーを作成し、必要な音楽へのハードリンクを作成しました。
「ステータスの一時ファイル」-ボリュームの増加を完了するために必要です。 空でないファイルがある場合は、バックグラウンドプロセスを完了します(ところで、「jobs -l」でプロセスを簡単に見つけることができます)。
ここで、mplayerプロセスを終了したり、ランダムな音楽を再生したりする関数を作成する必要があります。
また、プロセス完了シグナルを傍受する必要があります。
trap "echo -e '\n, !' && sleep 1 && alarm_start" SIGINT SIGTERM SIGHUP SIGQUIT SIGTSTP SIGSTOP
起床時刻を示すために、オプションのパラメーター$ 1を使用します。 すぐにすべての日付の有効性チェックを行ってください。
if [[ $# > 0 ]] ; then if [[ "$1" == [0-9]:[0-9][0-9] ]] || [[ "$1" == [0-9][0-9]:[0-9][0-9] ]] ; then tm=$1 else echo ' . : "07:00".' >&2 exit 10 fi fi date1=$(date -d "`date +%m/%d/%y` $tm" +%s) date2=$(date -d "`date +%m/%d/%y` $tm tomorrow" +%s)
変数date1およびdate2は、ユーザーが過去の日付を指定した場合に必要です。その後、起床時刻は明日に設定されます。 「07:99」などの時刻が示されている場合、エラー変数にerr変数が入力されます。
これで、コンピューターをスリープ状態にすることができます。
rtcwakeにはスーパーユーザー特権が必要です。 sudoを使用できます。 あなたがするすべて-あなたはあなた自身の危険とリスクで行います。
rtcwakeについては、私が言ったように、
ここで読むことができ
ます 。
ボリュームを増やすことと、ソリューションの例にとどまります。
「amixer sset Master 1%+&> / dev / null」という行で、ボリュームを1%増やす必要があり、画面に何も表示する必要がないことを示しています。
ボリュームの増加がバックグラウンドになるように、完了ステートメントの後にアンパサンド記号&が必要です。
そして例を生成します:
clear echo ' :' while true ; do
以上です。 目覚まし時計は一週間前に書かれました。 電話アラームはオフになっています。 今週、例題を解きながら目覚めることができました(タスクは非常に単純(1020-120)または複雑(394 * 5)です。ある朝、13回連続で乗算する例に出会いました)。
〜/ .bashrcファイルにエイリアスを作成できます:“ alias alarm = '〜/ path_to_script / alarm.sh'”
コンソールプログラムを閉じてアラームがオフになるのを防ぐために、現在のセッションを終了し、別のコンソール(Alt + Ctrl + F1または別のF [1-7])に切り替えます。
必要に応じて、強制終了信号を送信してアラームをオフにすることもできますが、そのためには別のコンソールに移動してログインし、このプロセスを見つけて強制終了する必要があります。 例を解決するためにおそらくより速く:)
便宜上、コードを
pastebinにコピーして、
ダウンロードできるようにします。
この目覚まし時計で勉強や仕事のために寝すぎないことを願っています:)