「ユーザーにシャットダウンを許可」の版間の差分
Kusanaginoturugi (トーク | 投稿記録) (→エイリアスを作成する: 英語版にあわせて削除) |
Kusanaginoturugi (トーク | 投稿記録) (→sudo を使う: 英語版を元に修正) |
||
27行目: | 27行目: | ||
== sudo を使う == |
== sudo を使う == |
||
− | {{Pkg|sudo}} を[[pacman|インストール]]して、ユーザーに [[sudo|sudo 権限]]を与えます。ユーザーはコマンドラインやメニューから |
+ | {{Pkg|sudo}} を[[pacman|インストール]]して、ユーザーに [[sudo|sudo 権限]]を与えます。ユーザーはコマンドラインやメニューから {{ic|sudo systemctl}} コマンドを使えるようになります(例えば、{{ic|sudo systemctl poweroff}}、 {{ic|sudo systemctl reboot}}、 {{ic|sudo systemctl suspend}}、 {{ic|sudo systemctl hibernate}})。{{man|1|systemctl}} の ''System Commands'' セクションを見て下さい。 |
− | |||
− | $ sudo systemctl poweroff |
||
− | $ sudo systemctl reboot |
||
− | |||
− | {{ic|systemctl suspend}} や {{ic|systemctl hibernate}} など他のコマンドも同じように使えます。{{man|1|systemctl}} の ''System Commands'' セクションを見て下さい。 |
||
=== sudo 権限のないユーザー === |
=== sudo 権限のないユーザー === |
2021年11月12日 (金) 16:40時点における版
ボタンとカバーのイベント
suspend, poweroff, hibernate ボタンの押下とカバーを閉じた時のイベントは電源管理#ACPI イベントのページで説明されているように logind によって管理されています。
systemd-logind を使う
systemd を使っている場合 (Arch Linux ではデフォルト)、polkit をインストールすれば、セッションが破壊されないかぎり電源関連のコマンドをリモートでないセッションのユーザーが実行することができます。
セッションが有効かどうか確認するには:
$ loginctl show-session $XDG_SESSION_ID --property=Active
コマンドラインで systemctl を使うか、またはコマンドをメニューに追加することが可能です:
$ systemctl poweroff $ systemctl reboot
systemctl suspend
や systemctl hibernate
など他のコマンドも同じように使えます。systemctl(1) の System Commands セクションを見て下さい。
sudo を使う
sudo をインストールして、ユーザーに sudo 権限を与えます。ユーザーはコマンドラインやメニューから sudo systemctl
コマンドを使えるようになります(例えば、sudo systemctl poweroff
、 sudo systemctl reboot
、 sudo systemctl suspend
、 sudo systemctl hibernate
)。systemctl(1) の System Commands セクションを見て下さい。
sudo 権限のないユーザー
シャットダウンコマンドを使用する権限だけをユーザーに与えて、他の sudo 権限は与えない場合、root で visudo
コマンドを使って /etc/sudoers
の最後に次の行を追加してください。user はユーザー名に、hostname はマシンのホスト名に置き換えてください。
user hostname =NOPASSWD: /usr/bin/systemctl poweroff,/usr/bin/systemctl halt,/usr/bin/systemctl reboot
この設定でユーザーは sudo systemctl poweroff
でシャットダウンを、sudo systemctl reboot
で再起動を出来るようになります。システムの電源を切りたい場合は sudo systemctl halt
が使えます。パスワードを訊かれたくない場合にのみ NOPASSWD:
タグを使って下さい。