web-dev-qa-db-ja.com

LXDEから直接ログアウトするコマンド

LXDEからログアウトするには、[スタート]メニューをクリックし、[ログアウト]をクリックします。メニューが表示されたら、もう一度[ログアウト]をクリックします。

または、lxde-logout私のターミナルで、メニューが開いたら、「ログアウト」をクリックします。

どちらのオプションも面倒です。メニューなしで、または他のオプションなしで、すぐにログアウトするコマンドが必要です。

これは可能ですか?

Debian WheezyでLXDEを使用しています

8
Martin Vegter

上記のように、単にコマンドを実行します

pkill -9 -f lxsession

lxsession-logoutのソースを調べると、メニューをバイパスするために渡すことができるコマンドライン引数がないことがわかります。 lxde-logutは、lxsession-logoutを実行するスクリプトです。ログアウトするための非常に迅速な方法が必要なように見えるため、上記のpkillコマンドでは、多くの入力が必要になる場合があります。幸いなことに、これを高速化し、キーストローク/ボタンのクリックを最小限に抑えるには、2つの方法があります。

1)コマンドのエイリアスを作成します。

alias quitnow="pkill -9 -f lxsession"

quitnowを未使用のWordに置き換えます。ただし、セッションからすぐにログアウトするタイプミスは必要ありません。

2)/usr/bin/lxde-logoutファイルを編集します。上記のように、現在はlxsession-logoutのみを実行しています。また、メニューのログアウトボタンをクリックしたときにも実行されます。したがって、それを変更して読むことができます

#!/bin/sh
pkill -9 -f lxsession

lxsession-logout行はコメントとして残すので、元の動作に戻したい場合に備えて。これにより、偶発的なマウスクリックでログアウトする可能性があることに注意してください。

3)別のスクリプトを作成し、メニューに追加します。

4)~/.config/openbox/lxde-rc.xmlファイルに以下を追加して、キーバインディングを作成します。これを</keyboard>タグの直前に置きます。

<keybind key="C-q">
  <action name="Execute">
    <command>pkill -9 -f lxsession</command>
  </action>
</keybind>

これは/etc/xdg/openbox/rc.xmlファイルの複製です。

オプション4は、元の機能を維持し、すぐに出発できるため、おそらく最良の方法です。賢くあなたの鍵を選んでください。 :)

1
R Schultz

lxsessionを実行するだけです。ログアウトし、新しいセッションのログイン画面が表示されます。

0
iyrin

これまでの回答のいくつかは、OPで言及されている方法よりも厄介です。他のユーザーは、OPが要求することをまったく実行しません。これは完全なシャットダウンです。 (私は誤解しているかもしれませんが、openboxセッションが単に終了した場合、ユーザーは単にDMにドロップされませんか?OPが望んでいるようには聞こえません。)

Wheezyはまだsysv-initを使用していますよね?最初の投稿の下のコメントは、あなたが探しているものに近くなります。最初に端末でコマンドをテストします。意図したとおりに機能することが確認できたら、〜/ .config/openbox/lxde-rc.xmlにキーバインディングを追加します。 (これは、コンピューターをすぐにシャットダウンするため、誤って入力しないキーの組み合わせであることを確認してください。)R Schultzからの回答は、そのようなキーバインドを作成する方法を示しています。 pkill行をdbus-send行に置き換えるだけです。

Sysv-initからsystemdに移行した場合は、dbus-send行の代わりにsystemctl poweroffを使用できます。

0
Peter Sage