Re:Readme

PCトラブルや環境構築、家電量販店とかで買ったもののメモ。ご利用は自己責任で。

Google Drive API v3によるデジタルフォトフレーム作成(1)

Raspberry Pi 3を使ってデジタルフォトフレームを制作中。

概要

クラウドストレージの画像データとローカルの画像データの間で同期を取り、ローカルの画像を逐次表示するというもの。先駆者様(http://www.asahi-net.or.jp/~rn8t-nkmr/family/pic/pf/index.html)がいらっしゃるので基本はこれを参考にさせていただいた。しかし、Dropboxが無料プランで2GBしか使えないのが気になったので、今回は無料で15GB使えるGoogle Driveを利用してみた。

Google APIsの設定

事前準備としてGoogleアカウントを作成しておく(本項では割愛)。ここも下記のページを参考に設定。
yura2.hateblo.jp

まず、下記のページにアクセスしてプロジェクトを作成する。
console.developers.google.com
プロジェクト名はツールとサービス(左上の「≡」) > IAMと管理 > 設定から後で変更可能。

その後、左のメニューの「認証情報」を開き、「認証情報を作成」ボタンをクリック。この時、「OAuth クライアント ID」を選択する。
必要な認証情報の種類を調べる
入力欄は、下記のように設定する。

  • アプリケーションの種類: その他
  • 名前: <任意の文字列>

入力が完了すると、キーがダウンロードされるので、client_secret.jsonというファイル名で保存する。

最後にOAuth 同意画面の設定を行う。認証情報からOAuth 同意画面タブをクリックし、メールアドレスとユーザーに表示するサービス名を設定する。

以上で、Google APIsの設定は完了。

Google API クライアントライブラリのインストール

今回はデジタルフォトフレームの実装をPythonで試みた。
python.keicode.com
上記の記事の手順に従い、コマンドを実行する。
PyDriveはgoogle-api-python-clientのラッパーライブラリらしいが、APIのバージョンとPyDriveのバージョンの対応やリファレンスがよく分からなかったので今回は使わなかった。

$ sudo apt-get update
$ sudo apt-get install python-pip
$ pip install --upgrade google-api-python-client

とりあえず、Google Drive API v3を使うための環境構築は以上。

Raspberry Pi 3の環境構築

お正月前にRaspberry Pi 3を購入。教育用とはいいつつも、5,000円でLinuxが動作するちょっとしたPCのようなものが手に入るのはなかなか凄い。
早速、セットアップ方法をメモる。

続きを読む

SafariのDebugタブをいじくってたら起動時にクラッシュするようになった話

OS XMavericksだかYosemiteだかにアップグレードしてからSafariの動作が重くて仕方ない。El Capitanで改善されてるかと思えばそういうわけでもなく…。「メモリ積んだ新しいPCで快適に動くようにしたから買い換えて!」ってことなのかな?
ともかく、Safariの動作もうちょいなんとかならんかなー、といろいろいじってたら起動直後にクラッシュするようになってしまった。

続きを読む

Apache & PHP設定

ブラウザベースのアプリを使っていて、Webサーバ(Apache2)やらPHPの設定とかが変わっていたせいで、うまく動作しなかった時の話。

Macはいわゆる「MAMP」環境の用意が楽で、MySQL以外はプリインストールだったりするんですが、それゆえOSアップグレードの副作用が設定ファイルに出ていました。


Apacheの設定ファイルは「/private/etc/apache2/httpd.conf」をいじくればいいです。個人的にはPHPを使いたいだけなので、「#LoadModule php5_module libexec/apache2/libphp.so」のコメントを解除しました。
アップグレードによりデフォルト設定に戻ってしまった場合には、変更前のファイルが同パスに残っていたりします。

その他、PHPの設定ファイルを「/private/etc/php.ini」に置いておけば、設定をいろいろいじくれます。こちらも似たようなファイルが同パスにあるのでコピペして使えました。

PDFに埋め込まれたフォントの確認方法

ベクトル図形描画(っていうのかな)がやりたいとなると、Microsoft Office Visioが有名どころなんだろうと思うんだけど、MS Office for Macには入ってなかった(というかWindows版も単品でしか売ってないっぽい)ので、代用としてLibreOffice Drawを使って今までやってきました。

ところが、どうもヒラギノフォントを使ってPDFにエクスポートすると、別のフォントで保存されてしまう事象が発生する(バグ?)ため、PDFを印刷するとプリンタによって文字が印字されなかったり、MOTHERの「どせいさんフォント」みたいにフォントが崩れたり、まぁいろいろある模様(Mac標準のPDFビューアやWindows版のAdobe Readerなどで見ても、表示だけは正常なのがまた不思議なんですが)。

PDFに埋め込まれたフォントを確認するための手法をメモしておきます。

続きを読む

OS Xのアップグレードに伴うMacPortsの不具合

OS X 10.9(Mavericks)→10.10(Yosemite)のアップグレードでportコマンドが使えなくなってました。
アンインストールするためのコマンドも使えなくなってたので、予め取っておいたバックアップでOSを一旦ダウングレードし、MavericksにてMacPortを一旦撤去する。撤去前に予めインストール済みのソフトウェアの一覧は保存しておく。下記の記事にMacPortsの基本コマンドがよくまとまっており、そちらを参照されたし。
blog.asial.co.jp

で、MacPortsのアップグレード後に再度同じパッケージをインストールし直してみる。


……が、MacPortsのインストールまではなんとかなるものの、今までインストールしていたパッケージの依存パッケージ(cmakeとか)のインストールがどうしても上手くいかない。

$ sudo port clean cmake
$ sudo port selfupdate

とかを実行してもダメ。

で、いろいろ調べてみると、どうもXcode 6.1をインストールしていないといけなかったらしい(自分の環境ではMavericksの時点で6.0.1が入ってた)。App storeでは最新版を入手できず、開発者向けのページ(?)で検索してヒットしたdmgファイルからインストールし、再度portコマンドでパッケージのインストールを試みると、無事にインストールが完了した。



追記:
Migrationを読めば、最新のOSに対応したXcodeとCommand Line Toolsを入れた後に最新版のMacPortsインストーラ実行すれば、わざわざOSをダウングレードしてMacPortsを撤去しなくてもよかったっぽい(Yosemite→El Capitanで確認)。やっぱりちゃんとこういうのは読まないとダメですね。

Ubuntu 12.04が起動画面で固まってしまったときの対応

しばらく電源を切らずに稼働させていたUbuntu 12.04 LTSをインストールしたPCを久々にシャットダウンし、起動しようとしたら、プログレスバー(バーというかドット)が表示された画面で固まってしまう事象を確認。
心当たりとしては、これじゃないかと。

f:id:hal_drumas:20170219235808p:plain

「New hardware support is available」とあるのを、シャットダウン直前にインストールした。基本PCは電源入れっぱなしで使っていたので、問題発生まで微妙に時間差があるのが嫌らしいところ。

で、ここから無事に復帰するまでの軌跡をメモ。

続きを読む