Apelog

Ubuntu7.10の使用メモ

Ubuntu7.10を使ってみて、結構実用に耐えてくれそうなのでしばらくUbuntuで作業してみることにした。以下メモ。

  • CompizFusionのアプリケーションスイッチャがONだとウィンドウ枠が消える → ミニマップ、アイコン、最小化辺りを外せば大丈夫っぽい。
  • [CompizeConfig] → [Action] → [Optical Setting]でターミナル透明にして透かせてコマンド入力良い。
  • 64bit版だとAll-in-one系Eclipse(3rdRail、PDT、Aptana)が動かない。32bit版のgtk関連のライブラリを強引に入れるか読み込み外せば動くらしい。

というわけで、vim.railsを使ってみることにする。ランチャはKatapultにした。

ウノウラボ Unoh Labs: PHPで暗号化・復号あれこれ
に暗号化の話が出ていたので、追記する形で他にいくつか。

同じ記事を書いていた前のBlogが消えてしまったので流し書き程度に。

gnupg 関数

PHPからOpenPGPであるgnupg 関数を利用して鍵方式の暗号化がおこなえます。

gnupg関数を使用する為にPECLのgnupgモジュールが必要。

速度的にも以降の方法に比べて早い。PGP暗号化では一番最初に検討したい。

PEAR::Crypt_RSA

PEAR::Crypt_RSAパッケージで公開鍵暗号がおこなえる。

GMP, BigInt, BCMathの3種類が使え、速度は(GMP>BigInt>BCMath)でGMPを基準として(1倍>5倍>250倍)遅い。暗号化するものが少なければ問題無いものの、多くなると速度以外でも色々と問題がある。

動作環境はDebian / PHP5.2.0 / Crypt_RSA 1.2.0bで確認。

  • GMPを使うと暗号化時にメモリリーク(PHP自体)、復号は大丈夫。
  • BigIngを64bit環境で使うと暗号化できない(空文字になる)。

PEAR::Crypt_RSAを使うしか選択肢が無い状態で、3000レコード(1レコード1M)ほどのデータを各行暗号化してDBに入れ、しばらくして復元した時、テスト環境が32bitの本番環境が64bitで泣いた記憶があるので(結局分割してバックグラウンドでGMPで暗号化した)、そもそも環境が違うなんて・・・というのはおいておき、もしかしたら特有の問題かもしれませんが似たような環境で使う人は注意

exec()でgpgコマンドを叩く

http://www.alt-php-faq.org/local/65/

もしかすると幾多もの外的要因によりこういった方法を選択せざるを得ない時もあるかもしれない。GnuPGが必要なのでインストールしておく。

とても重いので頻度が少ないならまだしも、多くなると実用には耐え切れない。既にGnuPGが入っている状態なら何も必要無いのでそういう点で利用は出来るかもしれない。

Windows Installer形式でUbuntu(jp)をインストールでき自動的にデュアルブート環境にしてくれるWubiにてインストールしてみた。

最終的な目的はWindowsXPとUbuntuのデュアルブート環境構築、Ubuntu日本語環境、3Dデスクトップの導入

Wubiの原理はVMのようにNTFS上に大きなファイルを作りそれを使用する。メリットは手軽、Windowsドライブのマウントが楽。デメリットはNative Ubuntuに比べると若干遅い、パーティション切れない。速度的面は以下のスペックでは全く問題無し。Native Ubuntuが何とか動くスペックでは厳しいらしい。

  • CPU: AMD Turion(tm) 64 X2 Mobile Technology TL-50 (1.6GHz)
  • メモリ: 2G
  • HDD: 80G (Ubuntu割り当て15G)
  • グラフィック: ATI Radeon Xpress 1100

OSの環境は以下。

  • WindowsXP SP2
  • Ubuntu 7.10

WindowsからUbuntuをインストール

WubiのBetaはUbuntu7.04用なので7.10をインストールするためにWubi/develから最新のものを使う。今回使用したものはWubi-7.10-alpha-rev386。

