« 2011年4月 | トップページ | 2011年6月 »

2011年5月

2011/05/24

Ubuntu11.04のシステムモニタのハック

WEB UPD8の記事に以前に書いたNattyのメニューバーにCPU使用率やメモリ使用量を表示させることが出来るindicator sysmonitorを用いてネットワーク速度を表示させるハックが載っていた。

これでConkyが無くても完全に大丈夫だろう。自分はメモリ使用量を消してCPU負荷とネットワーク速度を残してみた。非常に良い感じ。

ただ、説明ではホームフォルダの直下にscriptのディレクトリを作ることになっている。ただでさえ混雑しがちなホームフォルダの下をこれ以上混雑させたくなかったので、.config以下に持っていった。

mkdir -p ~/scripts && cd ~/scripts

となっていたのを

mkdir -p ~/.config/sysmon && cd ~/.config/sysmon

として、Systemmonitor のPreferenceを

$HOME/.config/sysmon/sysmon

としただけだけど。あ、

gedit ~./config/sysmon/sysmon

で、ram をコメントアウトするのを忘れないように。さすがに全部表示させるとEeePCの狭い画面だと煩わしい。

2011/05/13

Glad3とpythonでのストップウォッチ

これまでstopwatchというアプリを使っていたのだけど、どうもこれが11.04になってからEeePC上では動きがカクカクしているというかスムーズでない。動きがスムーズでないのはtkを11.04で処理する上でのバグに近いのではないかと思うのだけど、それ以外にもtkで作られているアプリの表示が非常にみすぼらしい。
しかしUbuntuで利用できるストップウォッチはこれくらいしかないみたいだ。他に見つけたものもキー操作でスタート・ストップが出来るものがなくて使いにくい。で、既存に無ければ作ってしまえばいいじゃない(C マリー・アントワネット) ということで、作ってみた。

参考にしたページ:
PyGTK: Stopwatch
gstpw
pygtk FAQ
pygtk Tutorial

基本路線:

  • コードはpythonで。Unity環境で動かすのだからgtkを利用する。
  • GUIはGLADE3を使って構築。GUIの構築コードをpythonと分離する。
  • stopwatchと同様にキーボードから開始、停止、クリア等の操作が出来るようにする。
  • 高機能のものは要らないけど、ラップタイム計測位は欲しい。
  • ラップタイム計測の履歴も見たいかな

実現ポイント:

  • timerにはGObjectを使用する。セットはg_id = gobject.timeout_add(10, self.count) だけ。停止させるにはg_id=0にするだけと超簡単。この例だとカウント精度(?)は10msecを指定。EeePC位の非力なPCにはこれ位でないときつい。
  • キーボードショートカットはdef on_MainWindow_key_press_event(self, widget, event):で指定。event.keyvalに入力されたキーが来る。
  • GLAD3で構築したGUIのpythonへの導入は、builder = gtk.Builder()以下の3行が必須。後は必要なインスタンスだけbuilder.get_objectで取得しておく。

現状の問題点

  • 履歴の表示にGtkTextViewを使っただけど、こいつがキーボードからのコピーペーストをうまく出来ない。どころかCtl+Cを押すと履歴が消える始末。一応マウスの右クリックからのコピペは出来るのだが。FAQを見て解決出来そうなのでやってみる予定。
  • メニューバー作っていない。自分には必要ないのだが、勉強のために追加してみる予定。
  • stopwatchのフル互換にはなっていない(Total Lapが分かれていない)。これについてはあまり変更の必要を感じていないので、現状のままという公算が高いかな。

出来上がりはこんな感じ。

Screenshotgtkstopwatch

キーボードからの操作は、
s:開始/停止、z:カウンタリセット、c:履歴のクリア
だけ。

必要パッケージ:
python-gtk2 python-glade2
後は多分デフォで入っているはず。Glad3のファイルを自分で読みたい場合には当然glade3のインストールが必要。
xmlファイルなのでテキストエディタでも開けるけど、理解できるかどうかは別。

以下コード。まずGlade3のファイル。gtkstopwatch.glade

pythonのコード。gtkstopwatch.py

2011/05/02

