GNU/Linux >> Linux の 問題 >  >> Linux

Lxdeからのログアウト時のアプリケーションを覚えていますか?

コンピューターを起動するときは、Ubuntuなどの最後のセッションを閉じる前に開いたアプリケーションを覚えておいてください。他のディストリビューションは正常に動作します。

グーグルすると、セッションの開始時にアプリを実行して自動開始ファイルを構成できることがわかりますが、開始時に常に同じプログラムを実行する必要はありません。代わりに、最後のセッションを閉じる前に開いたプログラムを再度開きます。

LXDEでFedoraスピンを使用しています。

承認された回答:

どうやらLXDEには適切なセッションマネージャーがありません。ただし、おっしゃるように、自動開始ファイルを使用できます。デスクトップを終了する前に、実行しているプログラムの動的リストを作成するだけです。

これは、自動起動ファイルに追加するアプリを探してルートX11ウィンドウの子を解析する小さなbashスクリプトです。オプションのブラックリストとホワイトリストがあります。ウィンドウマネージャーなど、実行したくないものにはブラックリストを使用します。逆に、常に実行したいものにはホワイトリストを使用します。

シェルで実行して出力がどのようになるかを確認してから、ブラックリストに何かを追加する必要があるかどうかを確認してください。

LXDEを終了する前に、なんらかの方法で実行するには、これを接続する必要があります。おそらく、メニューに新しいエントリを追加することによって。

例:scriptnamehere.bash > ~/.config/lxsession/LXDE/autostart

ご覧のとおり、これにより、実行されるたびに自動開始ファイルが書き換えられるため、ホワイトリストが必要になります。

#!/bin/bash

WINDOWS=($(xwininfo -root -children | \
    egrep \"[a-zA-Z]*\" | \
    cut -d' ' -f7 | \
    sed 's/":\?//g' | \
    sort -du))

BLACKLIST=()
WHITELIST=()

for window in ${WINDOWS[@]}; do
    # test to see if element in array is an executable
    WHICH=$(which $window 2>/dev/null)

    # is it in the blacklist?
    # if so, move to the next window
    for app in ${BLACKLIST[@]}; do
    if [[ $app == $window ]]; then
        continue 2
    fi
    done

    # otherwise add it to the autostart list
    if [[ -f $WHICH ]]; then
        APPS[${#APPS[*]}]="$window"
    fi
done

# add whitelisted apps
for app in ${WHITELIST[@]}; do
    APPS[${#APPS[*]}]="$app"
done

for app in ${APPS[@]}; do
    printf "@%s\n" "$app"
done

Linux
  1. Linux – Linuxからブートローダーを実行する方法は?

  2. Ubuntu –ログアウト時にコマンドを強制的に実行しますか?

  3. cPanelからウイルススキャンを実行する方法

  1. シェルからPythonスクリプトを実行する方法

  2. Windowsから複数のLinuxサーバーでコマンドを実行する

  3. 別のshファイルからshファイルを実行する方法

  1. シェルから Vim コマンドを実行するには?

  2. どこからでもスクリプトを実行

  3. node.js アプリケーションをポート 80 で実行できるようにする