Ubuntu

大変便利ですが、gnome-shell環境でなぜか時々自動起動に失敗します。
なので「自動起動するアプリケーション」の項目から削除して、~/.xprofileで起動させることにしました。


bash -c 'sleep 3; guake' &

# アポストロフィ「 ‘ 」とバッククォート「 ` 」を間違ってましたので修正です。
# 失礼しました。
 
 

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の様子は、

Ubuntu

・・・2重モニタ?の反省です。

本体液晶画面LVDS1と外部出力VGA1が重なって表示されたのは、熱対策でjupiterをインストールしたことによるものでした。
Video DisplaysでInternal Display onlyを選択したら、今までどおり正常画面になりました。当然ですがBIOSでNVIDIA Optimusに戻しても画面は乱れません。
それでもfirefoxを起動すると温度は60℃を超えますので、NVIDIAのドライバーもインストールしていませんし、やっぱりIntel HD Graphics 3000のみで使用することにします。

Ubuntu, ThinkPad

わかりにくと思いますが本体液晶画面LVDS1と外部出力VGA1が重なって表示されてます。

lightdmに追加したスクリプトでVGA1をOFFにしても、デスクトップ画面が表示されたあとコマンドxrandrで確認すると、ゾンビのごとくVGA2が認識されていました。
これでは毎回手動で画面設定を変更しなければならないので、BIOSでIntel HD Graphics 3000を優先、NVIDIA Optimusを無効にして、かつ、.profile等にxrandr –output VGA1 –offを書き込むことで正常になりました。
もともとNVIDIA OptimusはWindowsのみをサポートしているものであり、今のところubuntuにとっては関係の無いシロモノなのでこの設定で使うことにします。
このことについてはLinux開発者のリーナスさんが怒り心頭らしいです。
記事はこちら
Bumblebeeと使うとNVIDIA OptimusはLinuxもサポートされるようですが、人柱的な気が・・・。

最近は猛暑日が続き、T420sも60°Cを超えるような状態でヒヤヒヤでしたが、NVIDIA Optimusを無効にすると劇的に温度が下がりました。