min117の日記

初期desireもち。趣味Mac,メインFedora,仕事xp。

iMac ブルーレイのドライブ情報を drutil status コマンドで確認する

 

撮りためたテレビ映像.tsをiMacでブルーレイに焼く。ディスクの詳細確認やeject(取り出し)をコマンドでできないものかと思って調べた。

book.mynavi.jp

drutil という便利なコマンドがあるらしい。引数なしで実行すると使い方のヘルプが表示される。

f:id:min117:20170918105306p:plain

引数 status をつけて、焼き終わったブルーレイの詳細を見てみる。

$ drutil status

f:id:min117:20170918105503p:plain

25GBのブルーレイメディアのうち、実際は 23.67GB 使用可能で、そのうち 22.05GB で焼き終えたことがわかる。

ーーー

drutil help 使い方を知りたいコマンド と打てばさらに細かいヘルプが見られるようだ。

$ drutil help burn

f:id:min117:20170918105959p:plain

ファイルの選択からブルーレイ焼き込みまで、コマンド一発で済ませたい。いろいろ調べる。

 

格安SIM 月間使用料500MBまで無料で利用できる 0-SIM(ゼロシム)管理画面のログインパスワード確認方法

 

7月に契約した 0SIM(ゼロシム)の月間使用料を確認したい。管理画面に入ろうとしたら、パスワードを忘れてしまった。再発行までの手続きメモ。

認証画面 の右下の「パスワードを忘れた方」リンクから再発行手続きを行う。

f:id:min117:20170917123709p:plain

f:id:min117:20170917123822p:plain

ここで迷った。ログインIDは SIMの電話番号 だということがどこにも書いてないのでかなり困った。

※ よく見ると、最初の(上の)画面の「ログインID」の例が電話番号なので、それとわかる。

ーーー

電話番号を調べるには契約時の書類があればいいが、捨ててしまった。こういうときは、SIMを挿している iPhone の画面から SIM の電話番号を確認する。

iPhone → 設定 → 電話 → 自分の番号 と辿れば確認できる。

f:id:min117:20170917124718p:plain f:id:min117:20170917124835p:plain

ログインID を入力して「再発行申し込み」 ボタンを押す。

f:id:min117:20170917123822p:plain

無事パスワードを確認できた。

f:id:min117:20170917124948p:plain

初回利用月だけ契約事務手数料を取られてしまったが、利用料はゼロ円。

f:id:min117:20170917125703p:plain

別の回線(テザリングした銀SIMアンドロイド Desire)が外出のメインなので、このゼロシムはあくまでサブ。月に500MBを超えることもそうあるまい。

※ 0-SIM についてはこのへんも。

min117.hatenablog.com

min117.hatenablog.com

min117.hatenablog.com

min117.hatenablog.com

bash ファイル一覧(ls -l)の表示サイズをGB単位で表示する(awk)

 

ファイル名に「NHK」を含むtsファイルの合計サイズをGB単位で表示させたい。

コマンドの変遷

$ ls -l | grep NHK

$ ls -l | grep NHK | awk '{print $5,$9}'

$ ls -l | grep NHK | awk '{a+=$5; print $5,$9}'

$ ls -l | grep NHK | awk '{a+=$5; print $5,$9} END{print a}'

$ ls -l | grep NHK | awk '{a+=$5; print $5,$9} END{print a"¥n"}'

$ ls -l | grep NHK | awk '{a+=$5; print $5,$9} END{print "=====¥n" a"¥n"}'

$ ls -l | grep NHK | awk '{a+=$5; print $5,$9} END{print "=====¥n" a/1024/1024/1024"¥n"}'

$ ls -l | grep NHK | awk '{a+=$5; print $5,$9} END{print "=====¥n" a/1024/1024/1024" GB¥n"}'

ーーー

実際に流してみる。

NHK」を含むファイルだけリスト表示する。

$ ls -l | grep NHK

f:id:min117:20170916120310p:plain

リストのうち、5列目9列目を表示する。

$ ls -l | grep NHK | awk '{print $5,$9}'

f:id:min117:20170916120353p:plain

リストの5列目(ファイルサイズ)を 変数a に足し込んでいく。

$ ls -l | grep NHK | awk '{a+=$5; print $5,$9}'

(画面には変化なし)

f:id:min117:20170916120353p:plain

足し込んだ 変数a を表示してみる(最終行が変数aの値つまりファイルサイズの合計値)。

$ ls -l | grep NHK | awk '{a+=$5; print $5,$9} END{print a}'

f:id:min117:20170916120933p:plain

最終行の後ろに改行 ¥n を入れる(¥は半角バックスラッシュに読み替え)。

ls -l | grep NHK | awk '{a+=$5; print $5,$9} END{print a"¥n"}'

f:id:min117:20170916121149p:plain

