0

UbuntuにGoogle日本語入力(mozc)入れた

昔はソースからコンパイルして入れた気がしたけど、Ubuntu12.04LTSはaptからインストールできるようになっていた

sudo apt-get install ibus-mozc

で、再起動


IBusを検索して設定アプリを開く


Input MethodにMozcを追加


キーボードショートカットは、VirtualBox内のUbuntuなのでMacと衝突しないように英数・かなキーでトグルするように設定した。

0

foremanでSinatraアプリをUbuntuのupstartにインストール

参考

橋本商会 » foremanでSinatraアプリをMacのLaunchdにインストール
foreman(1) – manage Procfile-based applications


upstartにインストール


shokai/rocketio-chat-sample · GitHub をインストールする

% sudo foreman export upstart /etc/init --app rocketio-chat --port 4000 -d `pwd` -c web=1 -u `whoami`
起動時にwebsocketのportや、RACK_ENVなどを環境変数で渡したいのだが
無理なので生成された設定ファイルを後で直す。


起動と終了

% sudo service rocketio-chat start
% sudo service rocketio-chat stop
% sudo service rocketio-chat restart
killしたり、OSを再起動しても自動的にプロセスが立ち上がる事を確認する。


設定


/var/log/rocketio-chat/ にログがでる。


upstartの設定として
/etc/init/rocketio-chat.conf
/etc/init/rocketio-web.conf
/etc/init/rocketio-web-1.conf
が生成される。

/etc/init/rocketio-web-1.conf に起動オプションが書かれている。

start on starting rocketio-chat-web
stop on stopping rocketio-chat-web
respawn

exec su - sho -c 'cd /home/sho/src/sinatra/rocketio-chat-sample; export PORT=4000; bundle exec rackup config.ru -p $PORT >> /var/log/rocketio-chat/web-1.log 2>&1'


rbenvのrubyを使う


bundle の代わりに ~/.rbenv/shims/bundle を使ったら、rbenvのrubyを使ってくれる。
アプリのディレクトリ内で
rbenv local 2.0.0-p0
してruby2.0を使うようにした。

rocketio-web-1.conf を編集。websocketのポートを18080にしたり、sinatraをproductionモードで起動するようにした。
start on starting rocketio-chat-web
stop on stopping rocketio-chat-web
respawn

exec su - sho -c '
cd /home/sho/src/sinatra/rocketio-chat-sample;
export RACK_ENV=production;
export WS_PORT=18080;
export PORT=4000;
/home/sho/.rbenv/shims/bundle exec rackup config.ru -p $PORT >> /var/log/rocketio-chat/web-1.log 2>&1
'


再起動。
% sudo service rocketio-chat restart

問題あったら /var/log/rocketio-chat/ のログでわかる。

0

Ubuntu12.04にrbenvインストールして、crontabやdaemontoolsも設定した

さくらVPSのUbuntu12.04のrvmをrbenvに切り替えた

関連

mac版
橋本商会 » rvmからrbenvに乗り換えた
橋本商会 » crontabでrbenvのrubyを使う

準備


先にrubyをbuildするのに必要なaptを入れる(先にrvmを使っていたのでこれは必要なかったが)
sudo apt-get install build-essential libreadline-dev libssl-dev


rvmを消す
rvm seppuku
sudo rm -rf ~/.rvm


ホームディレクトリにrbenvを入れる


rbenvはaptにもあるけどruby-buildが無いので両方githubからcloneした。
git clone git://github.com/sstephenson/rbenv.git ~/.rbenv
mkdir ~/.rbenv/plugins
git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build


rbenvへのパスを通す。 ~/.zshrc に書けばいい・・
export PATH=$PATH:$HOME/.rbenv/bin
eval "$(rbenv init -)"
と思いきや、screenを起動したりzsh上でzshを起動するとrbenvのパスより上に /usr/local/bin 等が来て、system rubyが使われてしまう現象が起きた。

rbenvのissueやドキュメントを確認したり調べてみると
Unix shell initialization · sstephenson/rbenv Wiki
インストールしたてのUbuntu12.04では /etc/zsh/zshrc や /etc/zlogin がPATHをいじってた。
一番最後にロードされるらしい ~/.zlogin にrbenvの設定を書いたらscreen上でもrbenvが正しくロードされた。


ruby 2.0.0インストール
rbenv -v
rbenv install --list | grep 2.0
rbenv install 2.0.0-p0


デフォルトでruby2.0使うようにする。
rbenv global 2.0.0-p0
rbenv rehash
ruby -v
2.0になってればok