起動させれば自動的にCDイメージのダウンロードが始まる。ダウンロードは遅い場合が多いので、先にダウンロードしておいても可。その場合はWubiと同一ディレクトリにisoを置けば良いらしい(未確認)、DaemonToolで仮想CDとしてマウントすればそこから読んでくる。ローカライズ版isoだと途中でインストールが止まったのでダウンロードするisoはWubiが落としてくるものを推奨。インストール言語は日本語。

用意が出来て再起動すれば、WindowsとUbuntuの起動選択画面になるのでUbuntu-linuxを選択。あとは自動的にインストールが進んで再起動するので、もう一度Ubuntu起動させればログインできる。インストールはこれで完了。インストール後は日本語入力が出来いが無視(SCIM未起動)。

Ubuntuを日本語環境に

[システム]→[設定]→[キーボード]→[レイアウト]で使用するキーボードの型式を選択。レイアウトにJapanを追加しデフォルトに設定。

Ubuntuの日本語ローカライズ版であるubuntu-desktop-jaを入れる。
Japanese Teamによる追加パッケージの利用方法

$ sudo vi /etc/apt/sources.list

以下2行を追加

deb http://archive.ubuntulinux.jp/ubuntu-ja gutsy/
deb http://archive.ubuntulinux.jp/ubuntu-ja gutsy-ja/
$ sudo apt-get update
$ sudo apt-get install ubuntu-ja-keyring
$ sudo apt-get update

上記だけだと色々パッケージが見付からないと言われるので、とりあえずリポジトリのコメントアウトを除去する。

$ sudo vi /etc/apt/sources.list

#deb http://jp.archive.ubuntu.com/...
↓
deb http://jp.archive.ubuntu.com/...

#deb-src http://jp.archive.ubuntu.com/...
↓
deb-src http://jp.archive.ubuntu.com/...

ローカライズパッケージインストール

$ sudo apt-get update
$ sudo apt-get install ubuntu-desktop-ja

[システム]→[設定]→[SCIM入力メソッド設定]→[全体設定]のキーボード配列を「日本語」に変更。

再起動後、日本語入力出来る事を確認(Shift-Spaceで切替)、出来なければSCIMが立ち上がってないので端末から起動させて確認する(自動起動は後で設定)。

$ scim

これで日本語環境の設定は完了。必要なら[システム]→[システム管理]→[アップデート・マネージャ]でアップデートしておく。

2007-11-25 22:45追記GUIでファイル名変更時にキー入力を受け付けないので、以下の方法で入力方法を変更。

  1. ファイルクリック → F2
  2. 名前欄右クリック
  3. 入力メソッド → SCIM Input Methodを選択

3Dデスクトップ環境「Compiz Fusion」を設定

Ubuntu 7.10 Gusty には標準で Compiz Fusion が入ってるので Beryl はいりません。Compiz Fusionってのは Compiz に Beryl を統合させたものだそうなので。

Ubuntu 7.10 Gusty の Compiz Fusion で 3Dデスクトップ

上記引用元の解説の通り[システム] → [システム管理] → [制限つきドライバの管理] → [ATIの高性能グラフィックドライバ]→有効にするでドライバを入れる。リポジトリのコメントアウトを元に戻しておくとパッケージが見付からないと言われたので解除しておく。

設定変更用パッケージを入れる

$ sudo apt-get install compizconfig-settings-manager emerald

[システム] → [設定] → [外観の設定] → [視覚効果] → [設定変更]で必要に応じた設定に変更。

ここで「The Composite extension is not available」というエラーが出たので、以下をインストール後再起動で解決。

$ sudo apt-get install xserver-xgl

Ubuntu日本語フォーラム / The Composite extension is not availableとでてしまいます。

SCIM自動起動

ローカライズパッケージインストール時にSCIMが自動起動するようになっていたはずが、Compiz Fusion動かすと何故か無効になっていた。

