rvmをインストールしてRuby1.8.7とRuby1.9.2を共存させられるようになるまで
asakusa.rbで、1.8と1.9をうまく共存させる方法ありませんかと質問した時に、ひょいひょいっと教えてもらったrvmインストールのメモ。その時持っていたmacbookにはもういれたので別のPC(Ubuntu)で試してます。教えてくださったid:takkan_mさんありがとうございます。
元々gemのインストールをホームディレクトリ以下(~/.gem)にする習慣が無かったので、今回からそれを改めるべく、その辺の設定も一緒にやりました。所要時間:10分くらい。
まずはrvmのインストール。
hibariya@HIBARIYA% gem install rvm
実はこれだけではまだrvmのインストールは終わってないらしい。rvm-installというのを叩く必要がある。インストールが完了した時点で、rvm-installというコマンドが使える人はそのまま実行。使えない場合はPATHが通ってないので、.zshrcとか.bashrcに、
export PATH=$PATH:~/.gem/ruby/1.8/bin/
などと追記。sourceで読み直して、rvm-installを実行。
hibariya@HIBARIYA% source ~/.zshrc hibariya@HIBARIYA% rvm-install Installing rvm to /home/hibariya/.rvm/ ... rvm - shell scripts that allows a user to manage multiple ruby versions in their own account. <中略> 1) Place the folowing line at the end of your shell's loading files(.bashrc and then .bash_profile for bash and .zshrc for zsh), after all path/variable settings: if [[ -s /home/hibariya/.rvm/scripts/rvm ]] ; then source /home/hibariya/.rvm/scripts/rvm ; fi 2) Ensure that there is no 'return' from inside the .bashrc file. (otherwise rvm will be prevented from working properly). 3) CLOSE THIS SHELL and open a new one in order to use rvm.
.zshrc(とか.bashrc)の最後にこの一行を追加してね。という文言が出てくるので、
if -s /home/hibariya/.rvm/scripts/rvm ; then source /home/hibariya
にあたる行を.zshrcの末尾にコピーして貼り付け。sourceで読み直すと使えるようになる。
hibariya@HIBARIYA% source ~/.zshrc hibariya@HIBARIYA% rvm --version rvm 0.1.11 by Wayne E. Seguin (wayneeseguin@gmail.com) [http://rvm.beginrescueend.com/]
これでrvm自体のインストールは完了。次はrvmを使って最新のRubyをインストール。
hibariya@HIBARIYA% rvm install head-ruby Installing Ruby from source to: /home/hibariya/.rvm/rubies/ruby-head Updating ruby from http://svn.ruby-lang.org/repos/ruby/trunk Compiling ruby-head, this may take a while, depending on your cpu(s)... <中略> Installation of gems for ruby-head is complete.
自分の環境ではautoconfとbisonがないと言われたのでaptitudeで適当に入れました。結果的には動いてるんですけど、よく見たらRubyインストールの段階で「rvm requires curl, which does not seem to exist in your path :(」とか言われているので後でやり直します。
rvmの使い方はこんな感じです。
hibariya@HIBARIYA% ruby --version ruby 1.8.7 (2009-06-12 patchlevel 174) [i486-linux] hibariya@HIBARIYA% rvm list ruby-head [ i386 ] system [ ] hibariya@HIBARIYA% rvm use ruby-head Now using ruby head hibariya@HIBARIYA% ruby --version ruby 1.9.2dev (2010-02-09 trunk 26623) [i686-linux]
コマンド一つでRubyの環境を切り替えられます。あと、irbとかのバージョンも一緒に切り替わります。
もとに戻すにはresetを使います。何かエラーが出ますが。
hibariya@HIBARIYA% rvm reset __rvm_reset:6: no matches found: /home/hibariya/.rvm/bin/default_* __rvm_reset:6: no matches found: /home/hibariya/.rvm/bin/passenger_* __rvm_reset:6: no matches found: /home/hibariya/.rvm/bin/editor_* __rvm_reset:18: no matches found: /home/hibariya/.rvm/bin/default* hibariya@HIBARIYA% ruby --version ruby 1.8.7 (2009-06-12 patchlevel 174) [i486-linux]
rvmでインストールできるのはruby-head以外にも色々あるようです。詳しくは、rvm --helpで。
* ruby - MRI/YARV Ruby (The Standard), defaults to 1.8.6 jruby - JRuby rbx - rubinius ree - ruby Enterprise Edition macruby - MacRuby (Mac OS X Only) maglev - Gemstone Ruby ironruby - IronRuby mput - shyouhei(mput)'s github repository
notify-sendについて調べたのでメモ
Ubuntu(9.10 Karmic Koara)での話。
- notify-sendというコマンドを知りました
自分の環境ではCommand Not Foundだったので、インストール。
hibariya@HIBARIYA% aptitude install libnotify-bin hibariya@HIBARIYA% notify-send 'summary' 'body'
デフォルトでは画面の右上にGrowlみたいなのが出てきて、なかなか素敵。
- Pythonでできるそうです
import pynotify pynotify.init("notify-example") n = pynotify.Notification( "notify-example", "Hello, NotifyOSD", "notification-message-IM") n.show()http://kamenasu.blogspot.com/2009/08/pythonnotifyosd.html
すごい!
- Rubyでもやってみたい
hibariya@HIBARIYA% gem search -r libnotify *** REMOTE GEMS *** libnotify (0.0.4)
なんだかそれらしいものが。
libnotifyにはFFIも必要らしいので、一緒にインストール。
hibariya@HIBARIYA% sudo gem install libnotify ffi Successfully installed libnotify-0.0.4 Building native extensions. This could take a while... Successfully installed ffi-0.5.4 2 gems installed Installing ri documentation for libnotify-0.0.4... Installing ri documentation for ffi-0.5.4... Installing RDoc documentation for libnotify-0.0.4... Installing RDoc documentation for ffi-0.5.4... hibariya@HIBARIYA% sudo updatedb hibariya@HIBARIYA% locate libnotify.rb /usr/lib/ruby/gems/1.8/gems/libnotify-0.0.4/lib/libnotify.rb /usr/lib/ruby/gems/1.8/gems/libnotify-0.0.4/test/test_libnotify.rb
使い方も何も知らないので、中身を覗いてみる。
libnotify.rbは/usr/lib/ruby/gems/1.8/gems/libnotify-0.0.4/libにあるみたい。
どんどこスクロールしていくと、ファイルの最後あたりにサンプルコードがあった。
Libnotify.new do |notify| notify.summary = "world" notify.body = "hello" notify.timeout = 1.5 # 1.5 (sec), 1000 (ms), "2", nil, false notify.urgency = :critical # :low, :normal, :critical notify.icon_path = "/usr/share/icons/gnome/scalable/emblems/emblem-default.s notify.show! end Libnotify.show(:body => "hello", :summary => "world", :timeout => 2.5)
早速見よう見まねでで動かそうとしたら、何かのライブラリが足りないと(何だったか忘れた)怒られたので、libnotify-devをインストール。
hibariya@HIBARIYA% aptitude install libnotify-dev
↓みたいに色々省略してもOK。
#!/usr/bin/env ruby require 'rubygems' require 'libnotify' Libnotify.show{|n| n.summary = 'どうのこうの' n.body = 'あーしてこーして' }
rubygemsをrequireしたり環境によってはlibnotify-devをインストールしなきゃいけなかったりするので、普通にシェル叩いた方が楽な気もするけど、満足できたのでOK。
Ubuntuのwine上でゆめにっき
仕事でも個人的にもUbuntuしか使わなくなったので(Office的な仕事だけその辺に落ちてたノートPCにWindows入れて作業してる)、ゆめにっきをプレイするにはwineか仮想マシンっていう選択肢があって、wine上で動くか調べてみたら割と問題なく動くようなので実際にやってみた。メモ。
画面はすぐ動くようになったけど、問題は音。
- 手始めにwineとlhaをインストール。
% sudo aptitude install wine wine-dev % sudo aptitude install lha
- ランタイムのダウンロードとインストール
http://www.famitsu.com/freegame/rtp/2003_rtp.html
自己解凍形式で落とした。
- ゆめにっき本体のダウンロードとインストール
- lha-sjisのインストール
lhaを展開してみて気付いたけど、ubuntu上だとファイル名が化けてまともに実行できない。lha-sjisというパッケージが必要らしい。
システム > システム管理 > 日本語環境セットアップ・ヘルパ
を起動。場合によっては色々なアップデートをしろと言われるので、素直にアップデートしたらちゃんと起動した。
インストールするパッケージをリストからチェックする画面が何回か現れるので、適当にチェックを入れる。リストのどこかにlha-sjisが現れるのでそれには必ずチェックを入れる。
lha-sjisがインストールされると、lhaを展開するとき自動的にsjisのファイル名をUTF-8に変換してくれる。
- とりあえず動いた
~/.wine/drive_c/Program Files など適当な場所に解凍したゆめにっきを配置。
ゲームスタート.exeを叩けば普通に動く。
ただ、自分の環境では音は鳴らなかった。
- MIDI関係
MIDIの再生ができるようにtimidityとSoundFontをインストール。してtimidityを起動。
% sudo aptitude install timidity timidity-interfaces-extra % sudo aptitude install fluid-soundfont-gm fluid-soundfont-gs % sudo vim /etc/timidity/timidity.cfg # 以下の記述を追記 source /etc/timidity/fluidr3_gm.cfg source /etc/timidity/fluidr3_gs.cfg opt -Os % sudo /etc/init.d/timidity start
- その他
まだ不安定。理由は分からないけど以下の手順で割と安定した。
アプリケーション > Wine > Configure Wine
でWineの設定画面を開く。
[オーディオ]タブを開く。
[Driver Selection]ではALSAを選択。
[DirectSound]ではハードウェア・アクセラレータを[Emulation]に設定。[ドライバ・エミュレーション]のチェックは外したまま。
これでなんとか普通にプレイできた。
たまにエラーを吐いて終了するので気長にやれたらいいかも。
ちなみ、にConfigure Wineの[画面]タブで、[デスクトップをエミュレートする]にチェックを入れると、ゲーム起動する度にフルスクリーンにならずに済みます。
空のディレクトリに空の.gitignoreを作成するシェルスクリプト
技術っぽいエントリをこっちに書くことにした。
タイトルどおりのことをやろうとしたときのスクリプトをメモ。
#!/bin/sh directory_scan() { finds="" for file in `ls $1`; do finds=${finds}" "$file done if [ "$finds" = "" ]; then echo 'create: '${1}'/.gitignore' touch $1/.gitignore if [ $? -eq 0 ]; then echo 'success' else echo 'failure' fi fi for directory in $finds; do if [ -d ${1}'/'${directory} ]; then directory_scan ${1}'/'$directory fi done } directory_scan `pwd` exit 0
白昼夢200901106
古い、A4見開きページの左ページに書かれた文字。
まん丸い太い書体で縦書きの「うろうろするな」。
文字の丸くなっている部分が、そのまわりを埋め尽くしている童の笑っている口になっている。
初めから文字ではなくて、もしかしたら初めから童の笑っている口だったのかもしれない。
もう片方のページを見ると、そこにも文字が書いてあって、でもよく見るとそれは文字ではなくて、
赤黒い何か動物の死体が象形文字みたいに並んでいる写真だった。
その後で少しだけ目が覚めて、薄いぼんやりとした視線は、カーテン、枕の奥深く、夢の中の見開きページの間を行ったり来たりした。
気味が悪くて午前休をとった。
白昼夢20081229
飼っている鳥の右目が真っ白に変色してぞっとした夢。