2013/10/26

Ubuntu 13.10へのアップグレード

Ubuntuのアップグレード実施


13.10へのアップグレード通知がきていたのでアップグレードしてみたところ、いくつかトラブルがあったのでメモ。
  • GUIでログインすると操作不能
  • IBusの仕様変更
  • Chromiumでの拡張機能動作不良
  • ディスプレイのスリープ不可

GUIでログインすると操作不能

ログイン画面でパスワードを入力すると13.04で使用していたユーザでログインはできる。
しかし、その後は背景画像とマウスカーソルが表示されているだけでそれ以外には何も表示されない。

マウスをクリックしても特に何も起きない。
もちろんキーボード入力も意味がない。(NumLock On/OffでLEDは点灯消灯するので、生きてはいる) 

また、Ctrl-Alt-F2 で別のコンソールに切り替えても、ディスプレイ上の表示は変わらない。
ただ操作自体はできているようで、(目隠し状態で)ログインして shutdown -h now 等実行することは可能だった。 

ちなみに、試しに他のマシンからSSHでログインしてみたところ、通常通り操作可能。
SSHでログインして.xsession-errorsを見ると、init: dbus pre-start terminated status 2といったことが書かれていた。(細部はうろ覚え)

 もう他に打つ手が思いつかなかったので、試しに別のユーザを作成してログインしてみた結果…
ふつーに表示できている!(何故?) 
これはどこかの設定がおかしいのだろうと思い、事象が発生しているユーザの設定系を全部renameしてみた。
しかし、状況は変わらず。

手詰まりになってしまったため、新しいユーザに古いユーザの設定をすべて移行してこちらを使うことにした。

IBusの仕様変更

上記のトラブルを乗り越え13.10を使い始めたものの、早速次のトラブルに遭遇。
日本語入力はどうやるの?

IBusの設定を見ても、以前あった日本語入力ON/OFFキーの設定がなくなり、次のインプットメソッドだけになっていた。
ちなみに、この次のインプットメソッドの設定はmozcやAnthyといったインプットメソッドを切り替えるキーの設定で、日本語入力ON/OFFを行うキーではない。

どうやら、Ubuntu 13.10に入っているIBus 1.5は以前と仕様が変わってしまった模様。

当座の解決策としては、インプットメソッドとしてmozcやAnthyを選択した状態のままにしておくこと?
とりあえず、mozcやAnthyが選択されていれば全角半角で日本語入力ON/OFFを切り替えられた。
アイコンは変わらないので入力するまで日本語入力が現在ON/OFFどちらなのかわからず、使いづらいが…

なお、IBusの代わりにFcitxを使うという解決策もあるらしいので、乗り換えようか検討中。

Chromiumでの拡張機能動作不良


Chromiumの拡張機能のうち、表示されている要素を書き換える系のものがうまく動いていない。
例えば、通常Adblock Plusでブロックされた要素は非表示となるハズだが、現在は(画像の読み込みはブロックされているが)要素そのものは残っている。

何かの設定が影響しているのかと思っていじっているが、今のところ原因不明。

このままでは使い勝手が悪いので、メインのブラウザはFirefoxに戻した。
ただ、最近はAndroidからPCへURLを送るphone2chromeという拡張機能をよく使っていたので、Firefoxでそれ相当の拡張機能を探さなきゃいけないのがちょっと面倒…

(追記)
しばらくぶりにchromiumを使ってみたら、Adblock Plus等が問題なく使えるようになっていた。
このときになぜ使えなかったのかは相変わらず不明。

ディスプレイのスリープ不可


ディスプレイがなぜかスリープしない。
原因はなんだろう?

2013/10/07

CEATEC2013

CEATECへ行ったので、感想をつらつらと。

全体的に

数年前からだいぶ元気がない感じだったが、今年もそこまで回復してない印象。
去年/一昨年はHEMSとかのエネルギー関係が多かったけど、今年はそれが少し減った分4Kが増えた感じ。
ブースの数は減ってる気がする。

メーカブース


