Wallpaper changers on lxde or lubuntu are nice to have but tough to find, particularly if you are trying to stay lightweight. Usually wallpaper changers don't usually work because they aren't compatible with pcmanfm.

So after searching the Internet for quite some time and fiddling around I came up with a super easy, simple way to have a wallpaper changer on lxde / lubuntu without using any memory or complicated scripts or programs.

I tried the wallpaper changer called variety which i found on these forums... however it didn't work for me but also upon launch it was using about 40 megs of ram on my system just to change the wallpaper... not exactly lightweight, and it was always running in the background.

I've also looked at some scripts and while they do work they are more complicated then they need to be... although i will say that they usually provide some type of timer wallpaper change feature, which this solution does not... however you'll see it really doesn't matter.

Ok here we go.

First lets make a desktop icon.

To create a desktop icon right click on the desktop and create a blank file. Name the file whatever you want just end it with .desktop I usually name the icon randomwallpaper.desktop

Unfortunately I am unable to use it in a stock Lubuntu 12.10 because I am affected by a bug in pcmanfm 1.0.1-0ubuntu1, where pcmanfm refuses to launch after setting the wallpaper by command. The latest git version 1.0.2-alpha1 fixes the bug though, which I was able to temporarily test on a non-persistant liveusb. Bug: http://sourceforge.net/tracker/?func...56&atid=801864

I guess I'm old school, anything over 10 megs for a wallpaper changer seems crazy. (in truth anything over 5)

In my mind ram is the single most valuable resource in your computer that you actually have quite a bit of control over. There has never been a time that saving as much ram as possible wasn't a good thing.

5-10 years ago 5 MB would have been a reasonable expectation using the modern technologies of that time. Not now. Reason is simple - RAM is cheap, everyone simply prefers using clean easily maintainable high-level code to highly optimized low-level code, so every tier in the application stack consumes more RAM than several years ago (VM, UI toolkit, application code, etc.). Things add up and now an application that displays one empty window consumes 9 mb RAM.

A full-featured wallpaper changer can fit in 5 mb only if coded in low-level C, hand-crafted for a particular type of use-case, with no GUI, or using some very light non-standard UI toolkit. This won't be a general solution that people can install and use in a user-friendly manner.

Another experiment: try running the find/shuf command on a big directory tree (several thousand files) several times in a row. See how much time and HDD activity the first run takes and then how much faster the next runs are. This is because the OS caches the results. You cannot easily measure this memory consumption, but it is there, simply not allotted to a specific process. There is no escaping - you either have to trash the disk heavily every time, or you need to cache something and consume RAM. Speed vs memory usage is pretty much a "law of nature" - there is always need for compromising between them.

I said it earlier - your approach is elegant, but will only serve some people. From there on, you seem to ignore any possibility that the use-case your solution covers is not the only one possible or that users may want something more than the mere basics, like filtering by image size or automatic downloading of new wallpapers so that they don't look at the same several hundred images till they know them by heart. Also you seem to confuse "simple" and "lightweight" - they are different things that don't necessarily go together, and same goes for "complex", "featureful" and "heavy".

something that run then exits, get the job done and consumes no ram is in my mind a better solution...

I said it before, a "better solution" is a subjective matter: my exact words were "this very strongly depends on the usage pattern and how you value things" - "things" meaning CPU and memory consumption, features, simplicity of usage, etc, etc.

Judging by the feedback, Variety is clearly a great solution for a lot of people. It doesn't suit you - I understand this, but please refrain from putting labels on it that don't represent reality.