LoginSignup
3
12

More than 3 years have passed since last update.

pixelaでPCの利用状況を可視化する

Last updated at Posted at 2020-02-17

はじめに

日々の様々な活動量を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でログオンをカウントする

ログオンをカウントするためには、Automatorsleepwatcherを利用します。
ログイン時は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を下記で作成します。

~/.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ファイルを下記で作成します。

PixelaIncr.bat
set PIXELA_USER_TOKEN=<SecretToken>
C:¥Users¥<UserName>¥bin¥pi pixel increment -u <UserName> -g win10
exit

上記bat実行時にウィンドウを表示したくないので下記のVBSファイルを作成します。

PixelaIncrHide.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でログインやスリープ、ロック解除などを行うと下記のようにログオン回数がカウントアップされ表示されるようになります。

Mac Usage Graph
Pixela-Mac-UsageGrpha.png

Win10 Usage Graph
Pixela-Win10-UsageGrpha.png

3
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
12