▼KDE5 でコマンドラインを使ってログアウトする方法▼

qdbus コマンドでセッションマネージャの ksmserver プロセスへ信号を送ります。

qdbus コマンドは、ディストリビューションによっては /usr/bin/ 下には無いかもしれません。 EPEL 8 の KDE5 では、 /usr/lib/qt5/bin/qdbus (qt5-qttoolsパッケージ) に 配置されていました。

問答無用でセッション終了

/usr/lib/qt5/bin/qdbus org.kde.ksmserver /KSMServer logout 0 0 2

終了するかどうかの確認画面を出す (Ctrl-Alt-Delの画面と同じ)

/usr/lib/qt5/bin/qdbus org.kde.ksmserver /KSMServer logout 1 0 2


▼引数解説

qdbus org.kde.ksmserver /KSMServer logout confirm sdtype sdmode の説明書きは、plasma-workspace パッケージのソースコードの libkworkspace/kworkspace.h に埋まっています。

namespace KWorkSpace
{
 
  /**
   * 1つ目の @p confirm パラメータ。ユーザに確認画面を出すかどうか
   * The possible values for the @p confirm parameter of requestShutDown().
   */
  enum ShutdownConfirm {
    /**
     * 訊ねるかどうかはユーザの設定値を使う
     */
    ShutdownConfirmDefault = -1,
    /**
     * 何も訊かない
     */
    ShutdownConfirmNo = 0,
    /**
     * 常に確認画面を出す
     */
    ShutdownConfirmYes = 1
  };

  /**
   * 2つ目の @p sdtype パラメータ。ログアウトのみか、マシンの再起動・シャットダウンもするのか
   * The possible values for the @p sdtype parameter of requestShutDown().
   */
  enum ShutdownType {
    /**
     * 前回の選択肢を使う
     */
    ShutdownTypeDefault = -1,
    /**
     * ログアウトのみ
     */
    ShutdownTypeNone = 0,
    /**
     * 再起動
     */
    ShutdownTypeReboot = 1,
    /**
     * シャットダウン
     */
    ShutdownTypeHalt = 2,
    /**
     * 使うな。ShutdownTypeNoneと同じ。
     */
    // KDE5: kill this
    ShutdownTypeLogout = 3
  };

  /**
   * 3つ目の @p sdmode パラメータ。他セッションがあった時にどうするか
   * The possible values for the @p sdmode parameter of requestShutDown().
   */
  // KDE5 ではあまり意味ないかも
  // KDE5: this seems fairly useless
  enum ShutdownMode {
    /**
     * 前回の選択肢を使用
     */
    ShutdownModeDefault = -1,
    /**
     * アクティブなセッションがすべて終了したら、シャットダウンもしくは再起動を行う
     */
    ShutdownModeSchedule = 0,
    /**
     * セッションが終了していたら、シャットダウンを行う
     */
    ShutdownModeTryNow = 1,
    /**
     * 強制終了。アクティブなセッションはすべて終了させる
     * (訳注:コマンドラインから行いたいときはこれが普通かと)
     */
    ShutdownModeForceNow = 2,
    /**
     * 生きているセッションがあったら、ユーザにどうするか訊ねる
     */
    ShutdownModeInteractive = 3
  };

.....

kabe.sra-tohoku.co.jp