SONY

  • 4K有機ELディスプレイがとっても綺麗
  • 最近話題のレンズスタイルカメラ(DSC-QX100)は、コンセプトはおもしろいんだけど結構使い勝手が悪い印象 ソフト改善で何とかなるか?

SONYブースの4K有機EL



富士通&三菱

  • 展示内容がバリエーションに富んでて見応えがあった
  • 特に富士通の参考出展エリアがおもしろかった

富士通の参考出展 FingerLink


富士通の参考出展 FingerLinkを実際に操作している様子。
テーブルに置かれた紙をスキャン&指の位置を検出してクリック動作&紙の位置に合わせて情報を表示。



Panasonic

  • 富士通や三菱と対照的に「4K」一本に絞った潔い展示
  • 4K TV、4Kタブレット、4Kカメラ、etc...

Panasonicブースの4K有機EL



SHARP

  • 一部コンセプト展示(コールドモックレベル)はあったけどほぼIGZO一色
  • 通常の液晶ディスプレイ以外にもMEMS IGZOとかもあった
  • あまりにIGZOに偏りすぎていて、「亀山モデル」の失敗を繰り返さなければいいけど… と心配になるレベル



東芝&NEC

  • 富士通&三菱とPanasonic&SHARPの中間くらい 良く言えば普通、悪く言えば印象に残らない



DoCoMo

  • 今年は端末の展示がほとんどなくてコンセプト展示がメイン
  • コンセプト展示のメガネ型デバイスはおもしろいんだけど 普及はまだまだ先な感じ

メガネ型デバイスを使って紙のノートの上にディスプレイ(というかタブレット端末)があるように見せるコンセプト展示。
ノートを近づけたり遠ざけたりするとそれにあわせてディスプレイの大きさも変わる。



車系メーカ

  • 家電の遠隔制御とかスマートフォンを使った話とか去年よりもCEATECっぽい展示が増えた
  • DENSOのワインセーバーはもうちょっと安かったら欲しいところ

DENSOのワインセーバー



ASKANET

  • 去年出していた空中ディスプレイにセンサをつけて より実用的な展示
  • とてもおもしろい製品なのでぜひマスプロダクトになってほしい

htc One XのOTAアップデート


去年台湾へ行った際に海外旅行時用にと買ってきてあったhtc One X(SIMフリー)を起動してみたら OTAアップデート(4.18.709.5)がきていた。

ということで早速当ててみたが、失敗。

これまで自分がやった作業を思い出しつつ復旧作業を行った。

odexファイルの差し戻し


以前、アンテナピクト問題解消のためにodexファイルのを差し替えていた。
こういったSystemファイルん書き換えはおそらくチェックでひっかかるだろう、ということで戻すことに。

戻す手順は下記の通り。
  1. bootloaderに入り、fastbootを使ってCWMで起動
  2. CWMでの起動後、adb(root権限)で端末へ入り、ファイルを元に戻す
  3. 再起動
しかし、このときにもいくつか問題が発生した。

bootloaderに入れない

Shutdown後Volume down+Power でbootloaderに入れるはずなのだが、通常通り起動してしまう。
 調べたところ、設定の電源メニューにある「高速起動」のチェックが入っているとbootloaderに入れないらしい。
高速起動を外して実行したところ、無事bootloaderに入れた。

fastbootでCWMが書き込めない

fastbootで書き込もうとしても、応答しない。
また、fastboot devicesを実行すると、下記のメッセージが出る。
no permissions fastboot
LinuxなPCで作業する場合、fastbootをroot権限で起動しなければいけなかった。
ということで、sudo fastboot ...と実行。

ちなみに、実際はこの手順は不要だった。(後述)

recovery領域の復旧

odexファイルの差し戻しを行なってもOTAで失敗した。 

しかしここで気づいたのだが、よくよく失敗画面を見てみると、CWMが起動している。
そして、エラー内容はファイルが見つからない、とのこと。

 試しにinstall zip from sdcardでOTAファイルを指定すると、verifyで失敗。 
あまり記憶にはなかったが、どうやらrecovery領域をCWMに書き換えていたらしい。
recovery領域を戻す方法を調べたところ、recovery領域のバイナリを発見したのでそれを適用。

