Флаг, который Вы хотите, -invisible
. Посмотрите этот пример, адаптированный из http://ubuntuforums.org/showthread.php?t=786697
ooffice -invisible macro:///Standard.Module1.SaveAsXHTML("/tmp/somefile.rtf")
По-видимому, LXDE не имеет надлежащего менеджера сеансов. Однако, поскольку Вы упомянули, что мы можем использовать файл автоматического запуска. Все, что мы должны сделать, создают динамический список программ, которые мы запускаем, прежде чем мы выйдем из рабочего стола.
Вот немного сценария удара, который я сделал на скорую руку, который проанализирует детей корневого окна X11, ища приложения для добавления к файлу автоматического запуска. Это имеет дополнительные черные и белые списки. Используйте черный список для вещей как менеджер окон или что-либо, что Вы никогда не хотите выполнить. С другой стороны используйте белый список для чего-то, что Вы всегда хотите выполнить.
Попытайтесь выполнить его в оболочке для наблюдения то, на что похож вывод, затем Вы видите, необходимо ли добавить что-нибудь к черному списку.
Необходимо будет обеспечить электричеством это для выполнения так или иначе перед выходом из 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