raspberry piにvncでリモート接続するとcameraアプリが上手く動かないという問題
tightvncserverを使用してraspberry piでVNC接続を受け入れるようにしていたが
http://qiita.com/suppy193/items/91609e75789e9f458c39
上記記事のcamera.pyを試したところエラーが発生
$ python camera.py
Xlib: extension "RANDR" missing on display ":1.0".(left:1142): GdkGLExt-WARNING **: Window system doesn't support OpenGL.
これは、macの「画面共有」で接続し、リモートデスクトップ上のコンソールから実行した。
いろいろ調べたがtightvncが良くないらしい。
x11vncが良いという情報もあったが別のエラーで動作せず。
vnc4serverを入れたところ上手く行った。
$ sudo apt install vnc4server
でインストール
$ vnc4server
で起動
設定はtightvncserverと共通であるらしく、自動的に引き継がれたようだ。
現在使用されているlocaleファイルのパスの調べ方(i18nやdevise-i18n,devise-i18n-viewsなどのgemに含まれるものもわかる)
gemで入れたlocalファイルがどうなっているのか知りたくて。この辺を見ると自分でlocale書く時の参考にもなるでしょ。
久しぶりにArduinoを触って文字列処理でハマった。
- sprintfで%fの書式は使えない。そのまんま".2f"とか出てくるから泣ける。
- .c_str()の戻り値を変数に入れると文字化け。これも意味がわからなくて泣いた。
もう泣かなくて良いようにメモっとくよ。
(しかし書いたことを忘れてまた泣くのかも)
IRuby notebook を Macに入れようとしてハマった。(入りました)
基本的にIRubyのREADMEに書いてあるとおりでいいのだけど、rubyのバージョンや依存するツールなどでハマった。
とりあえず以下の手順で上手く行った。IRuby notebookとは何かとか、使い方とかはまだよくわからないので触れない。*1 iruby 0.2.8を入れた時の話です。
github.com
1. Anacondaを入れる
AnacondaはPythonの実行環境の一つ。科学計算向けのPythonライブラリやJupyter notebookが一緒に入ってくれる。
これがないとIRuby noteboookも動かないので入れる。
普通にインストーラを使って入れればOK。インストーラはGUI版とコマンド版があるけどどっちでも良い。Pyhton3のものを入れること。*2
2. rubyは2.1.5 (ruby 2.2.2だとrbczmqのインストールでエラー。)
$ ruby -v ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-darwin14.0]
3. 以下のコマンドで依存ツールや依存ライブラリを入れる
#ここをやらないと rbczmq のインストールでエラー。 $ brew install libtool autoconf automake autogen $ gem install rbczmq $ gem install iruby
gem install rbczmq の代わりに brew install zeromq して gem install ffi-rzmq すればOKという情報もあったけど上手く動かなかった。(インストールは成功するものの、起動後にKernel Rebootを繰り返す)
4. rbenvを使っていたので rehashしてirubyコマンドにパスを通す
$ rbenv rehash
5.起動
$ iruby notebook
これでJupyter notebookの画面がブラウザで開く。右上の「new」のメニューから「Ruby 2.1.5」を選ぶとノートブックが開き、rubyのコードを編集・実行できるようになる。
6.終了
iruby notebook コマンドを実行したコンソール(いろいろログが出ていると思う)でCtrl+Cを押すと
Shutdown this notebook server (y/[n])?
と出るので、yを押すと終了する。ブラウザは普通に閉じれば良い。
ググってもインストールでハマった情報がなかったので苦労した。つらい。インストール方法は割としょっちゅう変わっている模様。
同じようにつらい思いをした人は参考にしてね。
さくらのレンタルサーバで自分から届いたメールを.Sentディレクトリに自動的に移動する
メールを送信するときに自分宛てにBccして送信したメールを保存しておく、ということはよくやるけれども、自分からのメールはやっぱり別フォルダに分けておきたい。IMAPを使えばサーバ上で自動的にフォルダを分けて送信済みメールは専用フォルダに行くようにしてくれそうなものだけども、iPhoneの「メール」はIMAPでもそういう気の利いてくれたことをしてくれないようだ。*1
また、メールの送信サーバと受信サーバが違う場合もうまくいかない(と思う)。
そこでサーバの設定を触って自分用にBccされたメールが自動的に送信済みフォルダに移動されるようにしてみた。
さくらのレンタルサーバではメールは /home/(サーバのアカウント)/MailBox/(メールアカウント)/maildir/ (以下、maildirディレクトリと呼ぶ) というディレクトリの中に保存され、送信済みフォルダはその下の .Sent/ (以下、.Sentディレクトリと呼ぶ)というディレクトリに相当する。
また、maildropというツールが導入されており、サーバ上でメールの振り分けが可能だ。
maildropに関してはさくらのレンタルサーバー非公式FAQの「メール」という項目に情報があった。
faq.sakuratan.com
maildropのための振り分け設定は上述した maildir ディレクトリが存在するのと同じ階層の、/home/(サーバのアカウント)/MailBox/(メールアカウント)/ にある .mailfilter というファイルに書く。以下のようにした。
シェルスクリプトのように色々コマンドを書いたり、変数を使ったりできるようだ。
メール受信時に .mailfilter が実行されるとき、カレントディレクトリは /home/(サーバのアカウント)/MailBox/(メールアカウント)/ になるので、pwdコマンドを実行した結果の文字列から自分のメールアドレスの@より前を取得できる。他のメールユーザに展開したい場合もファイルコピーだけで対応できる。(でも他の振り分け設定を上書きしないよう注意が必要)
*1:後で調べてみたら、なんか設定すればいいらしい