[Android]DNSを設定する2

前回の[Android]DNSを設定するでは、Androidエミュレータを起動した後に設定する内容だったのですが、

今回は、エミュレータ起動時のパラメータで指定する方法を紹介します。
[shell]emulator -avd [emu名前] -dns-server 192.168.1.1[/shell]

[VMware]VMwareのゲストOSをサスペンド&レジュームしたときに、任意の処理を走らせる

VMware Playerなどで、別のOSをインストールして使用している場合、

環境によってはレジュームで復帰したタイミングで処理を走らせたい場合がある

たとえば、UbuntuをゲストOSとした場合で、
apacheのdocrootを/mnt/hgfs/(ホストOSのフォルダを共有)で共有したディレクトリに指定してたりする場合、apacheの再起動が必要になる。

このような場合、

/etc/vmware-tools/scripts

ディレクトリにresume-vm-default.d

というディレクトリを作成し、この中にスクリプトを作成すると実行することが出来る。

もう少し詳しく解説すると、

/etc/vmware-tools/scripts のディレクトリには、すでにvmwareというディレクトリが存在する

この中にはnetworkというスクリプトがあり、これはレジューム時にネットワークを再接続する。

また、resume-vm-default.dというディレクトリ(デフォルトでは作成されていない)はレジューム時に実行されるスクリプトを格納する

ほかに、

  • poweron-vm-default.d
    電源ON時に実行するスクリプトを格納
  • resume-vm-default.d
    レジューム時に実行するスクリプトを格納
  • poweroff-vm-default.d
    電源OFF時に実行するスクリプトを格納
  • suspend-vm-default.d
    サスペンド時に実行するスクリプトを格納

というディレクトリが使うことが出来る

[Android]エミュレータのhostsファイルを書き換える

エミュレータのhostsファイルを書き換えます。

まずは、エミュレータを起動します。
[shell]emulator -no-snapshot-load -avd ARROWS-X-LTE -partition-size 256[/shell]
起動したら、リマウント
[shell]adb remount[/shell]
続いて、/systemに書き込み権限を与えます。
[shell]adb shell mount[/shell]
mountコマンドを実行すると、マウントポイントの一覧が表示されます。
[shell]rootfs / rootfs ro 0 0
tmpfs /dev tmpfs rw,mode=755 0 0
devpts /dev/pts devpts rw,mode=600 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
none /acct cgroup rw,cpuacct 0 0
tmpfs /mnt/asec tmpfs rw,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,mode=755,gid=1000 0 0
none /dev/cpuctl cgroup rw,cpu 0 0
/dev/block/mtdblock0 /system yaffs2 rw 0 0
/dev/block/mtdblock1 /data yaffs2 rw,nosuid,nodev 0 0
/dev/block/mtdblock2 /cache yaffs2 rw,nosuid,nodev 0 0
/dev/block/vold/179:0 /mnt/sdcard vfat rw,dirsync,nosuid,nodev,noexec,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/block/vold/179:0 /mnt/secure/asec vfat rw,dirsync,nosuid,nodev,noexec,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
tmpfs /mnt/sdcard/.android_secure tmpfs ro,size=0k,mode=000 0 0[/shell]
マウントポイントの一覧から、/systemを見つけます。

そうしたら、/systemを書き込み権限付きでマウントし直す。
[shell]adb shell mount -o rw,remount /dev/block/mtdblock0 /system[/shell]
次に、hostsファイルの書き込み権限を変更します。
[shell]adb shell chmod 666 /system/etc/hosts[/shell]
hostsファイルを取得します。
[shell]adb pull /system/etc/hosts[/shell]
hostsファイルを編集

hostsファイルをアップします。
[shell]adb push hosts /system/etc[/shell]
 

サーバメンテナンス

平素よりGENDOSU@NETをご利用いただきありがとう ございます。

この度、サーバメンテナンスを実施いたします。

2012年1月27日(木)PM4:00より
2012年1月27日(木)PM22:00まで

お客様には大変ご迷惑をおかけいたしますが、ご理解の程、よろしくお願い申しあげます。

[Ubuntu]Ubuntu 11.*のディスクトップなどで、ウィンドウの境界線が細いので太くする

Ubuntu 11を使用していて、ウィンドウを拡大しようとしたときにすごくストレスがかかる。

境界線1pxって、掴めない!!!

ということで、境界線を少し太くしてみます。

Ubuntu 11だと、ディスクトップのテーマが

Ambiance

のようなので、

/usr/share/themes/Ambiance/metacity-1/metacity-theme-1.xml

というファイルを開く。

[xml]
<distance name="left_width" value="1"/>
<distance name="right_width" value="1"/>
<distance name="bottom_height" value="1"/>
[/xml]

という項目を

value=”4″位に設定する。

ログインし直す。

[Android]ARROWS X LTEをadbで接続する

先日、携帯をARROWS X LTE(F-05D)に買い換えたので、その携帯でAndroid開発をすべく、adb接続させた時のログ

まず、買ってきた当日、データ移行のために何も設定をいじらずにPCに繋いでみた。

