GNU/Linux >> Tutoriales Linux >  >> Linux

¿Recuerda las aplicaciones al cerrar la sesión de Lxde?

Cuando encienda mi computadora, quiero que recuerde mis aplicaciones abiertas antes de cerrar la última sesión, como Ubuntu, y otras distribuciones lo hacen normalmente.

Buscando en Google, veo que puedo ejecutar aplicaciones cuando inicio la sesión, configurando el archivo de inicio automático, pero no quiero ejecutar siempre los mismos programas al inicio, sino que quiero volver a abrir los programas abiertos antes de cerrar la última sesión.

Yo uso Fedora spin con LXDE.

Respuesta aceptada:

Aparentemente, LXDE no tiene un administrador de sesión adecuado. Sin embargo, como ha mencionado, podemos usar el archivo de inicio automático. Todo lo que tenemos que hacer es crear una lista dinámica de los programas que estamos ejecutando antes de salir del escritorio.

Aquí hay un pequeño script de bash que preparé que analizará los elementos secundarios de la ventana raíz X11 en busca de aplicaciones para agregar al archivo de inicio automático. Tiene listas blancas y negras opcionales. Use la lista negra para cosas como el administrador de ventanas o cualquier cosa que nunca quiera ejecutar. Por el contrario, use la lista blanca para algo que siempre quiera ejecutar.

Intente ejecutarlo en un shell para ver cómo se ve la salida, luego puede ver si necesita agregar algo a la lista negra.

Deberá conectar esto para que se ejecute de alguna manera antes de salir de LXDE. Probablemente agregando una nueva entrada en un menú.

Por ejemplo:scriptnamehere.bash > ~/.config/lxsession/LXDE/autostart

Como puede ver, esto reescribirá el archivo de inicio automático cada vez que se ejecute, de ahí la necesidad de la lista blanca.

#!/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:¿ejecutar aplicaciones de Mac Os X en Linux?

  2. Linux:¿cómo ejecutar un gestor de arranque desde Linux?

  3. ¿Desde dónde se ejecuta un script de Shell?

  4. Cómo ejecutar un análisis de virus desde cPanel

  5. Cómo ejecutar scripts de Python desde shell

Ejecute sus aplicaciones favoritas de Windows en Linux

Ejecute aplicaciones de Windows en Linux con Crossover 15

Cómo ejecutar aplicaciones y juegos de Windows en Linux usando Wine

Pipx:instale y ejecute aplicaciones de Python en entornos aislados

Cómo recordar automáticamente las aplicaciones en ejecución desde su última sesión en Debian

Android:¿es posible ejecutar aplicaciones de Android en Linux (normal)?