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

提供: ArchWiki
ナビゲーションに移動 検索に移動
(言語間リンク)
(同期)
14行目: 14行目:
 
== systemd-logind を使う ==
 
== systemd-logind を使う ==
   
[[systemd|systemd]] を使っている場合 (Arch Linux ではデフォルト)、{{Pkg|polkit}} を[[pacman|インストール]]すれば、[[一般的なトラブルシューティング#セッションのパーミッション|セッションが破壊されない]]かぎり電源関連のコマンドをリモートでないセッションのユーザーが実行することができます。
+
[[systemd]] を使っている場合 (Arch Linux ではデフォルト)、{{Pkg|polkit}} を[[pacman|インストール]]すれば、[[一般的なトラブルシューティング#セッションのパーミッション|セッションが破壊されない]]かぎり電源関連のコマンドをリモートでないセッションのユーザーが実行することができます。
   
 
セッションが有効かどうか確認するには:
 
セッションが有効かどうか確認するには:
23行目: 23行目:
 
$ systemctl reboot
 
$ systemctl reboot
   
{{ic|systemctl suspend}} や {{ic|systemctl hibernate}} など他のコマンドも同じように使えます。{{ic|man systemctl}} の ''System Commands'' セクションを見て下さい。
+
{{ic|systemctl suspend}} や {{ic|systemctl hibernate}} など他のコマンドも同じように使えます。{{man|1|systemctl}} の ''System Commands'' セクションを見て下さい。
   
 
== sudo を使う ==
 
== sudo を使う ==
32行目: 32行目:
 
$ sudo systemctl reboot
 
$ sudo systemctl reboot
   
{{ic|systemctl suspend}} や {{ic|systemctl hibernate}} など他のコマンドも同じように使えます。{{ic|man systemctl}} の ''System Commands'' セクションを見て下さい。
+
{{ic|systemctl suspend}} や {{ic|systemctl hibernate}} など他のコマンドも同じように使えます。{{man|1|systemctl}} の ''System Commands'' セクションを見て下さい。
   
 
=== sudo 権限のないユーザー ===
 
=== sudo 権限のないユーザー ===

2017年11月23日 (木) 20:09時点における版

ボタンとカバーのイベント

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 poweroff
$ sudo systemctl reboot

systemctl suspendsystemctl 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: タグを使って下さい。

エイリアスを作成する

以下のエイリアスをユーザーの ~/.bashrc (もしくはシステム全体に設定する場合 /etc/bash.bashrc) に追加すると便利です:

alias reboot="sudo systemctl reboot"
alias poweroff="sudo systemctl poweroff"
alias halt="sudo systemctl halt"

systemd-sysvcompat をインストールすることでもエイリアスと同じことが出来ます。このパッケージは systemctl のそれぞれのコマンドのシンボリックリンクを作成します。