中断/再開時にスクリプトを実行する方法は?-ソニーVAIO Ubuntu 12.04


12

質問:電源メニューで一時停止オプションを選択したときに実行するスクリプトを割り当てる方法は?

コンテキスト:
AMD Radeonグラフィックカードを搭載したSony VAIOラップトップを使用しています。ディスクリートグラフィックスカードを無効/有効にしたいと思います。私はこれを行うことに問題はありませんが、サスペンドを中断して再開するときに問題を引き起こします。

セッションが(個別のDPUを無効にして)サスペンドから再開すると、ファンは制御不能にスピンアップします。サスペンドスクリプトを編集するか、電源メニューのサスペンドオプションに新しいスクリプトを割り当てたいです。これにより、中断する前にGPUを再度有効にできます。 電源メニュー

編集: いくつかの研究の後、私はそれがファイルと関係があると思う/etc/pm/sleep.d/

そこにカスタムスクリプトを配置すると、中断して中断から再開するときに実行されますか?

スクリプトで一時停止/再開を区別するにはどうすればよいですか?

回答:


16

あなたが正しいです。スクリプトを作成して保存する必要があります/lib/systemd/system-sleep/(2015年にsystemdが処理するため、以前はそうでした/etc/pm/sleep.d/)。中断と再開の違いは、スクリプトのパラメーターとして指定されます。

#!/bin/bash

case "$1" in
    suspend)
        # executed on suspend
        ;;
    resume) 
        # executed on resume
        ;;
    *)
        ;;
esac

また、休止状態のためにそれをしたい場合、引数はとにhibernateなりthawます。


私は他のスクリプトでこれを見たことがあり、そのようなスクリプトの特定の要件について疑問に思っていました。ありがとう:)
danielcooperxyz

こんにちは、ubuntu 14.04を実行しているDell 5570でこれを試して、一時停止する前にオフにしていた場合にタッチパッドをオンにしました。何らかの理由で、コマンド tp_id=)xinput list | grep -i touchpad | awk '{ print $7 }' | sed 's/id=//'()はidを返しませんが、このコマンドはコマンドラインから機能します。表示されない理由がわかりますか?他の目的のために、スクリプトはうまく機能します。ありがとう!
レオサイモン

申し訳ありませんが、その前のコメントで、スクリプトフラグメントにバックティックを追加しようとしましたが、ミニマークダウン言語は私を打ち負かしました。()の代わりにバックティックを使用することを意図しています
レオサイモン

@LeoSimon Hey Leo、コメントはそのようなフォローアップの質問を議論するのにふさわしい場所ではありません。まったく新しい質問をすることをお勧めします。これにより、より多くの人々がそれを見て、あなたを助けることができるようになります:
アンドレスタネク

2
/lib/systemd/system-sleep/代わりに使用する必要がある場合があります。
SimonT
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.