Ubuntu, ThinkPad

最近は目新しいことも特にないので日記もさぼりがちです。
ubuntu(Ubuntu GNOME)も14.04になって外部モニターを的確に検出してくれるのはいいのですが、無効にしても設定を記憶してくれません。
仕方がないのでログイン後に強制offします。

xrandr --output VGA1 --off

自動起動アプリにでも登録すればOK。
こうしないと、組み込みディスプレイのLVDSと外部ディスプレイのVGAが、一つの画面として設定されてしまいました。
希望としては今までどおり/etc/gdm/Init/DefaultでDISPLAY_MANAGER=gdmの直前で有効(VGA OFF)にできればいいのですがダメでした。
 
・・・最近は軽くて快適なWindowmakerばかり使っているので、今は~/.xprifileに書き込んでoffしています。
GNOME Shellにもこだわらないので、なんかもうUbuntu(とその派生品)ならどれでも良い気がしてます。

 
 

ThinkPad

ネジ、届きました。
木曜日のお昼にレノボ・スマートセンターに電話して事情を説明したところ、対応していただいた方もおそらく半信半疑だったとは思いますが、ネジを送りますということになって、金曜日に発送、そして今日の土曜日に到着しました。さすがに国外からではなく、レノボ・パーツセンターは千葉県習志野市にあるので、在庫があれば数日以内に届きます。
 
届いたネジは下の写真。
私は不足していたHDDを固定するための黒いネジM2×5を2本お願いしましたが、そのような単位では管理していないらしく(当たり前か)、ネジ詰め合わせとなっていました。
必要なのは写真右下の袋の2本だけです。

04W2217
04W2217

・・・E130 1台分のネジセットかな。送付状には返品不要と書いてあったので、無くした時の予備としてストックしておきます。
 
早速HDDを別に購入していた7mm厚128GのSSD(PX-128M5P)に取り替えて、メモリも8G(W3N1600Q-4G)に増設して設定を終えました。
E130の中でも一番安いものですが、18,000円くらいの投資で快適PCになりました。
PX-128M5P : 7mm厚で5年保証。お気に入りです。
W3N1600Q-4G : 4G×2枚組。コレだけあれば大丈夫でしょう。

・・・レノボ直販モデルで、Celeron プロセッサー 887 (1.50GHz, 2MB, 1333MHz)モデル(ThinkPad Edge E130 エントリーパッケージ)では満足できない、CPUに多少なりとも大きな負荷がかかる使い方ならインテル Core i3-3227U プロセッサー (1.90GHz, 3MB, 1600MHz)モデル(ThinkPad Edge E130 バリューパッケージ)が選択肢となりますが、価格差を考えるとどうでしょうね。

ThinkPad

少し特殊事情?により3週間ほど前に注文した最も廉価なThinkPadが届きました。
さあ起動して設定を始めようと思ったら、いきなりBIOS設定画面になってしまい、OS起動画面がでません。ん???
これはおかしいと思って調べてみると、HDDが認識されていません。
ひょっとしてと思い電源を落としてバッテリーを抜いて、裏蓋をはずしたら、なんとHDD固定ネジが2本とも無いではありませんか!?
HDDがコネクタから外れていたため、当然ですがPCは起動しません。
こんなことはThinkPadを購入して初めてでした。
噂は耳にしていましたが、やっぱりEdgeシリーズはTやXシリーズに比べると別物で、品質管理もダメダメなのかなぁ。
明日、至急送付してもらうように電話してみます。

ネジがありません
ネジがありません

当然というのもヘンですけれど、T420sと同じくマルチブートにします。
UEFIモードでもSecure bootはOFFできるので悩むことはありません。
ちなみに、Acerの安いノートPCはUEFIかLegacy BIOSの選択しかできないため(Secure bootをOFFできない)、実質的にはWindows8専用PCだったので弱りました。
 
SSD化とメモリ増設により、そこそこ快適に使えそう。

ThinkPad

