web-dev-qa-db-ja.com

Fedora18休止状態と一時停止を無効にする

最近、新しいFedora 18、LXDEスピンをワークステーション(ラップトップではない)にインストールしました。

休止機能と一時停止機能を無効にして、UIの[ログアウト]メニューから削除したいと思います。

F17以前では、これは次の内容のファイル/etc/polkit-1/localauthority/50-local.d/50-disable-suspend.pklaを追加することで簡単に実行できました。

[Disable Suspend]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate;org.freedesktop.upower.suspend
ResultAny=no
ResultInactive=no
ResultActive=no

これを行うと、メニューエントリが削除され、ログアウト、再起動、シャットダウン、およびキャンセルが残ります。

また、ファイル/usr/share/polkit-1/actions/org.freedesktop.upower.policyを変更して、2つの値を次のように変更する手順も見つかりました。

<allow_active>no</allow_active>

どちらもF-18では機能しません。

F17以前の後者のアプローチの問題は、upowerが更新されたときにファイルが上書きされる可能性があることでしたが、それでも許容されます。

pm-utilsの削除も理想的と思われましたが、libvirtは間接的に依存しているため、pm-utilsを削除できません。

誰かがこれを理解しましたか?

4

マニュアルページによると:

Polkit LocalAuthorityはもう存在しません。既存の構成ファイルが尊重されます。設定フォーマットの説明については、pkla-admin-identities(8)およびpkla-check-authorization(8)を参照してください。

「既存の設定ファイルは尊重される」というのは嘘だと確信しています。

PolkitのArch Linux wikiページ は新しい方法を示しています:

次のルールは、すべてのユーザーの一時停止と休止状態を無効にします。

/etc/polkit-1/rules.d/10-disable-suspend.rules

polkit.addRule(function(action, subject) {
    if (action.id == "org.freedesktop.login1.suspend" ||
        action.id == "org.freedesktop.login1.suspend-multiple-sessions" ||
        action.id == "org.freedesktop.login1.hibernate" ||
        action.id == "org.freedesktop.login1.hibernate-multiple-sessions") {
        return polkit.Result.NO;
    }
});

そのルールはFedora19で機能します。

1
Brendan Long