recovery領域を元に戻した後でOTAを適用すると、無事適用完了!

参考

2013/09/23

Ruby & Mechanize を使ったWeb上の情報の自動取得

Webからの情報取得の自動化

昔と違って最近は使用量やら請求額やらいろいろなデータがWeb上で見られるようになったので、便利になった。
けど、ほとんどのものは自分から見に行く必要があるため、じきに面倒になって見に行かなくなってしまう。

ということで、どうせならPush通知させたい! と思った。

Mechanize

最初は全部自前でParser書いて所望の情報を取得しようと思っていたけど、Cookieの処理等々面倒で挫けかけていた。
ところが、調べてみたら便利なシロモノを発見。

どうやら、RubygemsにあるMechanizeを使えば、その辺りを気にせずに作れるらしい。
gem install mechanize
でさくさくとインストールして使ってみた。

参考:
以下、軽く使ってみたところで気づいた嬉しい点と要注意点。

嬉しい点

  • Cookieの処理を気にしなくてもいい
  • Formの処理がとっても楽

要注意点

  • frameを使ったサイトでどちらかのframe内のFormを触る場合などは、まずはそのframeの取得が必要
  • Javascriptの処理までは自動的に処理してくれないので、FormにJavascriptが絡んでいる場合などはソースを解析してJavascriptで処理されている部分の模擬が必要
  • TLSv1のみ対応のサイトの場合、追加でオプションが必要(後述)

ハマったポイント

Javascriptによる自動転送

某サイトが、
リンクをクリック → OTP取得用?のページを表示 → Javascriptで自動的に転送 → メインのページを表示
という手順を踏んでいて、ブラウザで表示した際には間のページの存在に気づかず、次のページをMechanizeで表示させようとしてもエラーページに飛ばされるばかりだった。 一歩一歩調べたところ間のページの存在に気づいたため、Javascriptで処理している箇所をMechanizeに行わせるようにした。

TLSv1のみ対応のサイト

某クレジットカード会社のhttpsなログインページを取得しようとしたところ、
SSL_connect SYSCALL returned=5 errno=0 state=unknown state (OpenSSL::SSL::SSLError)
というエラーが出て取得が失敗した。 どうやらTLSv1にのみ対応なサイトにそのまま取得しようとしたことによるエラーの可能性が高そうだったため、下記のようにTLSv1でhttpsの接続を行うように指定したところ、問題なく接続できるようになった。
agent.ssl_version = 'TLSv1'
参考:

作ってみたもの

以前Nokogiriを使って下記のものをcronで定期的に取得して携帯のメールアドレスに送信するようにしていた。
  • 天気予報
  • 近隣の鉄道の運行状況
今回Mechanizeを使うことで、下記のものを取得できるようになった。
  • IIJmioの利用状況
  • クレジットカードの請求額

いくつかハマりポイントはあったものの、必要な情報のPush通知っぽいことがだいぶできるようになってきた。

2013/05/19

USBに入れたisoファイルからのブート

PCの復旧作業

Linux PC起動不可

数日前、帰宅したら起動しっぱなしにしていた家電(含PC)の電源が落ちた形跡があった。
ひとまず再起動していったものの、メインのデスクトップとして使っていたLinux PCが起動しなくなった。

具体的には、grubまではOKだけどそこからOSを選択して起動しようとしても起動しない感じ。
コンソールでメッセージを追ってみた感じでは、
VFS: unable to mount root fs
と表示されているように見えた。

USB BootできるUSBを作るソフト

とりあえず何かしらの手段でBootしないと何もできないので、USBメモリからBootさせることにした。
そして… どうせなら1CD Linuxいくつか入れたりとかした方がおもしろいかも?と思いついた。そこで、USBメモリに複数のisoファイルを入れてBoot時に選択する方法を探してみた。

結果見つけたのがXBOOT
使い方も簡単で、さくさくBoot用USBを作れた。

ただ1点課題が。
同じディストリビューションの違うバージョンのisoファイルを入れても、1つしか登録されないっぽい。
これに気づいたのは、Ubuntuの32bit版と64bit版を両方入れてみたのにgrubでは片方し表示されなかったため。

