お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2010-09-11 00:12:11

Hideki999
メンバ
登録日: 2009-09-25

コマンドでハイバネートやサスペンドできない

キーボードなどには金をかけない主義なのでパワーイベントボタンなどついてないキーボードです。

コマンドに使ってないスクロールロックなどのキーをホットキーとして割り当てサスペンドボタン代わりにしたいのですが
どこを探して出てくるコマンドもパスワードが要求されます。
Ubuntu 10.04です

例) gksu pm-hibernate
↑管理作業をしようとしてるパスワードを入れろ
と言われます


gnome-power-cmd.sh suspend
などは認識しません


gnome-session-save --          -dialog系はダイアログボックスが出ますのでボタン一発でサスペンドできません

ルートでログインしないと解決できないのでしょうか?

(余談、パワーイベントボタン付きのキーボードなら可能なのにコマンドでできないのはチト矛盾を感じるのですが
ハードウエアに依存するものなら外部からの侵入で操作されない、との解釈でいいのでしょうか)

オフライン

 

#2 2010-09-11 13:59:52

hir0
メンバ
登録日: 2008-09-28

Re: コマンドでハイバネートやサスペンドできない

正しい登録方法が有ると思いますが分からないので代替の方法を。

パスワードを平文で保存するのでセキュリティ面ではこの上なく危険なので、個人のみで使用するPCやログインパスワードの管理は気にならなければ試して見て下さい。

例) gksu pm-hibernate
    ↓↓
echo 'パスワード' |sudo -S id && sudo pm-hibernate


もしくはパスワードをテキストファイルに保存して(ホームにpassの名称で保存)

cat /home/ユーザー名/pass | sudo -S id && sudo pm-hibernate

オフライン

 

#3 2010-09-11 14:54:33

jackalope
メンバ
登録日: 2009-01-01

Re: コマンドでハイバネートやサスペンドできない

/usr/sbin/pm-hibernateをパスワードなしで実行したいのであれば、sudo visudoで設定すれば可能です。
例:user-name host-name=NOPASSWD: /usr/sbin/pm-hibernate

注:設定を間違うとsudoが使えなくなる事があるので、sudo suした端末を1つ起動しておきましょう。

オフライン

 

#4 2010-09-11 18:28:40

hir0
メンバ
登録日: 2008-09-28

Re: コマンドでハイバネートやサスペンドできない

jackalopeさんの#3の様な方法が在ったのですね。

却下案の#2の訂正です。
サンプルにコピペをした為に余分な箇所まで書き込んでしまいました「 id && 」です。
ダメ回答の間違いを訂正とは、、、トホホ

オフライン

 

#5 2010-09-11 23:38:02

Hideki999
メンバ
登録日: 2009-09-25

Re: コマンドでハイバネートやサスペンドできない

hir0さん、jackalopeさん、ありがとうございます。

どちらもターミナルからコマンド打って成功しました。
jackalopeさんのは
%user名 ALL=(ALL) NOPASSWD: /sbin/shutdown, /usr/sbin/pm-suspend, /usr/sbin/pm-hibernate
で試しました。

ただし両方とも休止やサスペンドからの復帰の際に「パスワードを聞かれない」でした。(GUIだと聞かれる)
起動時に自動ログオンにしてるからかもしれません。GUIだとそれでも復帰時には聞かれますが、、、
元に戻して試してみます


それと、両方のやり方の場合も
ホットキーとして割り当てると

sudo pm-suspendは反応しない
gksu pm-suspendは反応する

とわかりました

なぜだろう、、、、いろいろ試してみます

まずはお礼と報告でした。

オフライン

 

#6 2010-09-12 01:30:33

hir0
メンバ
登録日: 2008-09-28

Re: コマンドでハイバネートやサスペンドできない

#!/bin/sh
<コマンド>

と記入して実行権を与え保存。
キーボードのショートカットのコマンド欄にスクリプトのパスを記入してスクリプトを実行させるのはどうでしょうか。

オフライン

 

#7 2010-09-12 01:33:28

hir0
メンバ
登録日: 2008-09-28

Re: コマンドでハイバネートやサスペンドできない

あれ?
読み違えて、頓珍漢な事を書いたかも。
「sudo では出来なかった」と読んでしまったorz

スミマセン。

オフライン

 

#8 2010-09-12 21:42:39

Hideki999
メンバ
登録日: 2009-09-25

Re: コマンドでハイバネートやサスペンドできない

hir0さん、ありがとうございます。

取り急ぎ報告です。

Hideki999 による投稿:

どちらもターミナルからコマンド打って成功しました。
jackalopeさんのは
%user名 ALL=(ALL) NOPASSWD: /sbin/shutdown, /usr/sbin/pm-suspend, /usr/sbin/pm-hibernate
で試しました


これ間違いでした。
再起動してやったらダメでした。

多くの初心者さんが見てるので早めに訂正します。


たぶんいろいろ試してるうちに一度ルート権限をもったのが、権限破棄される前にやったので成功したように見えたんでしょう。
(すぐにルート権限を破棄するコマンドがあったような)
sudousersを編集するさいに
jackalopeさんの user-name host-name=NOPASSWD: /usr/sbin/pm-hibernate
でやればうまく行ったのかも知れませんが、いかんせんsudousersを間違って弄るのは怖いので
「user-name host-name=NOPASSWD: /usr/sbin/pm-hibernate」の前に「%」がいるか、とかusernameとhostnameの間に@いるか不安だった為
他のサイトの「%user名 ALL=(ALL) NOPASSWD: /sbin/shutdown, /usr/sbin/pm-suspend, /usr/sbin/pm-hibernate」でやってしまいました。


