「ユーザーにシャットダウンを許可」の版間の差分
細 (→ボタンとカバーのイベント) |
細 (文字列「[[zh-CN:」を「[[zh-hans:」に置換) |
||
7行目: | 7行目: | ||
[[tr:Kullanıcının bilgisayarı kapatabilmesine izin verme]] |
[[tr:Kullanıcının bilgisayarı kapatabilmesine izin verme]] |
||
[[uk:Allow Users to Shutdown]] |
[[uk:Allow Users to Shutdown]] |
||
− | [[zh- |
+ | [[zh-hans:Allow Users to Shutdown]] |
== ボタンとカバーのイベント == |
== ボタンとカバーのイベント == |
||
2017年1月29日 (日) 00:36時点における版
ボタンとカバーのイベント
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
など他のコマンドも同じように使えます。man systemctl
の System Commands セクションを見て下さい。
sudo を使う
sudo をインストールして、ユーザーに sudo 権限を与えます。ユーザーはコマンドラインやメニューから sudo systemctl コマンドを使えるようになります:
$ sudo systemctl poweroff $ sudo systemctl reboot
systemctl suspend
や systemctl hibernate
など他のコマンドも同じように使えます。man systemctl
の 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 のそれぞれのコマンドのシンボリックリンクを作成します。