作成後のgrubの設定とか編集すれば複数登録もできそうな気はしたけど、面倒だったのとXBOOTを使ったBoot用USB再作成が簡単だったので、必要に応じて作りなおすことにした。


復旧作業 その1

コンソールで表示されているメッセージで検索すると、initramfsが変になっていると起こることがある、等書いてあった。
そこで、USBから1 CD Linuxを起動し、下記のように半ば無理やりinitramfsを更新してみた。
sudo mount <元のrootが入っていたデバイス> /mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
chroot /mnt
mount <元の/bootが入っていたデバイス> /boot
update-initramfs -u -k all
update-grub2
結果は… 状況変わらず


復旧作業 その2

他に手がかりもなかったので、/etc等のバックアップ → XubuntuのイメージからInstall Xubuntuを起動 → 修復インストールを実施。
一部のサーバ系ソフトウェアの設定が元に戻ったり、ユーザごとのcrontabが消えてしまったりしたものの、無事起動することを確認。
どこか別のファイルが壊れてたのかなぁ…


参考

2013/04/08

HTC JのSIMフリー化

HTC J


少し前にMNPでHTC Jを手に入れた。
この機種を選んだ理由は、ごにょごにょすることでSIMフリーになるらしいと聞いたため。
手元にはIIJmioのSIMが余っているので、これをさして使いたい。

SIMフリー化


HTC速報さんのカスタムROMを使用してSIMフリー化。
作業実施前に必要なbootloader unlock方法も、同じくHTC速報さんの記事を見つつ実施。

bootloader unlockさえやってしまえば、作業自体はXperiaやなんかでカスタムROM入れた時と同じような感じ。
ただしいくつかハマったポイントも。

  • 横着してカスタムROM導入→WCDMA Enablerを一気にやったら起動しなくなった。
    カスタムROM導入→起動して動作確認→WCDMA Enabler適用→起動して動作確認 と実施したところ正常に起動した。
  • IIJmioのSIMを認識しなかった。
    原因はよくわからず。カスタムROMの入れ直しや隠し設定をいじっているうちに認識するようになった。

アンテナピクト問題

データ専用のMVNO系SIMを使っていると、「信号なし」と表示されてしまう問題。
実用上はあんまり問題ないものの、意外と鬱陶しいのでhello.cさんの記事を見つつ作業。 

結果としては、失敗
odexファイルを差し替えると、起動画面で停止したまま起動しない。

とりあえず、adb logcatで正常時(odexを元に戻した場合)と異常時(odex差し替え後)の起動時のログを取得して比較してみた。
ざっと眺めた感じ、異常時にだけ出ているログはこのあたり。

E/dalvikvm(  212): /system/framework/framework2.jar odex has stale dependencies
E/dalvikvm(  212): /system/framework/android.policy.jar odex has stale dependencies
E/dalvikvm(  212): /system/framework/services.jar odex has stale dependencies
E/dalvikvm(  212): /system/framework/apache-xml.jar odex has stale dependencies
E/dalvikvm(  212): /system/framework/HTCDev.jar odex has stale dependencies
E/dalvikvm(  212): /system/framework/HTCCommonctrl.jar odex has stale dependencies
E/dalvikvm(  212): /system/framework/HTCExtension.jar odex has stale dependencies
E/dalvikvm(  212): /system/framework/filterfw.jar odex has stale dependencies
E/dalvikvm(  212): /system/framework/com.htc.android.bluetooth.jar odex has stale dependencies
E/dalvikvm(  212): /system/framework/wimax.jar odex has stale dependencies
E/dalvikvm(  212): /system/framework/usbnet.jar odex has stale dependencies
E/dalvikvm(  212): /system/framework/com.orange.authentication.simcard.jar odex has stale dependencies
W/dalvikvm( 212): Link of class 'Landroid/graphics/Bitmap;' failed
F/libc ( 212): Fatal signal 11 (SIGSEGV) at 0x0000002c (code=1)
I/DEBUG ( 209): handle_crashing_process(8)
...

