Aparentemente, o LXDE não possui um gerenciador de sessão adequado. No entanto, como você mencionou, podemos usar o arquivo de autostart. Tudo o que precisamos fazer é criar uma lista dinâmica dos programas que estamos executando antes de sairmos da área de trabalho.
Aqui está um pequeno script que eu analisei os filhos da janela raiz do X11 procurando por aplicativos para adicionar ao arquivo de auto-inicialização. Tem listas pretas e brancas opcionais. Use a lista negra para coisas como o gerenciador de janelas ou qualquer coisa que você nunca queira executar. Por outro lado, use a lista de permissões para algo que você sempre deseja executar.
Tente executá-lo em um shell para ver a aparência da saída, então você pode ver se precisa adicionar algo à lista negra.
Você precisará conectar isso para executar de alguma forma antes de sair do LXDE. Provavelmente adicionando uma nova entrada em um menu.
Por exemplo: scriptnamehere.bash > ~/.config/lxsession/LXDE/autostart
Como você pode ver, o arquivo de autostart será reescrito toda vez que for executado, daí a necessidade da lista de permissões.
#!/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