最終行の前に、区切り文字 ===== を表示する。

ls -l | grep NHK | awk '{a+=$5; print $5,$9} END{print "=====¥n" a"¥n"}'

f:id:min117:20170916121330p:plain

サイズが分かりにくいので、1024で3回割って GB単位で表示する。

$ ls -l | grep NHK | awk '{a+=$5; print $5,$9} END{print "=====¥n" a/1024/1024/1024"¥n"}'

f:id:min117:20170916121652p:plain

最終行の末尾に「GB」という文字列を表示する。

$ ls -l | grep NHK | awk '{a+=$5; print $5,$9} END{print "=====¥n" a/1024/1024/1024" GB¥n"}'

f:id:min117:20170916121803p:plain

これでコマンドはできた。毎回打つのは面倒なので、自作コマンド ma(My Awk)としてエイリアス登録し、一瞬で呼び出せるようにする。

$ vim ~/.bashrc

alias ma='ls -l | grep mp4 | awk '\''{a+=$5;print $5,$9} END{print "-----\n" a; print "=====\n" a/1024/1024/1024,"GB"}'\'''

f:id:min117:20170917072714p:plain

ポイントは、コマンド内のシングルクオート'\'' で記述すること。

※ こうしないと、エイリアスの記法(alias コマンド名='コマンド文字')にあるシングルクオートと混在してしまってうまく動かない。

追記

numfmt という便利なコマンドがあるらしい。

orebibou.com

numfmt をしないとき

ls -l | grep NHK | awk '{a+=$5; print $5,$9} END{print a}'

f:id:min117:20170918084007p:plain

numfmt をしたとき

$ ls -l | grep NHK | awk '{a+=$5; print $5,$9} END{print a}' | numfmt --to=iec

f:id:min117:20170918084024p:plain

こりゃ便利だ。

iPhone 5s(中古SoftBank版)のSIMロックを「SmartKing X」で解除して、月額ゼロ円の格安SIM(0SIM)で使う

ゲオで買った 中古のiPhone 5s に、月額ゼロ円の格安SIM(0SIM、ゼロシム)を挿して使えたので、経緯と手順を残しておく。

 

秋葉原に寄ったら、SIMロック解除で有名な SIM下駄 SmartKing の最新版SmartKing Xが売っていた。

特徴

・2,480円

圏外病が無い

iOS 10.3.3 使える(2017/9/14 時点で確認)

・4G、LTEも使える(らしい)

テザリングも使える(らしい)

www.iphone-kakuyasu-sim.jp

f:id:min117:20170914023313j:plain

以前の記事ではだいぶ苦しんだ圏外病が無いとなれば試す価値ある。即購入。

ちなみにAmazonでも購入できる秋葉原よりは200円だけ高いが、家まで届くと思えば即買いだ(これ系のってすぐ無くなるから。確保にも1つ買っておいた)。

手持ちの SoftBank中古 iPhone 5sSIMロックを解除して、月額ゼロ円の 0SIM を挿して使ってみる。

f:id:min117:20170914040106p:plain

mobile.nuro.jp

※ 通信の確実性を重視したいとき(田舎で電波悪いとか)は、IIJのほうが無難かもしれない。

必要なもの

WiFi環境

自分のAppleIDアクティベート済のiPhone

・自己責任

f:id:min117:20170914025656j:plain

手順はこのサイト参考。

nekogohan.com

ーーー

まずは 0SIM(ゼロシム)のサイトから、構成プロファイルをインストールする。iPhoneWiFiに繋いで「0SIM プロファイル」でググる

APN構成プロファイル - So-net

f:id:min117:20170914025845p:plain f:id:min117:20170914030250p:plain

f:id:min117:20170914030304p:plain f:id:min117:20170914030310p:plain

次に SmartKingX(SIM下駄) を取り出すフィルム部分を剥がす必要があるようだ。

f:id:min117:20170914031011j:plain

黒い方がSmartKingX(SIM下駄)。白い方は0SIMで契約したSIMカード

f:id:min117:20170914030840p:plain

SIM下駄を、iPhone 5s のSIMトレイに載せる。

f:id:min117:20170914031207p:plain

デッバリ部分をSIMトレイの枠の下に入れるのがポイント。

f:id:min117:20170914031315p:plain

0SIMの SIMカードを乗せる(切り掛けを合わせる)。

f:id:min117:20170914031540p:plain

iPhone 5s に挿し込む。

f:id:min117:20170914040430p:plain

挿してしばらくするとアクティベーションが必要です」と出て、アンテナ表示は「●○○○○」と「圏外」を繰り返しているので「了解」を押す

f:id:min117:20170914032829p:plain f:id:min117:20170914032906p:plain

自分のAppleIDとパスワードを入力する。

f:id:min117:20170914034035p:plain f:id:min117:20170914034130p:plain

