How to Change Background pictures automaticaly at regular internver



Did you added new pictures to the ones that were there ?
If yes, did you have to add them one by one or you simply COPIED them into some folder ?

I am ok now, pictures are rotating in a loop, but when I tried to add some picture, I think we have to add them one by one through some tools, but I am not sure… DIdn’t played / tried enough yet… So if you imported a lot of pictures you had easily, let me know how… THe file format, from what I saw, was not the same…


Yes, I added them one by one. Used the Settings-Wallpaper-Picture-add a picture, it then adds your picture to your home…hidden folder with .e\e17\backgrounds\…which have the.edj formats


It worked. And after that, I brought back those personal / custom pictures to /usr/share/enlightenment/data/backgrounds


Good to hear that o:)

Can you please provide me with your script that allows the repeat loop. I don’t write code and can understand some of what is written but can write any.


I followed @Thanatermesis recommendation
while true ; do
OLD CODE LOOP - (the “for” block code)

So it is the following :

source /usr/lib/elive-tools/functions

    # pre {{{
    local file

    if grep -qs "boot=live" /proc/cmdline ; then

    for arg in "$@"
        case "$arg" in

    # }}}

    # minutes
    #time_switching_seconds="$(( 5 * 60 ))"
    # seconds
    if [[ -z "$time_switching_seconds" ]] ; then

    # default wallpaper to use
    default_wallpaper="/usr/share/enlightenment/data/backgrounds/Elive Stars.edj"

    #el_debug "Starting (infinite) loop for switching between existing wallpapers"
    #while true

    # wait a bit before to start
    if ((is_live)) ; then
        sleep 40

    el_debug "Starting demo switch between wallpapers"

    # not infinite loop mode, so more friendly
    while true ; do
    for file in /usr/share/enlightenment/data/backgrounds/*edj $HOME/.e/*/backgrounds/*edj
        if [[ -s "$file" ]] ; then

            el_debug "Switching to desktop wallpaper: $file"

            enlightenment_remote -desktop-bg-set "$file"

            sleep "$time_switching_seconds"

    if [[ -s "$default_wallpaper" ]] ; then
        el_debug "Set default wallpaper: $default_wallpaper"
        enlightenment_remote -desktop-bg-set "$default_wallpaper"


main "$@"

# vim: set foldmethod=marker :


so I used the script in usr bin


I edited the post of @yoda to be correctly formated in the forum, so that @Terry_Rosinski can copy-paste it correctly (using the “pre-formated text” )

Also removed the & from the done which was in the wrong place, I assume that the script works good this way, but to run it in background mode you need to do the background to the command itself (not the inside code), something like:

command-wallpapers-stuff &

it will exit from the terminal after to run it in background
that way to run the command can be added to the file .elxstrt to run it at the desktop startup


2 posts were merged into an existing topic: Update of desktop not working


Weird it was working, I was typing enlightenment-wallpapers-switcher 1 in the terminal window and was closing the terminal windows and the background changing was ok. but I will modify it and add it to elxstrt so I don’t have top start it manually


yes it worked but the & was in the wrong place, so you needed to run the entire command/tool in background and instead it ran the loop in background (which, just run the loop and continued the script process), this causes the somewhat bug that just after to start the loop, the default background is set, but you simply don’t notice this since just after that it starts switching to the first/next wallpaper


Trying to locate that file without success… .elxstrt


its in the home of the user:

cat .elxstrt
scite .elxstrt


How do I add the line properly ?
that line at the end ?



nope, this will run the original script (see the full address), since you moved it to your home you should use the new address

but since your PATH variable should contain your home as preference if the directory exists (i mean, $HOME/bin/ , or $HOME/.local/bin/ if you preffer this other one), running the command itself without the full path address will search for it in your home first, so running it instead of hte original script


so at the end I add :


I mean after :
#egrep -i ‘synap|alps|etps|elan’ /proc/bus/input/devices
#if grep -qsiE ‘synap|alps|cyapa|trackpad|etps|elan’ /proc/bus/input/devices ; then
#if ! ps ux | grep -v “grep” | grep -qs “syndaemon” ; then
#LC_ALL=C syndaemon -d -i 1 -t -k &


Yes, but:

  • add also an & at the end of the command

Small correction: I said before that you didn’t needed the full path because the variable PATH was already using this place as preference against /usr/bin, this was true but only for your terminal shell, not for the script, so yes your command is correct this way (including the full path) :slight_smile:


Someone could me the default enlightenment-wallpapers-switcher 1 script ?
months ago, I tweaked it for my own purpose and I would like to bring it back to it’s default to experience the Elive 3.0.3 background “stuff” @Thanatermesis prepared for us.

I don’t know if I will be able to experience it’s magic on a 2 screen Elive config, but want to try.

For now I simply see my own rotating WallPapers…
I could reinstall Elive in a VM to get the default script but asking for it hear is simpler.


to recover it, reinstall the package (apir) which includes it (dpkg -S /usr/bin/filename…), or delete the script that you copied in your home location (so that the original one will be used instead)