ぐぐってみたものの解決策が見つからなかったので、とりあえずは保留。

ただ、以前別の機種でほぼ同じ手順でアンテナピクト問題を解消したことがあるので、手順の問題とも考え辛い。謎。


(2013/03/04 追記)
2013/05/29-31にやっていたワイヤレスジャパンで、IIJmioの人が「SMS対応を前向きに検討中」と言っていた。
実現すればodex差し替えが不要になるかも。

(2013/09/30 追記)
9/25にIIJからSMS対応SIMが発表された
SIM交換手数料2100円+月額147円払うか、我慢するか。

(2014/04/06 追記)
hello.cさんの記事が消えていたので手順を簡単に。
  1. smali / backsmali取得 (取得元)
  2. dexopt-wrapper取得 (取得元)
  3. 必要なファイルのコピー
    adb pull /system/framework/framework2.jar
    adb pull /system/framework/framework2.odex
    adb pull /system/framework framework
  4. 逆コンパイル
    java -Xmx1024m -jar ./baksmali-1.3.3.jar -c:core.jar:core-junit.jar:bouncycastle.jar:\
    ext.jar:framework.jar:framework2.jar:android.policy.jar:services.jar:apache-xml.jar:\
    HTCDev.jar:HTCExtension.jar:filterfw.jar:com.htc.android.bluetooth.jar:wimax.jar:\
    usbnet.jar:com.orange.authentication.simcard.jar:com.htc.fusion.fx.jar:\
    com.htc.lockscreen.fusion.jar -d framework -x framework2.odex -o framework2
  5. ファイル編集
    framework2\out\com\android\internal\telephony\gsm\GsmServiceStateTracker.smaliを下記のように変更。
    .line 2300
    :pswitch_data_44
    .packed-switch 0x0
    :pswitch_1c
    :pswitch_37
    :pswitch_1d
    :pswitch_29 -> :pswitch_37
    :pswitch_29
    :pswitch_39
    :pswitch_6
    :pswitch_6
    :pswitch_6
    :pswitch_6
    :pswitch_35
    :pswitch_6
    :pswitch_35
    :pswitch_35 -> :pswitch_37
    :pswitch_35
    :pswitch_3b
    .end packed-switch
  6. 再コンパイル
    java -Xmx1024m -jar ./smali-1.3.3.jar framework2 -o classes.dex
  7. framework2.jarの中にclasses.dex格納
    7za d -tzip framework2.jar classes.dex
    7za a -tzip framework2.jar classes.dex
  8. 端末へ転送
    adb push framework2.jar /data/local/tmp/.
    adb push dexopt-wrapper /data/local/tmp/.
  9. framework2.jarをodexに&署名
    adb shell
    $ cd /data/local/tmp
    $ chmod 755 ./dexopt-wrapper
    $ ./dexopt-wrapper framework2.jar framework2.odex
    $ busybox dd if=/system/framework/framework2.odex of=./framework2.odex bs=1 count=20 skip=52 seek=52 conv=notrunc
    $ exit
  10. CWMで起動し、正規のファイルと入れ替え
    adb shell
    # mount /data
    # mount /system
    # cd /system/framework
    # cp framework2.jar framework2.jar.orig
    # cp framework2.odex framework2.odex.orig
    # rm framework2.odex
    # cp /data/local/tmp/framework2.odex .
    # chmod 644 framework2.odex
    # exit
  11. dalvikキャッシュ削除 ( advanced->Wipe dalvik cache )

Googleリーダーの代替サービス

Googleリーダー

RSSの購読にはGoogleリーダーを使っていたが、どうやらサービスが終了するらしい。
ということで代替サービスを探すことにした。

候補

Googleリーダーの終了は影響を受ける人が多いからか、あちこちで代替サービスまとめが作られていた。
それらをちらちら眺めつつ、試してみようと思ったのは下記5種類。