アンテナ表示は「検索中」になる。ここで焦らずしばらく待つ

f:id:min117:20170914033231p:plain f:id:min117:20170914033240p:plain

しばらく待つと…アンテナ表示が「●●●●●」になった。

f:id:min117:20170914033519p:plain f:id:min117:20170914033540p:plain

 たったこれだけ。アンテナ部分に「docomoと出て、0SIMでの通信ができるようになった。

f:id:min117:20170914034843p:plain

キャリアにも「NTT DOCOMO」と出ている。

f:id:min117:20170914034950p:plain

WiFiをオフにすると「docomo 3G」となった。LTEはオフのままだから当然か。

f:id:min117:20170914071944p:plain

この状態(0SIMだけの通信)にしてスピードテストしてみた。3G通信状態でも 4.19Mbps も出ている。十分実用的な速度だ。

f:id:min117:20170914035112p:plain

今後試してみたいこと

LTE通信ができるか(以前これを試したら圏外病になったので怖くてできない)

テザリングができるか(同上)

なお、昨日(2017/9/13)に iPhone XiOS 11 が発表された。このSIM下駄(SmartKing X)が iOS 11 になっても使えるかは分からない。数日後には iOS 11 が配信されるはずなので、アップデートしてから試してみる。

 

追加

LTEでも使えた。設定→モバイルデータ通信→「4Gをオンにする」で速度計測。速くてかなり快適。

 

f:id:min117:20170914170948p:plain f:id:min117:20170914171536p:plain

 f:id:min117:20170914171002p:plain

2017/9/20 追記

本日公開の iOS11 でも使えた。

min117.hatenablog.com

bash awk で URLデコード(POSIX準拠)

URLエンコードされた文字列(空白が %20 になってるのとか)を、元の文字列に戻す(デコード)するのを手軽にやりたいと、常々思っていた。

この本を買ったら「URLデコードする」記事があったのでそのまま試す。

WEBにも同じ記事あり。コピペでは理解にならないので写経して動かしてみる。

qiita.com

コードは丸写し。よく分からない関数だけはコメントを入れる。ファイルは bash で書くので 拡張子は .sh になる。

$ vim ALL20UNIX_URL_DECODE.sh

f:id:min117:20170909111059p:plain

URLデコードしたい文字列はこれ。 スラッシュは %2F に、半角カッコは %28 と %29 になっている。

http://myserver.com/doMOVs.php?MOVIEDIR=PT3&LOCALDIR=%2Fvolumes%2FPT3&OMX_NOW=MYOMX&SELECTED=Mr.Children「抱きしめたい」Mr.Children%28an+imitation%29+blood+orange]Tour-777Gx1hiEWo.mkv

デコードしてみる。

パイプの先で今回のスクリプトを実行する。

$ echo 'デコードしたい文字列' | ./ALL20UNIX_URL_DECODE.sh

f:id:min117:20170909112731p:plain

変換された。

f:id:min117:20170909113332p:plain

 

 

RaspberryPi omxplayerで再生中のファイル名をWeb画面から取得する(PHP使用→shell_exec()の日本語文字化け対処)

 

RaspberryPi の omxplayer が再生中の動画名を iPhoneiPad で確認したい。

PHP shell_exec を用いて 叩いたシェルコマンド ps aux結果を 変数 $myOMX に入れて表示するようにしたが、なぜか日本語が文字化けしてしまう。

f:id:min117:20170909005050p:plain

f:id:min117:20170909005901p:plain

参考になりそうな情報があったのでソースに組み込んだ。

PHP の shell_exec で日本語文字化けする場合の対処

f:id:min117:20170909005947p:plain

しかし…解消しない。しばらく調べる。

RaspberryPi での動画再生をiPadから行う(ループ再生)

 

RaspberryPi の動画再生(omxplayerでの再生)を、iPadからできるようにしたくてPHPで実装中。

開発中のiPadイメージはこんなの。フォルダ読込み → 再生したいファイルを選ぶ → 実行 すると、RaspberryPiからテレビに動画再生してくれる。

f:id:min117:20170903102948p:plain

繰り返し処理の実装がうまくいかない。ノンブロッキングにできなくて困っている。再生が終わるまでiPadが読み込み中になってしまう。いろいろ調べると、実行コマンドをバックグラウンド実行すればよさそうだ。

f:id:min117:20170903103312p:plain

問題は 254〜255行目。

PHPからbashコマンドをexec()しているが、bashのforループ(omxplayerの繰り返し実行)の末尾に&をつけてバックグランド実行するとなぜか再生されない(254行目)。

これが、&を外すと再生できる(255行目)。

f:id:min117:20170903103353p:plain

なぜだ。ログ調べたいが場所がわからない(apacheログか?)。

もう少し調べる。

参考になりそうな情報

f:id:min117:20170909004616p:plain