電源管理が可能なAPMを制御するデーモン「apmd」が動作している場合、サスペンド(またはハイバーネーション)とリジューム(サスペンドまたはハイバネーションの復帰)時に、Xの表示が乱れたりマウスやネットワーク、サウンドがうまく復帰できないことがある。
この症状は、サスペンド時に実行されるスクリプト「/etc/sysconfig/apm-scripts/apmscript」内のロック処理に失敗していることが考えられる。
このスクリプト内では「/etc/sysconfig/apm-scripts/apmcontinue」が実行されるよう指定されているものの、OSインストール直後の状態では存在しない。このファイルは、ユーザー独自による処理を記述しておけるものだ。
■APM関連の制御ファイル
|
ここで問題視する表示の乱れやネットワーク、サウンド(ALSA)などの動作に対処させる場合、まず最初に次のようなファイルを用意しよう。ポイントは、「suspend)」「resume)」それぞれでデーモンをどのように制御するかを定義している点だ。ほかにも制御したいデーモンがあれば「/etc/rc.d/init.d/alsasound ....」行の下に追加すればよい。
# vi /etc/sysconfig/apm-scripts/apmcontinue #!/bin/bash PROG=$1 case "$PROG" in suspend) /etc/rc.d/init.d/network stop /etc/rc.d/init.d/alsasound stop ;; resume) /etc/rc.d/init.d/network start /etc/rc.d/init.d/alsasound start ;; esac ----------- # chmod 750 /etc/sysconfig/apm-scripts/apmcontinue |
続けてXの表示乱れに対処するために、仮想コンソールをレジューム復帰時に「7」へ切り替えるよう設定する。
# vi /etc/sysconfig/apmd #CHANGEVT="7" ↓ CHANGEVT="7" |
次に、Xが起動されていない場合にはレジューム時にchvt 7 が実行されないようにするため、次の行を修正する。
# vi /etc/sysconfig/apm-scripts/apmscript [ "$CHANGEVT" != "0" ] && chvt "$CHANGEVT" ↓ [ "$(pidofproc X)" != "" ] && [ "$CHANGEVT" != "0" ] && chvt "$CHANGEVT" |
Copyright © ITmedia, Inc. All Rights Reserved.