CentOS 6.2/6.3でxrdpを使ってリモートデスクトップ
yumを使用してepelからインストールする事もできるが、キーバインドが上手くいかず、英語キーボード配列で、バックスラッシュやアンダースコアが入力できなかったので、最新版をmake installする。日本語は入力できないのは断念する。
gitは導入済みとする。rootで実行する。
必要なライブラリを事前に入れておく。
# yum -y install autoconf automake libtool gcc openssl-devel pam-devel libX11-devel libXfixes-devel
# cd /usr/local/src
# git clone git://github.com/FreeRDP/xrdp.git
xrdpをコンパイル・インストールする。
# cd xrdp
# ./bootstrap
# ./configure
# make
# make install
キーマップファイルを作成する(一部意味の無い処理があると思う)。
# cd /etc/xrdp
# xrdp-genkeymap km-0411.ini
# mv km-0411.ini km-0411.ini.org
# wget http://www.mail-archive.com/xrdp-devel@lists.sourceforge.net/msg00263/km-e0010411.ini
# mv km-e0010411.ini km-0411.ini
リンクファイルを作成する。
# cd /etc/xrdp
# ln -s km-0411.ini km-e0200411.ini
# ln -s km-0411.ini km-e0210411.ini
# ln -s km-0411.ini km-e0010411.ini
ファイアーウォールを適宜設定する。OSをリブートする。
xrdpサービスを起動する。
# /etc/xrdp/xrdp.sh start
Windows 7 Proのリモートデスクトップ接続(クライアント)から接続でき、各種入力も問題なし。
(追加1)
yumで入れたxrdpにキーマップファイルをコピーするだけで大丈夫でした。 orz
# yum --enablerepo=epel -y install xrdp
# chkconfig --level 35 xrdp on
この後、前記 /etc/xrdp へのキーマップファイルコピー処理をやればオッケー。
参考:
http://fukushimaya2.blog103.fc2.com/blog-entry-23.html
http://www.mail-archive.com/xrdp-devel@lists.sourceforge.net/msg00263.html
Ruby 1.9.3向けwillnet-amazon-ecsのHMAC/SHA256処理部分の修正
RubyとRailsでamazonの商品情報を使いたいと思い、amazon Web APIを調査した。
サービスの利用準備については、以下が参考となる。
Amazon Web サービス入門(Product Advertising API) (http://www.ajaxtower.jp/ecs/)
Gemにはamazon-ecsというライブラリがあり、それを使うと楽できそうだと分かる。
# gem install amazon-ecs
[Ruby][Gems]amazon-ecsを使用する (http://rubyist.g.hatena.ne.jp/pulscope/20070319/p2)
を参考として動作確認を試みるが、400 ERRORで動かない。原因は、リクエストメッセージに秘密鍵を使った署名が付いていない事のようだ。記事が古いことに気づく。
http://demenaoto.blogspot.jp/2009/08/ruby-on-rails-amazon-ecs-amazon-product.html
http://demenaoto.blogspot.jp/2009/08/ruby-on-rails-amazon-ecs-amazon-product_19.html
によると、amazon-ecsが署名認証をサポートしたような感じがするが、
http://blog.u-kipedia.com/blogs/10
によると、2012/02/28時点でやっぱりサポートしてないようだ。
そこで、署名認証をサポートしたwillnet-amazon-ecsを試す。
http://d.hatena.ne.jp/willnet/20090716/1247737270
指示に従ってインストールする。
これで大丈夫かと思いきや、hmac_sha256処理でエラーが発生する。
http://midorex.blogspot.jp/2009/06/amazon-web-with-ruby-191.html
によると、原因はRubyのバージョン違い(1.8系と1.9系)による変更に対応していないためのようである。Ruby初心者の私には、この理由を見つけるのに苦労した。
HMAC処理部分を以下のように修正する。
(Ruby 1.9.3, willnet-amazon-ecs 0.5.6)
ecs.rbの225, 226行目
ikey[i] = key[i] ^ ikey[i]
okey[i] = key[i] ^ okey[i]
を
ikey[i] = (key[i].ord ^ ikey[i].ord).chr
okey[i] = (key[i].ord ^ okey[i].ord).chr
に修正する。
これでAmazon::Ecs.item_searchとかが使えるようになった。良かった。。