hir0さんのは端末でやると再起動直後(ログインのとき以外は一度もパスワードを入れてない)でも成功します。

端末に入れるコマンドをキーボードショートカットの編集ダイアログにベタで入れても必ずしも端末と同じ挙動はしない
との事でしょうか?
(hir0さんの案はそこから出てきたのかと、、、)


つうか、あとから、以前、自分のグループをDesktop userからadministratorに変えて、それを戻せなくなったのも関係してる気がしてきました
スクリプトに実行権を与えるときに自分の名前が出てきません(汗

こじらせてます(汗

というわけでチト試行錯誤しようと思います。

なにかヒントありましたらお時間あれば教えてください。

オフライン

 

#9 2010-09-14 23:31:13

STGSAGWAN
ゲスト

Re: コマンドでハイバネートやサスペンドできない

復帰時にパスワードを聞いてほしいなら、suspendやhibernateの前に画面ロック。

コード:

gnome-screensaver-command --lock

また、一般ユーザ権限でもsuspendやhibernateできます。
https://wiki.ubuntu.com/DebuggingGNOMEPowerManager
Ubuntu 10.04なら、(環境がないので私は未検証)

コード:

# suspend
dbus-send --system --print-reply --dest="org.freedesktop.DeviceKit.Power" /org/freedesktop/DeviceKit/Power org.freedesktop.DeviceKit.Power.Suspend

# hibernate
dbus-send --system --print-reply --dest="org.freedesktop.DeviceKit.Power" /org/freedesktop/DeviceKit/Power org.freedesktop.DeviceKit.Power.Hibernate

2つのコマンドを組み合わせると、suspendなら、

コード:

sh -c 'gnome-screensaver-command --lock && dbus-send --system --print-reply --dest="org.freedesktop.DeviceKit.Power" /org/freedesktop/DeviceKit/Power org.freedesktop.DeviceKit.Power.Suspend'
 

#10 2010-09-14 23:32:49

STGSAGWAN
ゲスト

Re: コマンドでハイバネートやサスペンドできない

なお、 https://wiki.ubuntu.com/DebuggingGNOMEPowerManager の、
原文

Note: These should only be used for debugging. Do not use them during regular operation of your computer.

日本語訳

これらはデバッグ用途のみ使うべき。通常の運用では使わないこと。

という記述には留意した方がよいかも。とはいえ、ネットの情報を見る限り、相当数の人が使ってるんですけど。

 

#11 2010-09-15 20:42:16

Hideki999
メンバ
登録日: 2009-09-25

Re: コマンドでハイバネートやサスペンドできない

STGSAGWANさんありがとうございます。昼会社で見ました(汗

今やってみたら見事に出来ました。

ちなみに

STGSAGWANさん による投稿:

コード:

# suspend
dbus-send --system --print-reply --dest="org.freedesktop.DeviceKit.Power" /org/freedesktop/DeviceKit/Power org.freedesktop.DeviceKit.Power.Suspend


コード:

dbus-send --print-reply --system --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend

でした。
(リンク先の10。04のコードを見ました)

さすがです。ありがとうございます。

ハイバネートとかキーボードショートカットのコマンド欄にいれた場合、どうなるかは後日検証してみます

gnome-power-cmdもなくなってるみたいですし、検索してその辺のコマンドを入れるだけではダメと諦めてましたが出てくるものですねえ。

キーボードのパワーイベントボタンを押したときにどういうコマンドが行われてるか?
ってページを会社で一度見かけて、あとで見ようと思ってURLがわからなくなって、中断してました。

ありがとうございます。

オフライン

 

#12 2010-09-15 21:30:48

Hideki999
メンバ
登録日: 2009-09-25

Re: コマンドでハイバネートやサスペンドできない

STGSAGWANさん、画面ロックと合わせて完璧にできました。

キーボードショートカットのコマンドラインに書き込んで念のため名前はオリジナルのもの(suspendなどは使わずoreno-suspendなど)にして保存
キーは空いてるキー(例 alt+ctrl+S)を割り当て成功です。(ちなみに私は普段使わないスクロールロックを割り当てましたが(汗 いいのかな、、、、)

ちなみにshutdownも画面ロックを組み合わせた方がイイみたいです。(shutdownはまだショートカットでは試してません。端末での結果です)

ありがとうございます。
jackalopeさんhir0さんもありがとうございました。

やはり最新のUbuntuは英語のドキュメント読めないとキツいみたいですね。ACPIまわりやGrub関係は特に、、、

オフライン

 

#13 2010-09-15 22:52:00

STGSAGWAN
ゲスト

Re: コマンドでハイバネートやサスペンドできない

Hideki999 による投稿:

ちなみに

STGSAGWANさん による投稿:

コード:

# suspend
dbus-send --system --print-reply --dest="org.freedesktop.DeviceKit.Power" /org/freedesktop/DeviceKit/Power org.freedesktop.DeviceKit.Power.Suspend


コード:

dbus-send --print-reply --system --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend

でした。
(リンク先の10。04のコードを見ました)

すみません、おっしゃる通りです。
どういう訳か勘違いしてしまいました。

 

#14 2010-09-16 01:47:28

Hideki999
メンバ
登録日: 2009-09-25

Re: コマンドでハイバネートやサスペンドできない

いえいえ
そのコードと、あのページを教えていただいただけで凄く助かりました。

検索するにもUbuntu suspend コマンドでは他のページに行ってしまいますので

シャットダウンと再起動は9.04 9.10 10.04 共通みたいですね

これで最初に書いた
「パワーイベントボタン付きのキーボードなら(パスワードなしで)可能なのにコマンドでできないのはチト矛盾を感じる」
が解決されました。

ありがとうございます

オフライン

 

Board footer

Powered by FluxBB