Помните приложения на выходе из системы от LXDE

Флаг, который Вы хотите, -invisible. Посмотрите этот пример, адаптированный из http://ubuntuforums.org/showthread.php?t=786697

ooffice -invisible macro:///Standard.Module1.SaveAsXHTML("/tmp/somefile.rtf")

4
08.08.2011, 14:20
1 ответ

По-видимому, 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
2
27.01.2020, 21:00
  • 1
    Спасибо за Ваш сценарий! Вы знаете, существует ли какой-либо способ сохранить положения окна и рабочие области также? –  Glutanimate 25.12.2012, 05:03
  • 2
    Вы можете использовать.Xresources файл, в зависимости от приложения. Например, установить Геометрию окна XTerm: XTerm*Geometry: 140x50+110+60 –  vschum 11.01.2013, 04:14

Теги

Похожие вопросы