急遽、娘用にもう一台ノートPCが必要となりました。
以前に使っていたX200はSSD化したのち、甥っ子のもとで元気に活躍しています。
ということで、長らく箱の中で佇んでいたX31の電源を久しぶりに入れてみたところ、最初はバッテリーが空っぽだったので起動しませんでしたが、暫くすると無事にWindowsXPが立ち上がりました。
必要なソフトはemacsとCASL2シミュレータとあれとこれと・・・SSD化すれば何とかなりそう。ところがIDE(PATA)の選択肢は少なく、かつSATAに比べて高価(T_T)
ということで、どっちみち1年あまり使えればいいからと、それまで聞いたこともなかった KINGSPECJP(KINGSPECの日本ブランド)を選択してみました。
ついでにWindowsXPのサポートがもうすぐ切れることもあり、公式には非対応ではありますが、この際ということでWindows7にしてみました。インストール方法は多くの方々が紹介されているので、グラフィックドライバも何とか探しだすことが出来ました。
それからUSB HDDケースにSSDを入れて、EASEUS Todo Backup Free 6.0のクローンディスク作成機能でHDDを丸々コピー。SSDとHDDを取り替えて再起動すれば作業終了です。
 
SSD化の効果は次のとおりです。
 
【交換前】Hitachi HTS541612J9AT00 128GB
Hitachi HTS541612J9AT00 128GB
 
【交換後】Kingspecjp KSJ-PA25.1-128SK
Kingspecjp KSJ-PA25.1-128SK
 
おぉ速い速い。CrystalDiskInfoでは、
Kingspecjp KSJ-PA25.1-128SK_2
となっています。WDISKERって聞いたことないなぁ。
今のところプチフリもありませんけれど、安い中華SSDなので保証期間は2年とはいえ、数ヶ月で劇的に遅くなるかもね(^_^;)

ThinkPad

起動時にF12を押した時に表示されるブートオーダー画面にubuntuが出てこないので、Windows8とubuntuを再インストールしてみました。
最初にWindows8をインストールして、次にubuntuを。
結果は・・・やっぱり出てくるのは”Windows boot manager”とSSDとDVD Driveだけでした。
私はgrub2をubuntuをインストールしたパーティションにインストールしていますので、これではubuntuの起動ができません。
仕方がないのでWindows8を起動して、次のとおりzipファイルのrEFIndをダウンロードして展開、インストールしました。
コマンドはWindows8の管理者権限で起動したターミナルで、


mountvol S: /S
cd *** ←rEFIndを解凍した、フォルダrefindが見えているディレクトリに移動
xcopy /E refind S:\EFI\refind\
S:
cd EFI\refind
del refind_ia32.efi
rd /s drivers_ia32
rename refind.conf-sample refind.conf
bcdedit /set {bootmgr} path \EFI\refind\refind_x64.efi

これは、ubuntuをインストールするときに実行されるハズのefibootmgrがダメだから?
インストール後にUnified Extensible Firmware Interface (日本語)のとおり、改めて次のコマンドを実行しても変化無しでした。


efibootmgr -c -g -d /dev/sda -p 2 -w -L "Ubuntu" -l '\\EFI\\ubuntu\\grubx64.efi'
※sda2にfat32のUEFISYSパーティションがある場合です。

 
ということでブートオーダーに新しいentryを追加するのは諦めましたけれど、せめてもの対応ということで、”Windows boot manager”を”rEFInd”に変更しました。
これもWindows8の管理者権限で起動したターミナルで、


bcdedit /set {bootmgr} description "rEFInd"

です。
 
ちなみにT420sのUEFIは2.0なのでUEFI Shell 1.0しかダメでした。
BCFGコマンドによるUEFI NVRAMエントリの修正ができなくて残念です。

ThinkPad

rEFIndが最初に起動するのは、Windows Boot Managerの対象ファイルがrEFIndに指定されているためでした。