gemをアップデートしたり、自動rehashするrbenv-rehashを入れたり
gem update --system
rbenv rehash
gem install rbenv-rehash bundler
rbenv rehash


jrubyもインストールする
rbenv install jruby-1.7.3


jrubyのソースコード置いてある場所でだけ、ruby2.0からjruby1.7に切り替えるようにする
cd ~/src/jruby
rbenv local jruby-1.7.3
rbenv rehash
ruby -v
jrubyになっていればおk


rubygemとbundlerをアップデートしたり、自動的にrehashするようにする。
gem update --system
rbenv rehash
gem install rbenv-rehash bundler
rbenv rehash
このディレクトリの下でだけjrubyが使われるようになる。


crontabでrbenvのrubyを使う


crontabの上の方で、PATHの先頭に ~/.rbenv/shims を入れる。
あとはアプリのディレクトリまでcdしてからrubyを使うようにすれば、ちゃんとGemfileも.ruby-vesionも読んで実行してくれる。
HOME=/home/shokai
PATH=/home/shokai/.rbenv/shims:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/home/shokai/bin

*/15 * * * * cd $HOME/src/ruby/twitter-change-profile && ruby change-profile.rb
*/20 * * * * cd $HOME/src/jruby/glitchicon && ruby bin/create_icon.rb $HOME/shokai.png /var/tmp/glitch_icon.png && ruby bin/upload.rb /var/tmp/glitch_icon.png
jruby使うアプリもちゃんとrbenv切り替えて実行してくれてた。


事前にcrontab上でrbenvが正しく動くかを確かめたほうがいい。
* * * * * echo $PATH > $HOME/cron-path.txt
* * * * * ruby -v > $HOME/cron-ruby-version.txt
* * * * * cd $HOME/src/jruby && ruby -v > $HOME/cron-jruby-version.txt
こういうの登録したらホームディレクトリに環境変数とか書き出す。
なんだか知らんが、Macではできるのに、PATHへの代入の右項に$HOMEとか書いても変数展開されない現象が起きてた。


daemontoolsでrbenvのrubyを使う


daemontoolsはlogが確認しやすいので楽。

http://dev.shokai.org:4000 の起動スクリプト。
cronと同じようにパスの先頭にshimsを追加すればいい。

/etc/service/rocketio-chat/run
#!/bin/sh
exec 2>&1
exec setuidgid sho bash -c '
HOME=/home/shokai
PATH=$HOME/.rbenv/shims:$PATH
cd $HOME/src/sinatra/rocketio-chat-sample
WS_PORT=18080 rackup config.ru -p 4000
'

0

64bit Ubuntu+Arduino UNOでarduino_firmataが動かないらしい

arduino_firmata


Ubuntu日本語フォーラム / arduino_firmataが動作せず 12.04/12.10


Ubuntu+Arduino UNOで

Resource temporarily unavailable

というエラーがでて動かないらしい
Ubuntu12.04の64bit版をVirtualBoxに入れてみたけど、CDC-ACMなArduinoはどれもデバイスとして認識しなかったのでエラーでるとか以前の問題だった。
VMじゃないUbuntuで試さないとならないっぽい・・


ニッチなgemのわりに毎日100インストールぐらいされてるので、すっかりRubyでArduino使うと定番になってるっぽくて嬉しい。

USBメモリからUbuntuインストールした はコメントを受け付けていません。

USBメモリからUbuntuインストールした

MacでUbuntuのインストールUSBメモリを作って、ネットブックに入れた。
うちにはCD-Rを焼けるマシンが無い。


デスクトップ版Ubuntu12.04.1のisoファイルをダウンロードしておく
Ubuntu Desktop 日本語 Remix CDのダウンロード | Ubuntu Japanese Team


isoをdmgに変換

hdiutil convert -format UDRW -o ubuntu-ja-12.04.1-desktop-i386.dmg ubuntu-ja-12.04.1-desktop-i386.iso

USBメモリを抜いた状態と刺した状態でそれぞれmountコマンドを使って、増えてるデバイスを探す。
/dev/disk2が増えていた。


書き込む。ボロいUSBメモリだったので20分ぐらいかかった。
sudo diskutil umountDisk /dev/disk2
sudo dd if=ubuntu-ja-12.04.1-desktop-i386.dmg of=/dev/rdisk2 bs=1m
sudo diskutil eject /dev/disk2

取り出してネットブックに刺してUSBメモリからブートしてインストール完了。

参考:MacでubuntuのインストールUSBメモリを作成する | Act as Professional – hiroki.jp by HIROCASTER