VAIO Pro 13 ubuntu 動作確認メモ: [Fn] キー

ubuntu 14.04 をインストールしただけで,[Fn] + [F1] 以外のキーは有効になります.

動作 キー 機能
NG [Fn] + [F1] タッチパッドのON/OFF
OK [Fn] + [F2] 消音
OK [Fn] + [F3] 音量を下げる
OK [Fn] + [F4] 音量を上げる
OK [Fn] + [F5] スクリーン輝度を下げる
OK [Fn] + [F6] スクリーン輝度を上げる
OK [Fn] + [F7] 外部ディスプレイ/内部LCD切り替え

※ファンクションキー以外の [Fn] キー組みあわせ([Fn] + [↑] の [PgUp] など)も当然 正しく動作します.ここでは,物理キーを節約するための [Fn] キー コンビネーションではなく,ハードウェアを制御する意味の [Fn] キー コンビネーションだけをあつかいます.

[Fn] + [F1] によるタッチパッドのON/OFF

Arch Linux の解説を参照

スクリーン輝度を忘れちゃう?問題

スクリーン輝度(screen brightness)の調整は [Fn] + [F5]/[F6] で問題なくできます.…けど,Windows 8 では,設定した輝度を覚えていてくれて,次回起動時も指定した輝度になるのに,ubuntu だと起動直後は毎回 最大輝度になってしまい,いちいち手動で輝度調整をしないといけません.

この問題の回避はクラス別のデバイス ファイル /sys/class/brightness/ を使えば簡単に対処可能です[1].具体的には VAIO Pro 13 では下記のコマンドで,現在の輝度値の読み出しと任意の値の設定ができます.[具体的なファイル名はマシンごとに ちがっていますけど,/sys/class/ の下を見れば どのファイルをさわればいいかは簡単に類推できると思います.][備考 ずーと昔(2011年とか?)は sudo setpci -s 00:02.0 F4.B=70 (輝度を70%にする)とか意味不明なコードでやってた時代もあって一部の資料に まだこんな感じのコードが残っていることがありますけど,とりあえず忘れておきましょう…]

好みの輝度値を調べて,.bash_profile などで輝度調整をするように仕込んでおけば OK でしょう.

あと,いちいちパスフレーズを聞かれてしまっては不便すぎるので,スクリプトにして このコマンドだけはパスフレーズなしで時刻できるようにしておくとよいです.具体的には例えば下記のようにすれば OK です.

  1. /usr/local/sbin/set_brightness.sh をつくる.例えば下記みたいな感じ.下記は固定の輝度 12 を指定していますけど,引数で任意の輝度を指定できるようにしたりとか,お好みで調整してください.
    echo 12 > /sys/class/backlight/intel_backlight/brightness
  2. このスクリプトをパスワードなしで sudo できるように,sudo visudo で,/etc/sudoers の最下行に下記の設定を書いておく.[パスワードなしで実行できるようにしておかないと起動時に自動実行するなどができないため.最下行にかくのがポイントで,sudoers の記述は後ろに書いてあるものでオーバーライドされるため,“%sudo ALL=(ALL) ALL”などより前に書いてしまうと,オーバーライドされてしまって NOPASSWD が有効になりません.]
    hatai ALL=(ALL) NOPASSWD: /usr/local/sbin/set_brightness.sh
  3. .bash_profile(または .bashrc)に下記のコマンドを書いておく.
    sudo /home/hatai/bin/set_brightness.sh

キーボード バックライトの制御は?

(まだ)

[Fn] キーとは関係ないのですけど,デバイス関係の制御っていう意味で,周囲が暗くなるとキーボード下の LED が自動で点灯する 機能があって,これも制御したいところです.プレインストールの Windows 8 では{常に OFF,常に ON,周囲の明るさにあわせて自動でON/OFF}とか選べて,当然設定値を覚えていてくれるのですけど,ubuntu をデフォルトでインストールしただけでは“周囲の明るさにあわせて自動でON/OFF”で固定になってしまっています.

Sony 製ノートPC(laptop PC)のデバイスを制御するためのファイル群は下記のディレクトリあたりを探せば見つかります.

/sys/devices/platform/sony-laptop/

Links

[1] ubuntu wiki: Kernel/Debugging/Backlight
[2] Arch Linux: Sony Vaio Pro SVP-1x21(日本語)
[3] Arch Linux: acpid
[4] Ask Ubuntu: Sony Vaio VGN-FJ170, Ubuntu 12.04 LTS, fn keys combinations doesnt work (2013-11-28)
[5] ubuntu forums: Sony Vaio laptop and Fn key brightness (2010-10-01)
grub で acpi_backlight=vendor てするとよいかもって話がでてます.…けど,そこまでしなくても,/sys/... を使う方法で十分かも.grub 画面ってだすのも面倒だし,うまくいかなかったときに被害が大きいかもって思って心理的ハードル高いですもんね….ガッツがある人は試してみてください.

はたいたかし
https://exlight.net/
2014-01-10