Unity?? Unity!! ※5/6追記

ということで、Ubuntu11.04(Natty)です。EeePC(1002HA)はやっぱりArchではなくUbuntuな子になることになりました。Unityおもしろいです。Linuxもここまで来たんだなぁ、と感慨ひとしお。インターフェイスに他のOSからのパクリいいとこどりな部分もあるけど、使いやすければそれが正義だよね。

SSD化したので、アップグレードではなく新規インストール。いつものお約束でリリース直後はいろいろ怖いので10.10のHDDはそのまま残せた方が安心できるし。

  1. 何はともあれバックアップ
  2. 今回は/etc以下をいじってあるのはfstabだけだったので、home/以下だけをN2200にコピー。

  3. インストール用のUSBを用意

  4. オフィシャルのHPより32bit desktopのisoイメージをダウンロード。1GByte以上のUSB又はSDメモリカードをEeePCに挿し込み、システム設定より「スタートアップディスクの作成」を選ぶだけ。Windowsから作成する方法もHPに載ってますね。

  5. BIOSの起動順番を変更

  6. この辺に書いてある。起動したら、言語に日本語、Ubuntuのインストールをクリック。

  7. インストール中にやるべきこと


    • 注意書きにもあるようにネットには常時接続出来ている環境で。

    • いつものように、インストール中にアップデートをダウンロードするとサードパーティソフトのインストールにはチェック。

    • パーティション分割は自動。たまにSSDとLinuxの組み合わせでスワップを作らないという人を見かけますが、ハイバネーションを使えなくなる等のデメリットが大きすぎに思える。そもそもメモリを十分に積んでいればスワップにアクセスに行くこともない訳で、まずはメモリをちゃんと積みましょうってことですね。スワップに使うSSD容量がもったいないというのはなしで。自分は120Gなのでそもそも余ってるけど。

    • 時刻に東京、キーボードにJAPAN、OADG 109Aを選択するだけで、後は待っているだけ。

    • インストールが終わったら、USBの起動順位を落として起動すればOK。

  8. インストール後

  9. 毎度おなじみホームフォルダの名前変更。ターミナルから

    LANG=C xdg-user-dirs-gtk-update

    次にSSD&ノートPC用にチューニング。以前の記事に加えて、SSDのために/etc/fstabの/マウントポイント行にnoatimeオプションを追加。

    /dev/sda1       /               ext4    noatime,errors=remount-ro 0       1

    良く使うアプリケーションのインストール。

    sudo apt-get update
    sudo apt-get upgrade
    sudo apt-get install vlc gimp leafpad ibus-mozc meld calibre parcellite ebview
    sudo reboot

    vlc:動画再生、gimp:画像処理、leafpad:文字コード認識に優れている軽量エディタ、ibus-mozc:google日本語入力のオープンソース版、meld:差分エディタ、calibre:電子書籍管理、parellite:クリップボードマネージャ、ebview:辞書ビューア。
    再起動したら画面右上のiBusインジケータから日本語インプットメソッドのmozcを追加し、一番上に持っていく。

  10. jupiterのインストールとUnityへの適用

  11. まずインストールのためにppaを登録し、インストール。

    sudo add-apt-repository ppa:webupd8team/jupiter
    sudo apt-get updat
    sudo apt-get install jupiter jupiter-support-eee

    次にJupiter作者Fewt氏の記事にあるようにUnityで使えるようにスクリプトを用意。

    gedit whitelist

    次の内容を記述して保存。

    #!/bin/bash
    SCHEMA="com.canonical.Unity.Panel"
    OBJECT="systray-whitelist"
    APP="$1"
    if [ ! "$(gsettings get $SCHEMA $OBJECT 2>/dev/null || echo FALSE)" = "FALSE" ]; then
      echo "Whitelisting $APP to work around flawed distribution design.."
      OBJARRAY=$(gsettings get $SCHEMA $OBJECT | sed -s -e "s#\['##g" -e "s#', '# #g" -e "s#'\]##g")
      if [[ "${OBJARRAY[@]}" =~ "$APP" ]]; then
        echo "$APP already whitelisted, skipping"
      else
        OBJARRAY=("${OBJARRAY[@]}" $APP)
        OBJARRAY=$(echo ${OBJARRAY[@]} | sed -s -e "s# #', '#g")
        OBJSET="['"$OBJARRAY"']"
        gsettings set $SCHEMA $OBJECT "$OBJSET"
      fi
    else
      echo "This is not a Canonical \"designed\" product."
    fi

    次にJupiterを今保存したスクリプトでUnityで使用できるようにする。

    chmod 755 whitelist 
    ./whitelist Jupiter

    再起動したら、これまで通りJupiterが使えるようになっているはず。

