Ubuntu 10.04 に最新版の firefox をインストール
はじめに
Ubuntu 10.04のfirefoxはデフォルトで3.6ぐらいまでしかバージョンアップされません。
それをなんとか最新版のfirefox 9にします。
アップデートして不具合が出ても責任は負えません。自己責任でお願いします。
Auduinoを使ってみる
簡単なHTTPサーバを作る
.NETではSystem.Net名前空間のHttpListenerクラスを
使うことによって簡易HTTPサーバを自作することができる。
HttpListener Class (System.Net) | Microsoft Docs
HttpListenerContext Class (System.Net) | Microsoft Docs
HttpListenerRequest Class (System.Net) | Microsoft Docs
HttpListenerResponse Class (System.Net) | Microsoft Docs
MediaTypeNames Class (System.Net.Mime) | Microsoft Docs
static void Main(string[] args) { string prefix = "http://*:34567/"; if (!HttpListener.IsSupported) { Console.WriteLine("Not Supported!"); return; } HttpListener hl = new HttpListener(); hl.Prefixes.Add(prefix); hl.Start(); while (true) { HttpListenerContext context = hl.GetContext(); HttpListenerRequest req = context.Request; HttpListenerResponse res = context.Response; res.StatusCode = (int)HttpStatusCode.OK; res.ContentType = MediaTypeNames.Text.Html; res.ContentEncoding = Encoding.UTF8; StreamWriter sw = new StreamWriter(res.OutputStream); sw.WriteLine("this is server program's response."); sw.Flush(); res.close(); } }
これで起動したクライアントのブラウザでポート34567番にアクセスすると、
this is server program's response. と表示される。
さらに実装例
- サンプルよりもさらに簡単な実装例
- http://d.hatena.ne.jp/Constellation/20100311/1268272374
- Nixysaと呼ばれるツールを使ったもの、コールバック処理
- Google グループ
NPRuntimeの実装例
- サンプルをちょっと改造した奴
- Working on an NPAPI-browser plugin - CodeProject
- NPAPIについて パート4まである
- http://colonelpanic.net/2009/03/building-a-firefox-plugin-part-one/
npruntimeのサンプルをビルド、実行してみる
npruntimeとは:
https://developer.mozilla.org/En/Gecko_Plugin_API_Reference:Scripting_plugins(英語)をみるべし。
要はFirefox、Google ChromeとかOperaで使われている外部プラグインであるNPAPIの機能の一つ。
これができると何が嬉しいかというと「Javascriptからプラグインを叩ける」ということ。
例えば、ブラウザを経由せずにファイルをダウンロードしたい、とかそういうときに使う。
プラグインの拡張子はWindowsだったら.dllファイル、Linuxだったら.so、Macは・・・しらん。
このプラグインのサンプルがFirefoxのソースコードにあるので、それを実際にmakeして動かしてみる。
環境はUbuntu 10.04でやります。Linux。
以下のページを参考にやりました。
http://www.cmiss.org/cmgui/wiki/BuildingSampleNpruntimePlugins(英語)
ソース、SDKのダウンロード
まずはFirefoxのソースファイル
ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/
をDL。
適当なバージョンを選んで、sourceディレクトリを見つけてOSに併せてDL。
自分はバージョン3.6.20を選びました。
また、SDKもDLしておく。(いるのか不明)
Gecko SDK - Mozilla | MDN
これもOSにあわせて。自分はGecko 1.9.2 (Firefox 3.6)のLinux i686を選択。
下準備
ビルドの前に以下をインストールしておく。(不要かも)
sudo apt-get install auto-make
sudo apt-get install libdbus-glib-1-dev
sudo apt-get install libcurl4-gnutls-dev
ビルドの準備
ソースとSDKを適当なディレクトリに解凍。とりあえずホームが無難。
次に解凍したmozillaのディレクトリに行き、
toolkit/toolkit-makefiles.shを編集。
MAKEFILES_pluginのグループを見つけて以下の行を追加。
$ cp browser/config/mozconfig .
http://d.hatena.ne.jp/uniker/20070427/1177654300
んで、SDKのディレクトリを指定してconfigureする。
$ ./configure --with-libxul-sdk=解凍したSDKのディレクトリ
$ ./configure