$ sudo efibootmgr -v
BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 0000,0006,0007,0008,000A,000B,0009,000C,000D,000E,000F,0010,0011,0012,0013
Boot0000* Windows Boot Manager HD(2,96800,32000,a78eedf2-26dd-4a74-9281-52f33c8858cf)File(\EFI\refind\refind_x64.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}....................
Boot0001 Boot Menu
Boot0002 Diagnostic Splash Screen
Boot0003 Startup Interrupt Menu
Boot0004 ME Configuration Menu
Boot0005 Rescue and Recovery
Boot0006* USB CD 030a2400d23878bc820f604d8316c068ee79d25b86701296aa5a7848b66cd49dd3ba6a55
Boot0007* USB FDD 030a2400d23878bc820f604d8316c068ee79d25b6ff015a28830b543a8b8641009461e49
Boot0008* ATAPI CD0 030a2500d23878bc820f604d8316c068ee79d25baea2090adfde214e8b3a5e471856a35401
〜以下省略〜

 
・・・Windows Boot Managerでrefind_x64.efiが指定されているのは、江添亮さんのブログ「本の虫」によると、次のような理由もあるためらしいです。

LenovoのUEFIのアホくさい実装 :http://cpplover.blogspot.jp/2012/11/uefi.html

T420sはどうなのか分かりませんけれど、「Windows Boot Manager」という名称は変更しないほうが良さそうです。
BIOS初期化する前はubuntuやrEFIndもF12を押した時のブートメニューに出ていたので、単に書き足せばいいだけかも。
・・・どうやって?

ThinkPad

起動時にF12を押して表示される、OSを選択する画面からWindows以外が消えました。
もともとUbuntuとrEFIndも表示されていたのですが、BIOS(ver 1.36)を初期化して以降は表示されず、再表示の方法も不明です。
でも、普通に電源ボタンを押して起動したりPCを再起動すると、最初にrEFIndが立ち上がるので実害は全くありません。
が、F12を押した時は”Windows Boot Manager”とSSD、DVDしかメニューに表示されないのが何となく腹立たしく思います。

・・・refind_x64.efiが確実に最初に起動するしくみは?
 

Ubuntu, ThinkPad

諸般の事情によりWindows8をインストールする必要が生じました。
T420sはUEFIブート可能マシンなので、この際GPTディスク(GUIDパーティション)にして基本区画数を気にしなくても良い構成にしましたので、「Install」ページも修正しました。
とはいってもOSマニアではないのでubuntuとWindowsのデュアルブートですけど。
念の為Windows8 RTM(試用期間90日)をインストール、ドライバ等のチェックをしてから、実際に購入したのは「Windows 8 Pro アップグレード版 発売記念プロモーション」。1月末までなら安く入手できたのに・・・少し後悔してます。

最初にWindows8をインストールするときの注意点は、「空っぽのフォルダ”Windows”をあらかじめ作っておくこと」です。
アップグレード版でクリーンインストールする場合だけ必要な作業です。

続いてubuntu12.10のインストール。
注意点は「Live CDのGRUB選択画面でTry Ubuntuを選択すること」、「GRUBは” / “のパーティション(/bootの存在するパーティション)にインストールすること」です。
いきなりinsutall ubuntuを選択すると、パーティションの設定画面でフリーズしますので、13.04では解決されることを祈っています。

Windodws8の使用感ですが、Modern UIのメリットが全くない・・・というより邪魔です。
ある作業中に違うアプリを起動したいとき、いちいち全画面ランチャーに切り替えるのはいかがなものでしょうねぇ。
まったくタブレット向けのUIなので、せめてModern UIと従来のデスクトップを起動時に選択できる手段を用意して欲しいと感じました。今はフリーソフトのStartMenu8で起動後はデスクトップ画面が表示するようにしましたので、Windows7と殆ど同じ画面になっています。
フィアル操作に使用するExplorerは使いやすくなって正常進化かと思いますけれど、それがWindows8にアップグレードする積極的な動機にはなり難いです。

