# Allow users to shutdown (日本語)

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

suspend, poweroff, hibernate ボタンの押下とカバーを閉じた時のイベントはPower Management (日本語)#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 権限のないユーザー

If users should only be allowed to use shutdown commands, but not have other sudo privileges, then, as root, add the following to the end of `/etc/sudoers` using the `visudo` command. Substitute user for your username and hostname for the machine's hostname.

    user hostname =NOPASSWD: /usr/bin/systemctl poweroff,/usr/bin/systemctl halt,/usr/bin/systemctl reboot

Now your user can shutdown with `sudo systemctl poweroff`, and reboot with `sudo systemctl reboot`. Users wishing to power down a system can also use `sudo systemctl halt`. Use the `NOPASSWD:` tag only if you do not want to be prompted for your password.

## エイリアスを作成する

For convenience, you can add these aliases to your user's `~/.bashrc` if you have it enabled (or to `/etc/bash.bashrc` for system-wide settings):

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

This can also be done by installing systemd-sysvcompat. This package creates symbolic links of the respective name to systemctl.

Category:

- Security (日本語)