「ユーザーにシャットダウンを許可」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(→‎エイリアスを作成する: 英語版にあわせて削除)
(→‎sudo を使う: 英語版を元に修正)
27行目: 27行目:
 
== sudo を使う ==
 
== sudo を使う ==
   
{{Pkg|sudo}} を[[pacman|インストール]]して、ユーザーに [[sudo|sudo 権限]]を与えます。ユーザーはコマンドラインやメニューから ''sudo systemctl'' コマンドを使えるようになります:
+
{{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 suspendsystemctl hibernate など他のコマンドも同じように使えます。systemctl(1)System Commands セクションを見て下さい。

sudo を使う

sudoインストールして、ユーザーに sudo 権限を与えます。ユーザーはコマンドラインやメニューから sudo systemctl コマンドを使えるようになります(例えば、sudo systemctl poweroffsudo systemctl rebootsudo systemctl suspendsudo 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: タグを使って下さい。