¿Dónde poner un comando para que se ejecute cuando inicio sesión en Lubuntu ejecutando SDDM?

¿Dónde poner un comando para que se ejecute cuando inicio sesión en Lubuntu ejecutando SDDM?

Estoy intentando configurar un fondo de pantalla desde la terminal. El guión es:

pcmanfm-qt --set-wallpaper=$(ls /home/$USER/.local/share/wallpapers/*/* | shuf -n1)

Esto cambia el fondo de pantalla, pero quiero que se ejecute automáticamente cada vez que inicio sesión.

Intenté colocar este script en algunos archivos adecuados, como /etc/X11/xinit/xinitrc Si obtengo el archivo, se ejecuta como se esperaba, pero no sucede nada al iniciar sesión.

¿Alguna ayuda sobre dónde colocar esa línea para que se ejecute cada vez que inicio sesión? (preferiblemente en mi carpeta de usuario y no globalmente)

Estoy usando Lubuntu 19.10 con Simple Desktop Display Manager (SDDM).

Respuesta1

Como es SDDM:

Mirando la página de manual desddm.conf, hay

SessionCommand=

Ruta del script a ejecutar al iniciar la sesión del usuario. Este script recibe el valor de la configuración "Exec" en el archivo ".desktop" de la sesión seleccionada y lo ejecuta. El valor predeterminado es "/etc/sddm/Xsession".

Así que cree ese archivo, o modifique sddm.confy agregue su propio archivo, luego intente hacer algo en este archivo.

Para fines de depuración, escribir la salida mediante la redirección a algún archivo /tmp/como archivo de registro es una técnica útil.

Entonces, como paso inicial, intente algo como

echo "Session file executed" >> /tmp/my.log

y vea si esto hace algo cuando inicie sesión. Luego intente agregar su comando de fondo de pantalla.

Respuesta2

sddm.conf especifica varias secciones, de las cuales desea el 'SessionCommand'parámetro de la [Wayland]sección. El script predeterminado, que se encuentra en, "/etc/sddm/wayland-session"busca y genera los siguientes archivos de script en el directorio de inicio de su usuario:

En orden:

$HOME/.bash_profile, $HOME/.bash_login, $HOME/.profile.

Debería poder colocar el comando de configuración del fondo de pantalla en cualquiera de estos tres archivos en su directorio de inicio para activarlo al iniciar sesión.

Nota: Técnicamente uso Ubuntu y no Lubuntu, por lo que puede haber diferencias en el sistema, pero esto debería ser algo bastante predeterminado en ambas distribuciones.

Respuesta3

Aquí hay un artículo que encontré:https://smallbusiness.chron.com/run-command-startup-linux-27796.html

  1. Coloque el comando en su archivo crontab. El archivo crontab en Linux es un demonio que realiza tareas editadas por el usuario en momentos y eventos específicos. Para editar el archivo, abra una terminal y escriba "sudo crontab -e" para abrir su archivo crontab en el editor de texto predeterminado. En la primera línea disponible, escriba "@reboot xxxx", donde "xxxx" es el comando que desea ejecutar. Guarda el archivo y cierra.
  2. Coloque un script que contenga el comando en su directorio /etc. Cree un script como "startup.sh" usando su editor de texto favorito. Guarde el archivo en su directorio /etc/init.d/. Cambie los permisos del script (para hacerlo ejecutable) escribiendo "chmod +x /etc/init.d/mystartup.sh".

  3. Edite el script /rc.local usando su editor de texto. En lubuntu, se encuentra en /etc/rc.local. Una vez que agregue los comandos que desea ejecutar, asegurándose de hacerlo como root, guarde el archivo y salga. Los comandos se ejecutarán después del próximo inicio.

información relacionada