
Ubuntu日本語フォーラム

ログインしていません。
キーボードなどには金をかけない主義なのでパワーイベントボタンなどついてないキーボードです。
コマンドに使ってないスクロールロックなどのキーをホットキーとして割り当てサスペンドボタン代わりにしたいのですが
どこを探して出てくるコマンドもパスワードが要求されます。
Ubuntu 10.04です
例) gksu pm-hibernate
↑管理作業をしようとしてるパスワードを入れろ
と言われます
gnome-power-cmd.sh suspend
などは認識しません
gnome-session-save -- -dialog系はダイアログボックスが出ますのでボタン一発でサスペンドできません
ルートでログインしないと解決できないのでしょうか?
(余談、パワーイベントボタン付きのキーボードなら可能なのにコマンドでできないのはチト矛盾を感じるのですが
ハードウエアに依存するものなら外部からの侵入で操作されない、との解釈でいいのでしょうか)
オフライン
正しい登録方法が有ると思いますが分からないので代替の方法を。
パスワードを平文で保存するのでセキュリティ面ではこの上なく危険なので、個人のみで使用するPCやログインパスワードの管理は気にならなければ試して見て下さい。
例) gksu pm-hibernate
↓↓
echo 'パスワード' |sudo -S id && sudo pm-hibernate
もしくはパスワードをテキストファイルに保存して(ホームにpassの名称で保存)
cat /home/ユーザー名/pass | sudo -S id && sudo pm-hibernate
オフライン
/usr/sbin/pm-hibernateをパスワードなしで実行したいのであれば、sudo visudoで設定すれば可能です。
例:user-name host-name=NOPASSWD: /usr/sbin/pm-hibernate
注:設定を間違うとsudoが使えなくなる事があるので、sudo suした端末を1つ起動しておきましょう。
オフライン
jackalopeさんの#3の様な方法が在ったのですね。
却下案の#2の訂正です。
サンプルにコピペをした為に余分な箇所まで書き込んでしまいました「 id && 」です。
ダメ回答の間違いを訂正とは、、、トホホ
オフライン
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は反応する
とわかりました
なぜだろう、、、、いろいろ試してみます
まずはお礼と報告でした。
オフライン
#!/bin/sh
<コマンド>
と記入して実行権を与え保存。
キーボードのショートカットのコマンド欄にスクリプトのパスを記入してスクリプトを実行させるのはどうでしょうか。
オフライン
あれ?
読み違えて、頓珍漢な事を書いたかも。
「sudo では出来なかった」と読んでしまったorz
スミマセン。
オフライン
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に変えて、それを戻せなくなったのも関係してる気がしてきました
スクリプトに実行権を与えるときに自分の名前が出てきません(汗
こじらせてます(汗
というわけでチト試行錯誤しようと思います。
なにかヒントありましたらお時間あれば教えてください。
オフライン
復帰時にパスワードを聞いてほしいなら、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'
なお、 https://wiki.ubuntu.com/DebuggingGNOMEPowerManager の、
原文
Note: These should only be used for debugging. Do not use them during regular operation of your computer.
日本語訳
これらはデバッグ用途のみ使うべき。通常の運用では使わないこと。
という記述には留意した方がよいかも。とはいえ、ネットの情報を見る限り、相当数の人が使ってるんですけど。
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がわからなくなって、中断してました。
ありがとうございます。
オフライン
STGSAGWANさん、画面ロックと合わせて完璧にできました。
キーボードショートカットのコマンドラインに書き込んで念のため名前はオリジナルのもの(suspendなどは使わずoreno-suspendなど)にして保存
キーは空いてるキー(例 alt+ctrl+S)を割り当て成功です。(ちなみに私は普段使わないスクロールロックを割り当てましたが(汗 いいのかな、、、、)
ちなみにshutdownも画面ロックを組み合わせた方がイイみたいです。(shutdownはまだショートカットでは試してません。端末での結果です)
ありがとうございます。
jackalopeさんhir0さんもありがとうございました。
やはり最新のUbuntuは英語のドキュメント読めないとキツいみたいですね。ACPIまわりやGrub関係は特に、、、
オフライン
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のコードを見ました)
すみません、おっしゃる通りです。
どういう訳か勘違いしてしまいました。
いえいえ
そのコードと、あのページを教えていただいただけで凄く助かりました。
検索するにもUbuntu suspend コマンドでは他のページに行ってしまいますので
シャットダウンと再起動は9.04 9.10 10.04 共通みたいですね
これで最初に書いた
「パワーイベントボタン付きのキーボードなら(パスワードなしで)可能なのにコマンドでできないのはチト矛盾を感じる」
が解決されました。
ありがとうございます
オフライン