はじめに
日々の様々な活動量をgithubのようなグラフで可視化してくれるAPIサービスpixelaを使って日々のPCの利用状況を可視化する方法を紹介します。
利用状況といっても1日のうちのログオン回数(休憩時などPCから離れたあと再度ログオンした回数も含む)をカウントしてグラフ化します。
今回は、MacとWindows10でのログオン回数をグラフします。
pixela CLIのインストール&ユーザー登録
本家の「CLI toolsで使う」を参考にしながらインストールとユーザー登録を行います。
Mac版はhomebrewでインストールします
% brew install a-know/tap/pi
Windows10版はダウンロードページからプログラムファイルをダウンロードします。
- ダウンロードしたzipファイルを解凍する
- 解凍した中にある
pi
コマンドをC:¥Users¥<UserName>¥bin
にコピーする -
C:¥Users¥<UserName>¥bin
をPATHに追加してpi
コマンドを実行できるようにする
下記コマンドでユーザー登録を行います。(Mac/Windows10共通)
<UserName>
と<SecretToken>
は適宜設定してください。
% pi users create --username <UserName> --token <SecretToken> --agree-terms-of-service yes --not-minor yes
pixelaグラフの新規作成
macの利用状況グラフを作成します。
% pi graphs create -u <UserName> -g mac -n "Mac usage graph" -i logon -t int -c shibafu -z "Asia/Tokyo"
Win10の利用状況グラフを作成します。
% pi graphs create -u <UserName> -g win10 -n "Win10 usage graph" -i logon -t int -c sora -z "Asia/Tokyo"
Macでログオンをカウントする
ログオンをカウントするためには、Automator
とsleepwatcher
を利用します。
ログイン時はAutomator
でカウントアップを行います。
スリープなどからの復帰はsleepwatcher
でカウントアップを行います。
Automator設定方法
- Automatorを起動する
- 「新規」-「アプリケーション」を選択する
- 「シェルスクリプトを実行」を右側にドラッグする
- 下記のシェルスクリプトを記載して「PixelaIncr.app」という名前で保存する
export PIXELA_USER_TOKEN=<SecretToken>
/usr/local/bin/pi pixel increment -u <UserName> -g mac
- 「システム環境設定」を起動し、 「ユーザーとグループ」を開く
- ユーザーの「ログイン項目」に上記の「PixelaIncr.app」を追加する
上記設定だけだとログイン時にしかカウントアップされない為、スリープからの復帰などはカウントされません。
スリープからの復帰をカウントする為には、sleepwatcher
を利用します。
sleepwatcher設定方法
sleepwatcherをインストールします
% brew install sleepwatcher
% brew services start sleepwatcher
sleepwatcherがスリープから復帰した時に実行される~/.wakeup
を下記で作成します。
#!/bin/zsh
export PIXELA_USER_TOKEN=<SecretToken>
/usr/local/bin/pi pixel increment -u <UserName> -g mac
~/.wakup
に実行権限を付与します。
% chmod +x ~/.wakeup
Win10でログオンをカウントする
ログオンをカウントするためにはタスクスケジューラ
を利用します。
まずは、タスクスケジューラで利用するbatファイルとvbsスクリプトを作成します。
カウントアップする為のbatファイルを下記で作成します。
set PIXELA_USER_TOKEN=<SecretToken>
C:¥Users¥<UserName>¥bin¥pi pixel increment -u <UserName> -g win10
exit
上記bat実行時にウィンドウを表示したくないので下記のVBSファイルを作成します。
Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c C:¥Users¥<UserName>¥bin¥PixelaIncr.bat", vbhide
タスクスケジューラ設定方法
- 「Windowsキー」+「R」で表示された検索窓に「taskschd.msc」と入力してタスクスケジューラを起動する
- 「操作」->「基本タスクの作成」を選択する
- 「名前」に「pixela-incr」を入力し、「次へ」を押下する
- トリガーで「ログオン時」を選択する
- 操作で「プログラムの開始」を選択する
- 「プログラム/スクリプト」で「参照」で上記のvbsファイル「PixelaIncrHide.vbs」を指定する
これで「ログオン時」はカウントアップされますが、「ロック解除時」はカウントアップされないので上記タスクに「ロック解除時」の条件も追加します。
- 作成したタスク「pixela-incr」のプロパティを開く
- 「トリガー」タブを開く
- 「新規」ボタンを押下
- 「タスクの開始」で「ワークステーション アンロック時」を選択する
- 「設定」で「特定のユーザー」を選択し、ユーザーを指定する
実行結果
mac及びWin10でログインやスリープ、ロック解除などを行うと下記のようにログオン回数がカウントアップされ表示されるようになります。