2011年6月26日日曜日

WindowsにRedcar導入

RedcarとはRubyで書かれたテキストエディタです。

特徴は

  • クロスプラットフォーム(Windows, Linux, Mac)
  • オープンソース
  • Textmateのスニペットが使える
  • 日本語がまともに入力できる

クロスプラットフォームなエディタは色々ありますが、まともに日本語が入力できないものが多い中日本語がまともに使えるのは嬉しいです。

この素晴らしいエディタをWindowsにインストールしてみたのですが、かなり面倒だったのでメモ代わりに残しておきます。

minttyから使いたかったのでインストール作業はmintty上で行いました。

なのでおそらくCygwinでも同様の手順になるかと思います。

ただ現状ではコマンドプロンプトからインストールするほうが楽なようです。

  1. まずRedcar 0.11はmswin32版Rubyじゃないとインストールができないらしいので、mswin32版Rubyをここからダウンロード

  2. 解凍して/usr/local/rubyにでも置く

  3. /usr/local/ruby/binにパスを通す

  4. もしcygwin版のRubyをインストールしていれば/usr/bin/rubyにあるので、これをrubycwなどにリネームしておく。ついでにgemもgemcwなどに。

  5. mswin32版gemを楽に呼び出すためにalias gem=’/usr/local/ruby/bin/gem.bat’としておく

  6. gemを実行するとzlib.dll, SSLEAY32.dllがないとか言われるのでインストールする(ついでにこの後のredcar installの時にiconv.dllも必要なのでいれとく)

  7. 以下のコマンドを実行

    $ gem install redcar
    $ which redcar
    
  8. which redcarで/usr/local/ruby/bin/redcarとなっていることを確認(/usr/bin/redcarとなっていたらおそらくcygwin版のgemでインストールされている)

  9. 以下のコマンドを実行するとRedcarがインストールされる

    /usr/local/ruby/bin/redcar.bat install
    
  10. /usr/local/ruby/bin/redcarだとなぜか起動できないので、起動用スクリプト作成

    以下の内容で/usr/local/bin/launch_redcarを作成(ユーザ名などのパスは適宜変更すること)

    java -client -Xbootclasspath/a:"C:/Users/ユーザ名/.redcar/assets/jruby-complete-1.5.3.jar" -Dfile.encoding=UTF8 -Xmx320m -Xss1024k -Djruby.memory.max=320m -Djruby.stack.max=1024k org.jruby.Main "C:/cygwin/usr/local/ruby/lib/ruby/gems/1.9.1/gems/redcar-0.11/bin/redcar" --no-sub-jruby --ignore-stdin  --start-time=1309005240 $1 &
    
  11. エイリアス作っとく

    alias re='/usr/local/bin/launch_redcar'
    
  12. ‘re’でRedcar起動

    ファイル編集したいときは以下のようにファイル名指定して起動(既にRedcarが起動していれば既存プロセスで開いてくれる)

    re test.txt
    

起動時は結構時間かかりますが、一旦起動してしまえばサクサク動きます。

Emacsは色々面倒なのでRedcarに移行したいなぁ。

2011年6月9日木曜日

Ubuntu11.04+NeatxでWindowsからリモートアクセス

Ubuntu11.04にNeatx-serverを入れてみた。

NeatxとはGoogleが作ったオープンソースのNX Server。

VNCより使用する帯域が少ないらしい。

vncserverやvino-server(UbuntuデフォルトのVNCサーバ)、x11vnc、Free NXなど色々使ってみたが、結局Neatxがベストだった。

以下簡単に比較

vncserver

  • ウィンドウの移動等の動作が重い。
  • dを押すとウィンドウが最小化される。

vino-server

  • 解像度の変更方法が分からない。
  • 情報が少なすぎる。

x11vnc

  • こちらも解像度の変更方法が分からなかった。
  • geometry で指定しても画面が引き伸ばされるだけだし・・・

FreeNX

  • 重い。どう考えてもNeatXの方が軽かった。

Neatxサーバインストール

    $ sudo aptitude install python-software-properties && sudo add-apt-repository ppa:freenx-team
    $ aptitude update
    $ sudo aptitude install neatx-server

これでサービスが勝手に起動される。

クライアント(Windows用)インストール

[NoMachine社のサイト](http://www.nomachine.com/download.php)からクライアントをダウンロードしてインストールする。

僕の環境ではAdvanced->Disable encryption of all trafficのチェックをはずさないとエラーで接続できなかった。

窓使いの憂鬱(yamy)との相性

yamyを使っていると右シフトがうまく機能しない。僕の環境(Windows XP)だと右シフトを押した時にE0RShiftとなるが、これは109.mayu以下のようにmod Shift += E0RShiftとなっている。

これはWindowsではうまく機能するが、NX Client経由だとShiftとして機能しない。

これを回避するためには109.mayuのdef mod Shift = LShift RShiftとなっている部分を以下のようにdef mod Shift = LShift RShift E0RShiftとし、mod shift += E0Rshiftとなっている部分をコメントアウトすることでうまく動いた。

のlinux109.mayuで

#def mod Shift = LShift RShift

def mod Shift = LShift RShift E0RShift

def mod Alt = LAlt RAlt

def mod Control = LControl RControl

def mod Windows = LWindows RWindows

#mod shift += E0RShift

ちなみにSynergyも試したけど、窓使いの憂鬱(yamy)が効かなかったので論外。

2011年6月2日木曜日

Evernoteの復元方法(MAC)

Evernoteを自宅のMacと会社のWindowsのクライアントから使用しているのですが、久々にWindowsのクライアントを同期するとなんと大量のノートとタグが中途半端に消えてしまいました・・・(T_T)

自宅に帰って復元方法を探したのですが、Macのクライアントは~/Library/Application Support/Evernoteにデータを置いているらしいのですが、これをTime Machineから復元して同期してみると、サーバ側の情報が優先されてしまいます・・・。

そこで、アーカイブにエクスポート/アーカイブからインポート機能を使って以下のように過去の状態を復元してみました。

  1. 同期を手動にする。

  2. Evernoteを終了させる。

  3. ~/Library/Application Support/EvernoteをTime Machineからバックアップする。(タグも含めておく)

  4. クライアントを起動して復元したいノートブックをエクスポートする。

  5. オンラインのEvernoteで復元したいノートブックの名前を変更する。(消去でもOK)

  6. 同期する。

  7. エクスポートしたノートブックをインポートする。(この時同期ノートブックにするかどうか聞かれるので、同期ノートブックにする。また、「タグをインポートする」にもチェックしておく)

  8. 同期する。(ノートが大量だと使用制限にひっかかるかも^^;)

  9. 自動同期に戻す。

これでノートもタグも元通り!

もっとクレバーな方法があれば教えてください。

クライアントの情報を優先して同期するような方法があればなぁ。