web-dev-qa-db-ja.com

poweroff / rebootダイアログを起動するコマンド

ラップトップにUbuntu 16.04(Unityを含む)を新しくインストールし、ダイアログウィンドウ(デフォルトでは、電源ボタンを押したまま、4つのボタンでロック、サスペンドすることで起動するもの)を起動したい、カスタムキーボードショートカットを使用して、それぞれシステムを再起動および停止します。

これの目的は、ラップトップのふたが閉じられ、代わりに外部ディスプレイが使用されているときに、外部(USBまたはBT)キーボードでダイアログを起動できるようにすることです。これにより、電源ボタンにアクセスできなくなるか、少なくとも不便になります。

古いUbuntu 12.04では、次の簡単なコマンドを使用しました。

exec /usr/lib/indicator-session/gtk-logout-helper --shutdown

ctrl-Alt-Delキーボードショートカットをバインドしました(ログオフするには、Ctrl-Shift-Delにリダイレクトしました)。

Ubuntu 16.04に類推的なコマンドはありますか(または、これは、多くの人がそうであるように、「改善」されて悪化しただけの別のことですか)。

助けてくれてありがとう!

5
mpts.cz

一般に、ログアウト、再起動、およびシャットダウンのダイアログは、dbusを介して起動できます。特に、あなたが欲しいのは

qdbus com.canonical.Unity  /com/canonical/Unity/Session com.canonical.Unity.Session.RequestShutdown

このコマンドで他のメソッドをリストできます:

$ qdbus com.canonical.Unity  /com/canonical/Unity/Session | grep '\.Request.*'                                           
method void com.canonical.Unity.Session.RequestLogout()
method void com.canonical.Unity.Session.RequestReboot()
method void com.canonical.Unity.Session.RequestShutdown()

他の複数の回答にも同じアプローチを使用しました

「サスペンド」の警告を取得する方法


誰かがコマンドが少し長すぎると感じた場合、Linux 101を思い出してください。コマンドまたは関数のエイリアスを作成できます。

alias quit_session='qdbus com.canonical.Unity  /com/canonical/Unity/Session com.canonical.Unity.Session.RequestShutdown'

quit_session()
{
    qdbus com.canonical.Unity  \
          /com/canonical/Unity/Session \
          com.canonical.Unity.Session.RequestShutdown
}

コマンドラインでは、これはquit_sessionとして呼び出されます。簡単ですよね?これを~/.bashrcに配置できます。それでも長い場合は、さらに短い名前を使用します。

長さにも関わらず、質問で求められているとおりに動作します。

9

コマンド:

gnome-session-quit --power-off

単に動作し、exactlyしたいことを行います:

enter image description here

man gnome-session-quitから:

OPTIONS
       The following options are supported:

       --logout
              Prompt the user to confirm logout. This is the default behavior.

       --power-off
              Prompt the user to confirm system power off.

       --reboot
              Prompt the user to confirm system reboot.

       --force
              Ignore any inhibitors.

       --no-Prompt
              End the session without user interaction. This only  works  with
              --logout.
8
Jacob Vlijm

Sergの答え は、これを実現するUnity固有の方法を提供します。一般的なX11の方法を次に示します(xdotoolパッケージをインストールする必要があります):

xdotool key XF86PowerOff

これは、KDEとXFCEですぐに使用できました。最近のほとんどのDEは、キーボードの電源キーを同様の方法で扱うように構成できます。キーボードにこのようなキーがなくても、keysymはXorgで引き続き使用でき、機能します。

4
Ruslan