サービス名 特徴
feedly 雑誌形式で表示がきれいらしい。
Googleリーダーからの移行が簡単なのもウリ。
pulse 以前から人気のあったRSSリーダーのサービス。
こちらも雑誌形式で表示がきれいらしい。
netvibes カスタマイズ性が高く、iGoogle的なこともできるらしい。
NewsBlur 見た目がGoogleリーダーに近いらしい。
Googleカレント Googleリーダーと同じくGoogleのRSSリーダーのサービス。

観点

  • PC/Mobile両方で表示/同期できること
  • 未読管理ができること
  • 一覧性が悪くないこと
  • 操作性が悪くないこと

使ってみた印象(随時追記予定)

サービス名 良いところ 悪いところ
feedly
  • Androidアプリあり
  • Googleリーダーと未読/既読含めて連動するので移行期にはとても楽
  • フォルダ/フィードごとに表示をカスタマイズ可能

  • Androidアプリが重い
pulse


  • OPMLインポート機能がないので移行が面倒
netvibes
  • iGoogle的な機能が欲しい場合によい
  • OPMLインポートで移行可能

  • 各フィードの最新の記事をざっと眺めるにはいいが、全部読むのはつらい
NewsBlur


  • 無料ユーザは64フィードまでしか登録できない
Googleカレント
  • Googleリーダーのフィードを(1件ずつ)インポートできる

  • 個々のフィードはそこそこ見やすいが、他のフィードを見たい場合に左上の小さな矢印で戻る必要があって面倒
  • Googleリーダーに登録されたフィードを選択して登録できるが、全て同じカテゴリになるためフィード数が多いと使い辛い

2013/03/15

Chromium

Unity関連パッケージの削除

あるときChromiumの更新があったので入れたところ、Unity Webapps関連のパッケージも一緒に入れてしまった。
個人的にはUnityは使っていないので、dpkg -l | grep unityで出てきたパッケージをかたっぱしからpurge。


Unity Webapps

unity関連のパッケージは全部削除したものの、chromiumでサイトを表示すると画面上部にこんなメッセージが表示されるようになった。

このページには、表示するのに Unity Webapps plugin が必要なコンテンツがあります。 [プラグインのインストール]

このメッセージはどのサイトを見ても表示されるためかなり鬱陶しい。

Chromiumの拡張機能一覧を見たところ、自分で入れた覚えのないパッケージ(Ubuntuのアイコン)が2つほどあった。
これらを削除したところこの鬱陶しいメッセージも表示されなくなって一件落着。

2013/03/03

vsftpd → 断念


vsftpdインストール


XS36VにXubuntuを入れた際に、今まで使ってたデスクトップPC (Windows) から今のマシンへファイルを転送するためにvsftpdを入れた。
そのときには、インストールしてWindowsからFileZillaで接続できることの確認だけして終了していた。


vsftpdで接続できない?


今日実際にファイルを転送しようと思ってFileZillaを起動してみたら、下記のエラーが出て接続できなかった。
530 Login incorrect.
Login failed.

XS36Vからlocalhostに接続しにいっても同様。

原因解析のため/var/log/auth.logを見てみると、こんなエラーが。
vsftpd: PAM audit_log_acct_message() failed: Operation not permitted

ログからPAM関係がおかしいんだろう、と考えてPAM関係の設定を変えてみたりしたけれど…
ちょっと変えたくらいではうまくいかず、どこが悪いのかさっぱりわからない。

さらに、エラーの内容でぐぐってみたりしたものの、SELinux設定を外したらよくなった、とかそんなものばかり引っかかる。(SELinuxは入れてない)


vsftpd断念 → SFTPへ


にっちもさっちもいかないので、さっくりと諦めてSFTPを使うことにした。
openssh-serverインストール → 秘密鍵/公開鍵作成&設定 → SSHで接続確認 → FileZillaから接続
と進んであっさり完了!

同じLAN内なのに転送速度が結構遅い(2-3MB/s程度)なんて事象が発生してはいるけど、ファイル転送そのものはできてるから今日のところは我慢。
そのうち原因解析しよう。

2013/02/24

LinuxでのRadiko、らじる★らじる視聴

WindowsやらAndroidでは Radiko とか らじる★らじる を使ってラジオが聞けるようになっている。
せっかくなので、XS36Vでもラジオを聞けるようにしよう、と思い立った。


