Dell XPS 13(2015モデル)を使用していますが、XmonadでUbuntu 15.10を使用しています。私が持っています xfce4-power-manager
実行中およびgnome-screensaver
は画面をロックするために使用されます。 xfce4-power-managerの設定ダイアログには、「ノートパソコンの蓋が閉じているとき」という設定があり、これには3つのオプションがあります(バッテリーを使用しているときと接続しているときで別々に):ディスプレイのオフ、一時停止、画面のロック。
「ディスプレイをオフにする」を選択すると、蓋を閉じても画面がロックされません。ふたを閉じると画面がロックされます。しかし、「画面のロック」を選択すると、ディスプレイがオフになっていないようです。バッテリーを節約するために、ディスプレイもオフにしたいのですが。両方を取得するための良い(簡単かつ/またはいくぶん標準的な)方法は何でしょうか?
質問 gnome-screensaverとXFCEで空白にした後の画面のロック は関連している可能性がありますが、答えはありません。
XFCEパワーマネージャーでそれを行うことは不可能だと思います。ただし、画面をロックしてオフにするスクリプトを作成し、電源マネージャーの設定を上書きして、ふたを閉じるとすぐに起動するようにスクリプトを作成できます。
カスタムスクリプトの起動方法は 公式Ubuntuヘルプページ で報告されています。各ステップが元の投稿を読む理由を理解するために、パッセージを順番に書きます。おそらくそれは最も簡単なプロセスではありません(一連の指定されたコマンドを入力してファイルに正確な内容を入力するだけなので、とにかく簡単です)が、それが唯一の方法だと思います。また、このソリューションはUbuntuの公式ヘルプにあるため、小文字と大文字のCのどちらもかなり標準的です。
まず、通常のユーザーの環境でコマンドを起動できるように、rootで環境変数を使用できるようにするスクリプトを作成します。 (XFCEのデフォルトのテキストエディターであるため、コマンドにmousepad
を追加しました。これをGEdit
、SciTE
、Emacs
、nano
、vim
または使用するエディターに置き換えます)
$ mousepad ~/export_x_info
以下の内容で
#起動時にdbusセッションアドレスをエクスポートして、他の環境で使用できるようにする
睡眠5
$ HOME/.Xdbusをタッチします
chmod 600 $ HOME/.Xdbus
env | grep DBUS_SESSION_BUS_ADDRESS> $ HOME/.Xdbus
echo 'export DBUS_SESSION_BUS_ADDRESS' >> $ HOME/.Xdbus#起動時にXAUTHORITY値をエクスポートして、cronで使用できるようにする
env | grep XAUTHORITY >> $ HOME/.Xdbus
echo 'export XAUTHORITY' >> $ HOME/.Xdbus
そしてそれを実行可能にする
$ chmod 700 ~/export_x_info
これをSettings
→Session and Startup
→Application autostart
に追加して、起動時に実行するように設定します。
作成/etc/acpi/events/lm_lid
# mousepad /etc/acpi/events/lm_lid
このコンテンツで
event = button/lid。*
action =/etc/acpi/lid.sh
これはふたボタンがトリガーされたときに/etc/api/lid.sh
を実行します。作成しましょう
# mousepad /etc/api/lid.sh
#!/ bin/bash
/ home /%user/lid_event
(明らかに%user
をユーザー名に置き換えてください)
つまり、スクリプトは/home/%user/lid_event
を実行します。作りましょう
$ mousepad ~/lid_event
grep -qクローズ/ proc/acpi/button/lid/LID/state
if [$? = 0]
その後
/home /%user/close;
そうしないと
/home /%user/open;
fi
ふたが開いている場合は~/open
が実行され、閉じている場合は~/close
が実行されます。もう一度、作成してみましょう。
$ mousepad ~/close
画面をオフにするにはxset dpms force off
が必要であり、ロックするにはxflock4
が必要です。これをclose
内に書き込みます。
#rootがユーザーの環境で次のコマンドを実行できるように実行されます
ソース/home/%user/.Xdbus
#画面をロックしてオフにする
DISPLAY =:0.0 su%user -c "xflock4 && xset dpms force off"
Ubuntuのヘルプで提案されているように、オープンな内部では、お好みのサウンドを再生できます(私はBarney Gumbleのげっぷでテストを行いました)
#rootがユーザーの環境で次のコマンドを実行できるように実行されます
ソース/home/%user/.Xdbus
#オープンサウンドを再生する
DISPLAY =:0.0 su%user -c "aplay%path/to/a/sound/of/your/choice"
それらをすべて実行可能にしましょう
$ chmod +x ~/lid_event
$ chmod +x ~/open
$ chmod +x ~/close
Acpidを再起動します
# /etc/init.d/acpid restart
~/export_x_info
を起動し(またはラップトップを再起動して、起動時に自動起動されるようにします)、蓋を閉じたり開いたりして、機能するかどうかを確認します。
注:私のラップトップでは、画面をロックすると画面もオフになるため、ダブルアクションを100%テストすることはできませんでしたが、ロックすることで機能しました。また、ヘルプページには、例として、ふたを閉じるとPidginのステータスを変更し、開くと「私はここにいる」と変更するアクションが含まれているため、非常に便利です。
TL; DR(この問題が怠惰な人や初心者に発生する場合):灰色の背景にコマンドを入力します(#
昇格したroot権限が必要か、コマンドの前に単にSudo
と入力し、$
は通常のユーザーとしてコマンドを入力する必要があることを意味します)。コマンドがテキストエディター(つまり、mousepad
)を呼び出したら、エディターで黄色の背景にパーツをコピーして貼り付け、保存して閉じます。
xflock4
は、システムにインストールされているスクリーンセーバーに応じて、異なるスクリーンセーバーを呼び出すことがあります。/usr/bin/xflock4
を参照してください。
ここでは、xscreensaver
を使用しています。これは、xflock4
で推奨されるオプションです。 xscreensaver-command -prefs
で設定できます。ここで、選択した遅延の後に画面をオフにするように設定できます。
現時点ではノートパソコンを使用していませんが、Power Manager->バッテリー(およびAC)->モニター->「コンピューターがアクティブでないときにディスプレイをスリープ状態にする」および「ディスプレイをオフにしてください。コンピュータが非アクティブな場合」は「しない」に設定されていません。数は関係ありませんが、「Never」はふたを閉じるオプションをオーバーライドします。
また、実行しているすべてのアプリケーションが画面の省電力機能を無効にしていないことを確認してください。多くの場合、メディアプレーヤーやゲームには、実行中に画面がオフにならないようにするオプションがあります。