
Ubuntu日本語フォーラム

ログインしていません。
Lubuntu13.??(細かいバージョン忘れてしまいました)を起動したら、
バージョンアップするか?と聞かれたのでバージョンアップしました。
新しいバージョンは14.04です。
ところが、そうしたら今まで出来ていたハイバネーションが出来なくなってしまいました。
たくさんのボタンのある「セッションをログアウトしますか?」で、ハイバネートを押すと、
同じダイアログが出て、最下段に下記のメッセージが出ます。
GDBus.Error;org.freedesktop.DBus.Error.AccessDenied:Operation. not permitted
パーミッションって、ファイルのアクセス権などの設定かと思いますが、この場合何のアクセス権に
違反していて、どうすれば解決できるのでしょうか?
さらに、変な操作をした記憶はないのですが、なぜこんな事になってしまうのでしょうか?
よろしくお願い致します。
オフライン
VirtualBoxのゲスト環境ではありますが確認してみました。
確かに13.10では有効ですが14.04では無効でした。
どのような状態になっているのだろうと、両環境で下記コマンドを実行してみました。
dbus-send --system --print-reply --dest=org.freedesktop.login1 \
/org/freedesktop/login1 \
org.freedesktop.login1.Manager.CanHibernate boolean:trueすると、13.10では、
method return sender=:1.3 -> dest=:1.41 reply_serial=2 string "yes"
と返るのですが、14.04では、
method return sender=:1.4 -> dest=:1.80 reply_serial=2 string "no"
となりました。login1はsystemdの機能ですので、ひとまずsystemdレベルでダメになっていることはわかりました。
次にswsuspでハイバネートできるか確認してみると、こちらではハイバネートしました。
systemd絡みの問題だろうということで検索したところ、こちらのページが引っかかりました。PolicyKitに認証させる設定が必要のようです。
参照: http://ubuntuhandbook.org/index.php/2014/04/enable-hibernate-ubuntu-14-04/
私はそのままではなく以下のようにしてみましたが、機能することを確認できました。
まず、下記コマンドを実行して「/etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla」ファイルの編集(作成)を行います。
sudo nano /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
書き込む内容は以下です。
[Re-enable hibernate by default in logind] Identity=unix-user:* Action=org.freedesktop.login1.hibernate ResultActive=yes
「Ctrl+o」で保存し「Ctrl+x」で終了したら、システムを再起動させます。
以上です。
私は「org.freedesktop.login1.hibernate」のほうだけを書き込みましたが、今後のことも考えると「Action=org.freedesktop.upower.hibernate」のほうも書き込んでおいたほうが良いかもしれません。
オフライン
ちなみに、これはLubuntuとかフレーバーは関係なく、Ubuntu 14.04のシステムの仕様ですね。
オフライン
お返事有り難うございます。
さっぱり理解できませんが、おっしゃるとおりのファイルを作って、無事ハイバネートできるようになりました。
まだまだ、表示が変なところがあったり、Windowsとファイル共有が上手く行かなかったり、道は遠いですが、調べ調べやってみます。
それでも尚うまくいかない場合には、再び質問するかもしれません。
その節はどうぞ、よろしくお願い致します。
オフライン
ちょっとしたミスをしていたので訂正します。
dbus-send --system --print-reply --dest=org.freedesktop.login1 \
/org/freedesktop/login1 \
org.freedesktop.login1.Manager.CanHibernate boolean:trueと書きましたが、正確には以下です。(「boolean:true」を無視してくれたらしくエラーが出なかったので気づきませんでした)
dbus-send --system --print-reply --dest=org.freedesktop.login1 \
/org/freedesktop/login1 \
org.freedesktop.login1.Manager.CanHibernateそれと、以下はわかり難いかもですね。
Templer による投稿:
私は「org.freedesktop.login1.hibernate」のほうだけを書き込みましたが、今後のことも考えると「Action=org.freedesktop.upower.hibernate」のほうも書き込んでおいたほうが良いかもしれません。
上記については、リンク先を見ていただけるとわかるかと思いますが、つまりこういうことです。
[Re-enable hibernate by default in upower] Identity=unix-user:* Action=org.freedesktop.upower.hibernate ResultActive=yes [Re-enable hibernate by default in logind] Identity=unix-user:* Action=org.freedesktop.login1.hibernate ResultActive=yes
#2の前半に書いた、systemdやらswsuspの件は問題がどこにあるのかの切り分けです。カーネルレベルでダメになっている可能性もあるのでswsuspの確認もしておいたほうが、ということです。
オフライン