Google Account SwitcherをGoogle Appsに対応させる方法

Posted at 2010-04-29T20:43:58+09:00 in Software

Google Accont SwitcherをGoogle Apps for your domainで使用する

なんとなく今日Google Chrome extensionのGoogle Account Switcher を改造すれば、Google Apps for your domainで使用できるんじゃないかと思い立ち、 実際にやってみたら拍子抜けするほど簡単にできちゃったので、それをメモってみる。

1. 準備

まずGoogle Account SwitcherはGoogle Chromeの拡張機能なので、 Google Chromeをインストール。

そんでもってGoogle Account Switcherをインストールします

2. 改造

インストールが終わったら今度は実際に改造していきます。

改造するファイルはGoogle Account Switcherの構成ファイルのcontentscript.jsで、 これはGoogle Chromeの設定ファイルディレクトリに保存されてます。

Windows XPな自分の環境の場合、 C:\Documents and Settings\nyarla\Local Settings\Application Data\Google\Chrome\User Data\Default\Extensions\igdmifgmjlomonhbeficamklofbllepo\0.2.1 に保存されてたんですが、これは各自で読み替えてください。

で、ディレクトリ開いてcontentscript.jsをテキストエディタで開いたら、 ファイルの22行目、if(isGooglePage()) {で始まってるifブロックを下記のような感じに変更します。

if(isGooglePage()) {
    if (window.location.href.indexOf('a/{your domain here}/ServiceLogin?') > 0) {
        getUsernameToSignIn();
    } else {
        init();
    }
}

{your domain here}の部分は各自のGoogle Apps your domainで使用しているドメインを指定してください。

で、変更が終わったら保存します。

3. 実際に使う

スクリプトの改造は上記で終了して、あとは普通にGoogle Account Switcherを使うときみたいに、 設定画面を開いて、Google Apps for your domainのユーザー名とパスワードを保存し、 Google Apps for your domainのアプリケーションにログイン、 んで、画面のログアウトのリンクがmoreに変わったら、 そこからアカウントを選べば、アカウントが切り替わります。

4. 以上終了

以上がGoogle Account SwitcherでGoogle Apps for your domainを使う方法です。

この方法の難点としては、この改造を加えると、 Google Account SwitcherがGoogle Apps for your domainの一ドメイン専用になってしまうことでしょうか。

まあ僕の場合は、Googleのアカウントは一個だけで、Google Appsの方は今のところ三つ、 という状況なので、特には困らない感じなのですが、他の方だと困るかもしれません。

まあ、GoogleのアカウントとGoogle Apps for your domainのアカウントを横断的に切り替えられるようにしようとなると、 かなり拡張機能を改造しないとダメっぽいので、僕にはちょっと手に負えません。

あとGoogle Chromeのextensionについてほとんど知らないので、変なこと言ってるかもしれませんが、 改造版Google Account SwitcherをextensionのIDを変えてインストールし、 オリジナルのGoogle Account Switcherと共存できるようにすれば、 とても幸せになれるんじゃないかと思います。 まあ僕はGoogle ChromeのextensionのIDの変え方なんて知らないんで、試してはないですが。

とりあえず以上がGoogle Account SwitcherをGoogle Apps for your domainで使用する方法です。 Google Apps for your domainのアカウントを切り替えたいという方は上記の方法を試しては如何でしょうか。

Google App Engine SDK for Pythonをインストールした時の作業ログ

Posted at 2010-04-03T17:31:08+09:00 in Software

Google App Engine SDK for Pythonを既存のシステムを変更することなくインストールする方法

最近Google App Engineでアプリケーション作ってみてーという欲求が高まってきたので、 Google App Engine SDK for Python (Linux/Others)をCygwin環境にインストールしてみました。

0. 前提

まず、Google App Engine SDK for Python (Linux/Others)には

  • Google App Engine用のPythonライブラリ
  • Google App Engineで必要になるライブラリ
  • Google App Engine用コマンド類

が含まれるのですが、 これらのコマンドやライブラリを直接Pythonのライブラリディレクトリに突っ込むのはちょっと微妙かなと思ったので、 これらのライブラリは/usr/local/gaeに突っ込むことにしました。

これが前提

1. 下準備:PythonのインストールやSDKのダウンロード

次に下準備としてPythonのインストールやSDK本体のダウンロードを行います。

今回はCygwin環境にGAEのSDKをインストールするということなので、 まずPythonをCygwinのsetup.exe経由でインストールします。 GAE SDKはPythonのバージョンとして2.5.2を要求してくるので、 Pythonの2.5.2をインストールします。

次にGoogle App Engine SDK for Python (Linux/Others)を

からダウンロードしてきます。

ちなみに前は確か日本語版のページに掲載されているSDKのバージョンが古くて、 英語版のページからダウンロードしてくる必要があったんですが、 今では日本語版、英語版どちらも最新のSDKがダウンロードできるようになってます。

んでSDKをダウンロードしたらSDKの圧縮ファイルをを解凍しておきます。

2. SDKの配置

SDKをダウンロードして解凍したら、今度はSDKを/usr/local/gaeに配置します。

この作業は単純にSDKの中身を/usr/local/gaeにコピーするだけです。

3. コマンドやライブラリにパスを通す

で、SDKの中身を/usr/local/gaeに配置したら、今度はコマンドやライブラリにパスを通します。

僕の環境ではシェルにzshを使ってるので、~/.zshrc

gaedir=/usr/loca/gae
gaedir=/usr/local/gae
if [ -d $gaedir ] ; then ;
    export PATH=${PATH}:$gaedir
    export PYTHONPATH=${PYTHONPATH}:${gaedir}:${gaedir}/lib/antlr3:${gaedir}/lib/cacerts:${gaedir}/lib/django:${gaedir}/lib/ipaddr:${gaedir}/lib/webob:${gaedir}/lib/yaml/lib
fi;

という感じでパスを通す設定を記述します。

ちなみにifで囲んでるのは、.zshrcを複数の環境で使用できるようにしてあるからだったりします。

4. 確認

で、パスも通し終わったらシェルで

$ dev_appserver.py --help
$ python -c 'from google.appengine.ext import webapp'

という感じでパスがきちんと通ってるか確認します。

で、問題が無ければSDKのインストールはこれで終了です

以上終了

以上がGogle App Engine SDK for Python (Linux/Others)をインストールする際の作業項目です。

実際にインストールするのはそんなにややこしくは無かったですが、 環境変数に追加するとかの辺りが結構面倒でした。

まあGAE SDK for Pythonについてるlibディレクトリ以下のライブラリは直接インストールしても良かったような気がしますが、 GAE SDK for Pythonについてるライブラリが最新のライブラリと比べて古かったり、 Googleによってカスタマイズされている可能性を考慮して今回はインストールしませんでした。

まあこれで開発環境は整ったので、あとはGAE Applicationをバリバリ開発していくだけ!……なんですが、 その前にPythonについて学習しないと先に進めないという。

まあPythonの学習コストはPerlの時と比べれば高くないだろうということで、

初めてのPython 第3版

タイトル 初めてのPython 第3版
ASIN 4873113938
価格 Amazon.co.jpで確認
発売元 オライリージャパン
発売日 2009-02-26

を一通りよんでから開発していこうかと思う次第です。

以上Google App Engine SDK for Python (Linux/Others)のインストール作業ログでした。

さくらインターネットでlocal::libを使ってCPAN環境を整える

Posted at 2010-02-08T16:38:56+09:00 in Software

さくらインターネットでlocal::libを使う

だいぶ前の話になりますが、local::libを使ってCPAN moduleをインストールする環境を さくらインターネットに整えたので、そのときのことを思い出しながらまとめてみるよ!

0. 参考

1. local::libを落としてくる

local::libCPANにあるので、 CPANのlocal::libのページDownloadリンクをコピーして、 端末上で、

$ cd ~/local/src
$ wget http://search.cpan.org/CPAN/authors/id/A/AP/APEIRON/local-lib-1.004009.tar.gz

local::libを取ってくる

2. local::libを解凍する

$ tar zxvf local-lib-1.004009.tar.gz

3. BSDPANの設定をする

僕のところではこんな感じの設定をしました。

setenv  PKG_DBDIR       ~/db/pkg
setenv  PORT_DBDIR      ~/db/pkg
setenv  INSTALL_AS_USER

4. CPANの設定をする

hidekさんのところの記事によると、どうも先にCPANの設定をしないとlocal::libのインストールがうまくいかないそうなので、 とりあえずshellで

$ cpan
...
cpan> o conf commit
cpan> exit

という感じでCPANの設定を済ませます。

このときにはCPANモジュールのインストールパスなんかは設定しません。 あとUNINST=1とか--uninst=1を設定すると、どうもシステムに入ってるモジュールを消そうとして失敗する、 という動作をしだすので、これらのオプションは設定しないほうが良いと思います。

5. local::libをインストールする

ようやくlocal::libをインストールします。

僕の環境の場合、~/local/perl5がCPAN moduleをインストールするルートディレクトリなので、

$ cd ~/local/src/local-lib-local-lib-1.004009
$ perl Makefile.PL --bootstrap=/home/nyarla/local/perl5

という感じでMakefile.PLを実行。あとは

$ make
$ make test
$ make install

します。

6. 環境変数を設定

で、次に環境変数を設定します。

hidekさんの所ではechoとか使って自動的にシェルの設定ファイルに書き出しとかしてますが、 僕の環境ではどうもうまくいかなかったので、手動で、

$ perl -I$HOME/local/perl5 -Mlocal::lib=$HOME/local/perl5

を実行して、出力された環境変数の設定部分をシェルの設定ファイル(僕の環境の場合cshなので~/.cshrc) にコピペしました。

7. CPANをupdate

これでようやくCPAN moduleをインストールできる環境が整ったので、

$ cpan
...
cpan> install Bundle::CPAN

してCPANをアップデートします。

まあこれは大抵のモジュールはインストールされるはずなので、細かいところは省略。

8. CPAN moduleをインストール

んで、あとは自由にCPAN moduleをインストールできます。

僕の場合、このBlogや無貌断片で使用している plasxomが使用するモジュールなんかを入れました。

9. Perl scriptで使用するには

で、肝心のPerl scriptから各モジュールを呼び出すには、

#!/usr/bin/perl

use strict;
use warnings;

use lib '/home/nyarla/local/lib/perl5/lib';
use local::lib '~/local/perl5';

という感じで呼び出します。

ちなみにさくらインターネットではCGIはsuEXEC環境で動いてるので、 .htaccessとかの設定ファイルで設定した環境変数がCGIスクリプト内で有効になりませんが、 suEXEC環境でない場合は、.htaccess内でPERL5LIBとか設定してやれば良いと思います。

10. 以上作業は終了。感想とか

まあ作業自体をしたのがだいぶ前(いつだったか覚えてない)ので細かいところはうろ覚えですが、 大体こんな感じで作業したと思います。

本当は作業してから作業ログを書こうと思ってたんですが、 疲れたしまた後にしようと思って延び延びになって今日になった次第。

ちなみに作業してたとき、環境変数を設定するところでちょっとつまづいてました。

あと使用感ですが、CPANをダイレクトに設定して使ってたときよりも使いやすい感じです。 特にインストールされるディレクトリがバラけないのでそこら辺がスクリプトから扱いやすい感じ。 まあこれからレンタルサーバでCPAN使う人は、local::libを使うと良いんじゃないでしょうか。

以上local::libを使ってCPAN環境を整える話でした。

Cygwinを1.7.1にupgradeした

Posted at 2010-01-05T13:08:20+09:00 in Software

Cygwinを最新の1.7.1にアップグレード

そういえばCygwinを最新の1.7.1にアップグレードしてないなぁということで、 今日Cygwinをアップグレードしてみました。

やった作業は、

  1. 最新のsetup.exeをダウンロード
  2. setup.exeのセキュリティ制限をはずす
  3. setup.exeを起動
  4. ウィザードにしたがって作業を進める
  5. ミラーの選択後、警告が出るものの無視して先に進める
  6. パッケージの選択画面で特に選択することなく次へ
  7. パッケージがアップグレードされるのを待つ
  8. setup.exeでの作業終了
  9. cygwinにログインして/usr/bin/copy-user-registry-fstabを実行
  10. 全作業終了

という感じ。途中で注意の警告が出たものの、それ以外はすんなりとアップグレードできました。

ちなみに開発環境を作り直すのは面倒だし、安定版のリリースだから問題ないだろうといことで、 1.5.Xの環境に1.7.1を上書きでインストールしました。まあ今のところ問題は特に確認されない感じです。

いやーそれにしてもCygwin1.7.1になってUTF-8を正式対応されたおかげで、 日本語を含むマルチバイト文字列が正しく扱えるのはすばらしいです。 今まで日本語入力するときバックスペースでうまく消せないとか、 クオートで囲んでから日本語書くと文字化けするとかあったからね。 今ではそういったことも無く普通に日本語入力できるし。

まあでもなんかgitで日本語ファイル名がうまく扱えないみたいです。 試した感じでは、日本語ファイル名の表示が化けるというか、実体参照みたいな感じになるんですが、 ファイルの追加と削除は普通にできました。

大体こんな感じです。

$ cd ~/tmp/test
$ git init
Initialized empty Git repository in /home/nyarla/tmp/test/.git/
$ touch 日本語
$ ls
日本語
$ git add 日本語
$ git st
# On branch master
#
# Initial commit
#
# Changes to be committed:
#   (use "git rm --cached <file>..." to unstage)
#
#       new file:   "\346\227\245\346\234\254\350\252\236"
#
$ git rm --cached 日本語
rm '日本語'
$ git st
# On branch master
#
# Initial commit
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       "\346\227\245\346\234\254\350\252\236"
nothing added to commit but untracked files present (use "git add" to track)
$ git add .
$ git ci -m "add file"
[master (root-commit) 34fc4d5] add file
 0 files changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 "\346\227\245\346\234\254\350\252\236"

まあとりあえずの所、表示関係でおかしくなってるだけで、ファイルの扱い方には障害は無いっぽいので、 あんまり害は無い感じですが。まあ他にもおかしいところがあるのかどうかはちょっとわかりません。

まあgit以外の所でおかしいところがあるのがどうかよく分かってませんが、 以前の環境と比べても問題がなさそうなので、このままいくつもりです。

ということで、今日はCygwinを1.7.1にアップグレードしたという話でした。

Firefoxを3.5.5にアップデートした

Posted at 2009-12-08T11:53:11+09:00 in Software

Firefoxを3.0.15から3.5.5にアップデート

今日Firefoxを使っていたら、Firefoxの更新通知に3.5.5がポップアップしていたので、 もうそろそろ3.5に移らないとね、ということでFirefoxを3.5にアップデートしてみた。

で、まず万が一アップデートして環境が破壊されると困るので、Firefox3.0.15時点のprofileをバックアップ。 その後ヘルプ->ソフトウェアの更新を確認でFirefoxをアップデートしました。

で、その後拡張等の互換性のチェックが入るわけですが、僕の環境では

  • Tab Mix Plus
  • Tango Theme(名前うろ覚え)

がFirefox3.5に対応していませんでした。

んで確かTab Mix PlusはFirefox3.0に移った時に、開発版を入れてそのままになってたので、 一旦アンインストールして、Firefox3.5以降にも対応した最新版をインストールしました。

で、次にテーマの方は、Tango系のテーマがGnomeFxしかなかったので、 Gnome Fxをインストールして、それを使うように変更しました。

であとまあ他のAdd-onsはFirefox3.5に対応していたので、その辺りはそのまま移行できました。

で、Firefox3.5.5に移行した感想。

体感としてはそんなに変化が無いかなーと思ってたんですが、 前と比べるとレンダリングが早くなったような気がします。 あとWWWC経由でタブを大量に開いたときも結構早く表示されていたような。

で、それは良いとして、イラストサイト巡回してイラストを保存していたときに気付いたんですが、 タブをエクスプローラーで表示したフォルダにドラッグアンドドロップしても、 保存されない!何故!となってました。

で、GoogleでFirefox 3.5 タブ ドラッグで検索したところ、 Mozilla Links 日本語版: タブの切り離し禁止と6個の Firefox 3.5タブトゥウィーク というページがヒット、で、試しに読んでみると、

Firefox 3.5ではタブをドラッグアウトして現在のウィンドウから単独のウィンドウに切り離すことが出来ます。 しかし、この機能が意図せず動作してしまうことがあったり、 タブをデスクトップにドラッグしてショートカットを作成する機能がなくなったことに気が付いたなら、 とても奇妙な名前の拡張機能: WhiteAlice0775 による bug489729 (Disable detach and tear off tab) をインストールすることが出来ます。

と書いてあって、拡張入れないと解決できない?と思ったんですが、さらに良く読んでみると

ちなみに、ショートカットはウェブページのファビコンをデスクトップにドラッグして、 ブックマークはブックマークメニューやツールバーにドラッグして作成できることを思い出してください。

と書いてあって、ようやくリンクの保存ができるようになった次第。 まあこのリンク保存できない問題解決するのに10分ぐらいかかりました。

でまあこの問題に遭遇した以外、特に問題なくFirefox3.5.5を使えています。

まあよっぽど古い拡張を使っていない限り、Firefox3.5にアップデートにアップデートしても問題は起きないと思うので、 Firefox3.0系列を使っている方はFirefox3.5にアップデートしてみてはどうでしょうか。

About Me

name
Naoki Okamura
nick
nyarla
contact
nyarla[ at ]thotep.net
Category
Log
Banners
Powered by
nim