Radiko

検索して見つかった参考サイトを基に、まずはRadikoを聞けるようにする。
どうやら、認証やらなんやらがあって面倒らしい。
参考サイトに載っていたスクリプトを下記のように変更し、とりあえずうまく動いてそうなことを確認。

  • 録音後lameを使ってmp3にしていたのを、ogg vorbisに変更
  • スクリプトでの一時ファイル出力先が/tmp固定&一部の一時ファイルがカレントディレクトリだったので、変数化した上でramdiskに出力するように
  • rtmpdumpの出力先をファイルからmplayerへのパイプに変更して、再生専用スクリプトも作成

らじる★らじる

こちらはRadikoと違って認証のような面倒なのがないので、Radiko用のスクリプトをちょこっといぢるだけでうまく動いた。

作成したスクリプト

いろいろ参考にしつつ作ったのがこれ。 今のところはうまく動いているような気がする。

参考サイト

2013/02/19

Ruby1.8でSegmentation fault

個人的にはRubyが好きなので、個人的に作ったスクリプトはRubyなことが多いのだが…
Rubyのバージョンアップをしたら、こんなエラーが出るようになってしまった。

/usr/lib/ruby/1.8/timeout.rb:60: [BUG] Segmentation fault
ruby 1.8.7 (2012-02-08 patchlevel 358) [x86_64-linux]

Aborted (core dumped)

いろいろ調べてみると、Mac OS Xの場合はコンパイラをgccにすれば解決するらしいが、Ubuntuの場合どうすればいいのかがよくわからなかった。
ただ、この事象はRuby 1.8系統でだけ発生しているように見えた。
ということで、Rubyを1.8系統から1.9系統に変更。

Ruby 1.9系では $KCODE が廃止されてたので文字コード周りの変更はする必要はあったけど、それ以外に大きな変更なく問題なく動作した。

2013/01/31

Intel GMA3650

XS36VへのOSインストール


XS36Vが届いたので、組み立ててOSを入れることにした。
が、XS36Vで使われているグラフィックチップ(Intel GMA3650)が特殊なものらしく、チップのアクセラレータを使うには結構OSを選ぶらしい。

個人的な希望は↓な感じなので、できればUbuntu系統のを入れたい。
  • これまでずっとDebian系を使ってたのでDebian系を使いたい
  • せっかくなのでDesktop環境を入れて、メインマシンの代わりとしても使いたい(最近ファンがうるさくなってきて不安なので…)
とりあえず、Ubuntuのいろいろなバージョンで試してみた結果はこんな感じだったので、テスト版ではあるけどXubuntu 13.04を使うことにした。






バージョン
結果
Ubuntu 12.04 LTS
インストールは正常に終了。
ただしGMA3650を使うためのcedarviewのドライバが32bit版専用らしく、amd64(64bit版)には導入できず。
そのため、描画が異様に遅い。
Ubuntu 12.10
インストーラが起動できず。
Xubuntu 13.04
インストールは正常に終了。
また、ドライバをデフォルトでサポートしているため描画もそこまでストレスはない。

参考サイト


  • PRO' LOGUE: Ubuntu-PCを組み立ててみた
  • Debian on XS35V3
  • XS36V

    電源の瞬断があってからサーバマシンとして使っていた玄箱が起動しなくなったので、代わりのサーバマシンを調達する必要が出てきた。

    いろいろと探した結果、ベアボーンキットのXS36Vを購入することにした。


    理由は下記の3点。

    • ファンレスなので静かそう
    • 安い(Shuttleの直販ページで\14,000-程度)
    • 64bit OS非対応 と書いてあるが、グラフィックドライバがWindows7 32bit版にしか対応していないだけで、それ以外は64bit対応

    ベアボーンなので、メモリと補助記憶は別途購入。せっかくなので、メモリは4GB×2枚、補助記憶は64GBのSSDにすることにした。
    64GBではサーバ用途として足らないので、玄箱で使っていたHDDにUSB-IDE変換ケーブルを接続してUSB-HDDとして使う。