すると、何もエラーもなく繋がった。

MicroSDをマウントするときは、
ARROWSの方で通知エリアにUSB接続という項目が出るので、ここを押してマウントする。

が、今回はadb接続なので、ARROWSの方で、USBデバッグをONに設定する。

手順は、まず、

  • ドライバをダウンロード
  • ドライバは、http://developer.android.com/ の中のSDKページで、「OEM USB Drivers」をクリック
  • Fujitsu のところのURLをクリック
  • F-05Dのドライバをダウンロード
  • 適当な場所にドライバを展開しておく
  • ARROWSをUSBから外す
  • メニューの「本体設定」-「アプリケーション」-「開発」-「USBデバッグ」をONにする
  • USB接続する
  • PCにドライバのインストールをするメッセージと、それに続いて(おそらく)ドライバが見つからないというメッセージが出る
  • デバイスマネージャからARROWSのデバイスを探し、ドライバの更新を行う
  • ドライバは、先ほどダウンロードした物を選択
  • adb_usb.iniの編集
    C:\Documents and Settings\<ユーザー>\.android\adb_usb.ini
    を開き
    0x04C5
    という行を追加。
  • adb再起動
    adb kill-server
    adb start-server

場合によっては、ドライバのインストールメッセージと、ドライバが見つからないというメッセージが出ない場合がある。

このような場合、ARROWSが大容量記憶装置として認識されてしまっている。
確認方法は、USBの外部メモリ類はすべて外しておく
ARROWSを繋ぐ
すると、デバイスマネージャのユニバーサルシリアルバスコントローラのところに
USB大容量記憶装置というのがある

このような場合、このUSB大容量記憶装置をデバイスマネージャから削除してARROWSをつなぎ直すと、正常に(?)ドライバが見つからないというメッセージが出る

その後、上の手順でドライバを更新することでadb接続ができるようになる。

「ママでちゅよ~」使用記

Androidアプリ「ままでちゅよ~」ですが、

ここだけの話、作った本人が使っていなかったと言う事も含めて

ちょっと冷え気味だったのですが

ここ1週間、やっと使う機会が訪れました。

我が子は、6ヶ月目で、そろそろミルクではなく夜泣きで起きるような時期になり

実際夜起きるようになってきました。

妻も寝かせるのが大変だと言う事で、とりあえず「ままでちゅよ~」をセットしてみました。

一応、マイクモジュールをアクティブにするアプリなので、バッテリーを心配して、配線をしつつ

絡まってしまわないように柵に結びました。

Android本体も間違えて変なボタンを押さないように柵と布団の間に挟みました。

2時、5時付近に起きてた我が子ですが、セットしてからは何故か朝まで寝てくれてます。

ままでちゅよ~」には、発動した時間が記録されているので、それを確認すると

2時と5時(日によってちょっと違いますが)に起きて、「ままでちゅよ~」が発動したことが記録されていました。

ままでちゅよ~」は、一応w効果があるというのが、1週間の使用ですが証明されました。

ですが、これですべてのお子様に効果があるという保証ではございません。

関連リンク

[Ruby on Rails]バッチ処理のrbをテストする方法

バッチ処理として書いたrbファイルをテストする場合

テストケース内で

[ruby]system("ruby バッチファイル")[/ruby]

としても良いが

たとえばTimecopで日付を固定してテストする場合には具合が良くない。

バッチのプロセスが別プロセスで動くため、Timecopの設定がバッチに反映されない。

なので

systemで呼び出している部分を

[ruby]load "バッチファイル"[/ruby]

というように、loadに変えると、そのバッチ処理が都度ロードされるので

テストを実行しているプロセス内でバッチファイルが実行される形になる。

[Ubuntu]dpkg -lで出力されるリストにある「rc」ステータスについて

dpkg -lで出力した結果にrcと付いているパッケージがあったりする

パッケージ自体は削除されているのに、rcが付いて一覧に出てくる状態。

これは、削除されているけど設定ファイルが残っているという状態で

設定ファイルも削除するには
[shell]aptitude purge [パッケージ名][/shell]
とすることで、削除することが出来る

[Ruby on Rails]Date.todayとかを使っている箇所をテストする方法

日時によって表示項目を制御したりする場合に、よくDate.todayとかDateTime.nowとかを使ったりすると思うが

このシステム日時を取得している場所のテストをうまく実行したい場合に役に立つプラグインが

Timecop

です。

ようは、Date.todayとかで返ってくる日時を固定してしまうというプラグイン。

インストールは

Rails2.*系であれば、config/environments/test.rbあたりに

[text]config.gem ‘timecop’, :version => ‘= 0.3.4′[/text]

を追加し、rake gems:installを実行

テストケースでは

たとえば、2011年10月04日に固定したい場合には

[ruby]Timecop.travel(Date.new(2011,10,4))[/ruby]

とすると、これ以降、Date.todayは2011年10月04日を返すようになる。

日付の固定を解除したい場合は

[ruby]Timecop.return[/ruby]

を実行する