Unityを使っていて、これまでより設定に対するアクセスが面倒になっているので、Docに設定を登録してしまうのがオススメかな。普段使用頻度が高いツールはDocに登録してしまうというのが基本になると思う。この記事もNattyで書いているんだけど、SSD化したことも相まってとても快適。Unityいいよ!!

※ただしまだバグは残っているので、リリースノートをきちんと読んで自分に関係ないバグしかないことを確認してからアップデートね。後数日経てば日本語Rimixも出てくるだろうし、新規インストールな人はそこまで待つほうが実際にはオススメかな。

※5/6追記
日本語Rimixが出たので、日本語Rimixと同様の設定を行う。

wget -q https://www.ubuntulinux.jp/ubuntu-ja-archive-keyring.gpg -O- | sudo apt-key add -
wget -q https://www.ubuntulinux.jp/ubuntu-jp-ppa-keyring.gpg -O- | sudo apt-key add -
sudo wget https://www.ubuntulinux.jp/sources.list.d/natty.list -O /etc/apt/sources.list.d/ubuntu-ja.list
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install ubuntu-desktop-ja

後はSynapticを開いて、natty-non-freeのソースからipaモナーフォントとadpbe readerをインストールした。が、adobe readerのメニューが正しく表示されない(文字が表示されない)。とりあえずEvinceがあるので困っていないけど、どうしたものか。
*追記 日本語フォーラムに情報があった。バグらしい。envをいちいち打ってReader起動するほどReaderを愛していないので、当分Evinceをデフォルトアプリに戻すことを継続する。

また、Japanese Teamの説明に、ubuntu-desktop-jaのインストール前に言語設定に日本語が入っていることを確認とある。自分の場合には入ってはいたのだが英語より下位にあって有効化されていなかったので、これを有効化してしまった。
が、これだとアプリケーションの文字が汚いものに変わってしまった。これを解消するには

ln -s /etc/fonts/conf.avail/69-language-selector-ja-jp.conf /etc/fonts/conf.d/

が必要だった。

ついでにCPUとメモリのモニタをUnityのIndicatorで表示してくれるアプリを見つけてインストール。便利。

sudo add-apt-repository ppa:alexeftimie/ppa
sudo apt-get update 
sudo apt-get install indicator-sysmonitor

起動はdashからindicator-sysmonitorで。

EeePCのメモリ増設とSSD化

Ubuntu11.04(Natty)が来るタイミングでSSD化はするつもりだった&前回の高速化を無理なく行うためについでにメモリを買った。

機種:
EeePC 1002HA

買った物:

  • CSSD-SM120NS1Q
  • Baffaloの子会社であるCFD販売のSATA2な120GByte容量のSSD。TWOTOPのGWセールで¥14,934。 SATA2しか持っていないEeePCにはSATA3なSSDは猫に小判なのでこれで十分。INTELの80GByteとほぼ同価格で迷ったけど、SSDは容量が大きい方が寿命も長い訳でこっちに。今の所非常に満足してる。

  • ノーブランド 200PIN SODIMM PC2-5300 2GB

  • TWOTOPでSSDをポチッとしたついでに購入。¥2,734。ノーブランド嫌う人も居るけど、個人で使ってて問題になったことはないし。今の所無問題。

交換方法はどちらも筐体裏側のビスを外せばアクセス出来るので非常に簡単。前回のチューニングと相まって起動時間は30秒近くかかっていたのが今では10秒程度に。/etc/fstabの記述等は11.04(Natty)のインストールにまとめようと思う。

« 2011年4月 | トップページ | 2011年6月 »