[システム] → [設定] → [セッション]→[自動起動するプログラムから追加をクリックし、名前・コマンドに「scim」、説明に「input method」と入力し追加。

再起動し立ち上がっている事を確認。

日本語入力ONにするとなにかとクラッシュ問題

[システム]→[設定]→[SCIM入力メソッド設定]→[全体設定]の「全てのアプリケーションで同一入力メソッドを使用」のチェックを外すか、$GTK_IM_MODULEをscim-bridgeに変更する。

$ export GTK_IM_MODULE=scim-bridge
$ echo $GTK_IM_MODULE
scim-bridge

Ubuntu日本語フォーラム / Firefox クラッシュ on 7.10

これで当初の目的は完了。今のところ問題なく使用できているのでしばらく様子見。

Ruby on Railsで共同開発をしようということになり、以前RoRのインストールだけはしたものの以降触ってないのでこれを機にRuby・RoRの勉強も兼ねて開発に参加してみる。

http://www.aptana.com

開発環境としてEclipseのRedRailsプラグインを使おうとしていたら、EclipseベースのAptana Studioというものが公開されていた(10/30にversion1.0)ので使ってみる事にする。あと、Aptana StudioのPHPプラグインをちょっと使ってみたかった。

Aptana Studioインストール

公式サイトからコミュニティ エディションをダウンロード。プロフェッショナルエディションはJSONエディタ、IEデバッグ機能、リモートプロジェクト作成機能、FTPS/SFTPサポート、レポートエンジン機能が使えて、優先サポートと最新開発版へのアクセスが可能らしい。

Aptana StudioはEclipse3.2ベースらしいのでPleiadesで日本語化する。ファイル名がEclipseとは違うのでPleiadesの設定はAptana.iniに書き、Aptana.exeを-cleanオプションで起動する。

Aptana.iniの最終行にdefault.splashを付けないと起動ロゴが変わる。

-name
Aptana
-vmargs
-Xmx384M
-Xms128M
-Djava.awt.headless=true
-XX:MaxPermSize=128m
-javaagent:plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar=default.splash

起動後、[ヘルプ]→[Aptana開始ページ]からPHPとRuby on Railsをインストール。RedRails(0.9.1)も問題無く日本語化されている。RedRailsはMylyn用のプラグインもあったりするので必要なら入れておくこと。

SVN用にSubversiveと、半角スペースが見えないエディタは嫌なのでJStyleもインストール。

設定

[ウィンドウ]→[設定]→[Rails]→[構成]でRailsとRakeのパス指定する。mongrel_railsを使いたい場合はここでパスを指定する、使わなければ空欄。

svn checkoutするなり、新しいRailsプロジェクトを作るなりで「RedRailsパースペクティブ」を開く。デフォルトで下部にあるサーバータブの追加ボタン(最小化ボタンの左)を押しプロジェクトで使用するサーバー・ポート・環境を指定。

この状態でサーバーの開始・停止、ジェネレーター、Rake、コンソール(script/console)がAptana Studioから使える。

http://image.blog.livedoor.jp/apecell/imgs/c/7/c73b18a5.png

とりあえずこんな感じで開発スタート。rails.vimも使ってみたいけど、とりあえずこれで。まずはRubyの書き方に慣れないと開発効率以前の問題かな。

PHP用のプラグインは、定義ジャンプも無いし補完も変数レベル(メソッドは無理)なので使う理由は今の所無さそう。

jQueryで使えるCSSセレクタを動的に確認できるサイトの紹介。

http://image.blog.livedoor.jp/apecell/imgs/5/d/5d912744.JPG

jQuery1.2.1(現時点で最新版)のセレクタを入力し、選択されたノードの背景をハイライトする。

複雑な選択対象が必要なら「Markup to test against」の内容が変更可能なので変更すればいい。

jQueryはいくつかの独自拡張セレクタも使う事が出来るので、使用可能なセレクタはjQueryマニュアル – API/1.2/Selectorsを見ながら試せばとても快適です。

快適なノード選択ライフを貴方に、jQuery。

Interactive jQuery selector tester
http://www.woods.iki.fi/interactive-jquery-tester.html