Upgrade to Pro — share decks privately, control downloads, hide ads and more …

shellのアラートあれこれ

 shellのアラートあれこれ

E567a535ddc7964130dd086f147a7682?s=128

Kenichiro MATOHARA

December 09, 2017
Tweet

Transcript

  1. None
  2. matoken? KenichiroMATOHARA( @matoken ) http://matoken.org 興味 PC-UNIX/OSS, OpenStreetMap, 電⼦⼯作, ⾃転⾞……

    altanativeが好き,多様性は正義!
  3. ⼤隅から来ました

  4. 最近 ⾃宅⽤にAPを購⼊ BAFFALO WZR-HP-AG H ハードオフ⿅屋店にて本体のみのジャンク218円 よくあるセンターポジティブの12V A . mmで動いた

    . GHz bgn Mb → . + GHz abgn Mbに! KRACKsとかの対応は多分出ないくらいの古さ OpenWrtとかLEDEとかいけるぽい
  5. shellで時間の掛かる処 理が終わったら教えて欲 しい shell bell 同じホストの別端末に通知 eject! desktop通知 他の端末に通知 いろんなもので通知

  6. bell 昔から使われていて多分⼀番オーソドックスな⽅法 処理の後ろに付けて終わったらbellが鳴る readlineの機能 ※^GはC-v C-gで⼊⼒ $ 時間の掛かる処理 ; echo

    -en "\007" $ 時間の掛かる処理 ; echo -en ^G $ 時間の掛かる処理 ; echo -en "\a"
  7. 鳴らない時(inpurcの bell-style) set bell-style none になっているかも /etc/inputrc, ~/.inputrc で設定 set

    bell-style audible(音を鳴らす) set bell-style visible(画面を点滅させる)
  8. 鳴らない時(端末設定) 端末で無効になっているかも

  9. 鳴らない時(スピーカー が無効) /etc/modprobe.d/blacklist.conf に⼊っていることが lsmod |grep pcspkr で確認 無かったら sudo

    modprobe pcspkr とかして確認 当たりならblacklistから消したりする
  10. 同じホストの別端末に通 知 鳴らしたい端末デバイスに投げる 端末デバイス名は該当端末で tty コマンドで確認できる $ tty /dev/pts/7 $

    echo -en ^G > /dev/pts/7 $ echo -en Done.^G^H^H^H^H^H > /dev/pts/7
  11. 適当な効果⾳を鳴らす 適当なプレイヤーで好きな⾳を鳴らす aplay hoge.wav 何なら動画とかでも

  12. CDドライブを開閉する ウィーン! $ while true ; do eject -T;sleep 1;

    done $ while true ; do eject -T;sleep 1; done Ejectコマンドユーザー会
  13. デスクトップ通知 notify-sendとかgol(Glowl for Linux)とかを使う $ notify-send -t 0 Done.

  14. 他の端末に通知(スマホ とか別マシンとか) IFTTTのWebhook利⽤ IFTTTでWebhook発の適当なレシピを作って以下のようなscriptを⽤意して呼ぶ #!/bin/sh if [ $1 ]; then

    msg=$1 else msg="Done." fi curl -X POST -H "Content-Type: application/json" -d "{\"value1\":\"$msg\"}" https://maker.ifttt.com/trigger/shell_alart/with/key/{{token}} > /dev/null 2>&1
  15. pushbulletに投げた時

  16. IFTTT いろんなサービスと連携できるので⾊んな所に通知を遅れる SMS / eMail / スマートスピーカー…… Philips Hueで部屋の電気の⾊変えたり(エラー時は⾚にしたり?),テレビ消したり…… (IFTTTが乗っ取られたら他のサービスもやられるので注意)

    https://ifttt.com/search/services
  17. 余録

  18. 処理を⾛らせてからやっぱり終了時に教えて欲し いなと⾔う時(きっともっといい⽅法ある) 中断したり別端末からPID確認してループを回す $ sleep 100 ^Z [1]+ 停止 sleep

    100 bg [1]+ sleep 100 & $ ps PID TTY TIME CMD 13118 pts/7 00:00:00 bash 16758 pts/7 00:00:00 sleep 16761 pts/7 00:00:00 ps $ while ps 16758 ; do sleep 5; done; echo "done^G" PID TTY STAT TIME COMMAND 16758 pts/7 S 0:00 sleep 100 PID TTY STAT TIME COMMAND 16758 pts/7 S 0:00 sleep 100 [1]+ 終了 sleep 100 PID TTY STAT TIME COMMAND done
  19. 終了コードで処理を変える 正常時にはbell 回エラー時には2回 $ 処理 && echo ^G || (echo

    ^G;sleep 1;echo ^G)
  20. その他 tput bel TTS(OpenJTalk / rospeex / gsay は死んだぽい)

  21. 発表後 TTSはMiniDebConfJapan で発表のあった徵⾳梅林も使えるのでは?

  22. license等 Copyright: Kenichiro MATOHARA <matoken+kagolug@gmail.com> License : https://creativecommons.org/licenses/by-nc-sa/ . /(CC

    BY-NC-SA 4.0) source : https://bitbucket.org/matoken/kagolug- . /src - - (Sat) ⿅児島Linux勉強会 2017.12にて発表