これまで非常にお世話になっていたMBM、本当に感謝です。
私はUEFIマシンのブートローダとしてrEFInd(GRUB、Windowsローダのチェーンロード用)を採用しましたけれど、設定の容易さ、シンプルな画面などはMBMのほうが気に入っているので、もしrEFIndに代わる中立的な、OSに依存しないMBMのようなローダが開発されたら乗り換えようかな。
今のところhttp://freedesktop.org/wiki/Software/gummibootに期待しています。

Ubuntu, ThinkPad

checking battery stateでストップしてログイン画面が表示されない問題、結構以前からあるみたいですね。
今までX31、X200、それからT420sとubuntuの各バージョンを使ってきて初めての経験でした。
私(T420s)の場合はlightdmが悪かったんだろうと勝手に決めつけてgdmに変更してから再現しなくなりましたので、常時GNOME Shellを使っていますし、もうこのままでいいや。
 

Ubuntu, ThinkPad

室温は27℃でも、排気口付近の本体下面がすごく熱くなって、GKrellMによる温度表示は60℃を下回ることがなく座椅子膝上直置きは無理な季節です。
色々調べてみると、ubuntu12.04は省電力をテーマの一つとして力を入れているという事なので、何とかならないものかと思いました。
前に書いたとおりBIOSでIntel HD Graphics 3000(Integrated Graphics)固定にすると、firefox起動時でも55℃くらいなので効果大です。
NVIDIA Optimus(自動切替)を選択しているだけでも、NVIDIA NVS 4200Mがかなり電力を消費するみたいです。

本題は、GPU以外の熱対策は何かできないかということでして、比較すべきではないかもしれませんけれどWindows起動時に比べてubuntu起動時のほうが熱い傾向にあったことから、何とかしたいと考えた次第です。要は「冷やす」か「消費電力量を減らす」かですけれど、やっぱり元を断たなきゃダメということで、結論から言うと、省電力化のために次のスクリプトを実行させることにしました。

#!/bin/sh

sleep 10

# Reduce power for SATA link power management
for i in 0 1 2 3 4 5 ; do
echo min_power>/sys/class/scsi_host/host${i}/link_power_management_policy
done

# Disable the NMI watchdog
echo 0 > /proc/sys/kernel/watchdog

# Enable Audio codec power management
echo Y > /sys/module/snd_hda_intel/parameters/power_save_controller

# Autosuspend for USB device
for i in /sys/bus/usb/devices/*/power/autosuspend; do
echo 1 > $i;
done
for i in /sys/bus/usb/devices/*/power/level; do
echo auto > $i;
done

# Runtime power-management for PCI devices
for i in /sys/bus/pci/devices/*/power/control ; do
echo auto > ${i}
done

これで体感的速度は殆ど変わらず省電力化できました。温度も45℃から50℃くらいなので大満足です。
スクリプトの実行には管理者権限が必要ですが、毎回ターミナルから起動させるのもなんなので、sudoersを編集して自動起動させることにしました。
sudoersの編集は、ターミナルから

sudo visudo

最終行に以下を追加(グループhoge)しました。スクリプト名は適当です。

%hoge ALL=NOPASSWD: /usr/local/sbin/power_save.sh

保存してターミナルに戻って、パスワード入力を求められる設定にします。新規にターミナルを起動してもいいです。

sudo -k

実行してみます。

sudo /usr/local/sbin/power_save.sh

省電力の確認・設定にはpowertopが便利ですが、設定を変更しても保存されず、再起動すると元に戻ってしまいます。
また、jupiterでPerformanceを確認したらPower On Demandになっていました。
CPUクロックの時間的変化を見る時は、ターミナルで

watch -n 1 grep ‘MHz’ /proc/cpuinfo

 
スクリプトは次のページを参考にしました。
http://www.thinkwiki.org/wiki/How_to_reduce_power_consumption
http://www.joshuagranick.com/blog/2012/04/27/increase-battery-life-in-linux/

スクリプト実行前後のpowertopの様子は、