One option for weak or old machines

So…

That was a somewhat circuitous journey from wishing to produce an ultra lightweight “desktop” environment that still, to some extent, mimicked the classic desktop metaphor I am so familiar with, to eventually recognizing and embracing the virtues of a minimal, uncluttered windows manager like Openbox.

Having spent several days messing around with various bells and whitsles, I am now just using vanilla openbox with a conky clock and date. The only addititonal functionality has been added by x-tile. Other than that it’s fine as it is.

Final tally is 117MB from standing start.

It’s a very good number. To go lower than that you would have to run a different kernel I guess. Probably tens of MBs could be saved by that. However this is not a research project but you wanting something lightweight for old hardware. Did you try it on hardware?

2 Likes

Hi Mrtribute. I will be installing it on my Acer ONE notepad sometime today.

How’s your project going Steve?

Hi Steven

So… I have been messing about a bit and have come up with a new version

It can be run in three different modes:

Mode 1) Vanilla Openbox, but with a customised menu. This comes in at 127M

Mode 2) Openbox with two Tint2 panels and a panel menu (using the cutomised Openbox menu), but with no desktop management. This comes in around 150M

Mode 3) Openbox with two Tint2 panels, a panel menu and desktop management by PcManFM. This comes in around 172M

These are all running off the same installation.

I am aiming to have a multiple-choice menu option whereby the whole system can, at a single click, be restarted in each of these three modes.

Here is a video of mode 2 and 3

and here is a video of mode 1

1 Like

Is the minimum memory requirement just purely academical, or you do have some stringent reason to go with the lowest possible value? The way Linux manages memory (particularly in low memory hardware in the presence of a swap file) means you can actually lax your current requirements considerably.

Whatever your reason, however you need to get a bit more technical, Steve. These values you are reporting are not telling the whole story. One of the secrets to squeeze the most memory of your system is not changing programs based on immediate reporting, but learning about the different properties of your programs so you can better judge if a program is in fact utilizing less memory that it is being reported to you, or if on the other hand it is hiding memory from you.

  • You’ll need to inspect different types of vmstat output. two useful options are -s and -m.
  • doesn’t hurt, and helps too, to cat proc/meminfo, which you should do 3x, once before you start X and redirecting to a file so you can inspect later, another in your GUI startup programs list (also redirecting to a file) and another some 30 seconds after logging in to your GUI.
  • You really need ps_mem as I have advised you before. Let me know if you need help installing it.
  • you definitely don’t want free and you don’t need your GUI task manager either.

If you can start reporting those, we can start looking at values that will give hints on where to optimize memory or where a program that is reporting 20MB is being in fact just as memory conservative as another saying it is only using 5MB.

Hi Marfig.

On the one hand, this is merely entertainment for me. I’m just a bit of a nerd.

At the same time, memory and information-processing power is an issue on some of my devices and I also have friends who would benefit. I do understand about how the measure of Ram usage I have used is very rough. But, as a rough and ready approximation, it’s good enough for my needs. That is to say, I am pretty confident that this setup is just about as skinny as I can get it. Or, at least, the vanilla Openbox one is. The only way to beat that would be to change the underlying Distro. So, for example, if I use pure Debian, Openbox immediately drops another 10-15MBs. But, for greater convenience, I have used the Ubuntu base.

The other two modes are, perhaps, only slightly lower than LXDE in terms of Ram consumption and so the difference is sufficiently slight that it begs the question of why bother?

For me, the answer is the menu. Which takes me back to the thing I mentioned at the beginning of this thread. The LXDE menu has always been a pain for me to edit. The config file is horrible to edit and the only GUI menu editor available, “lxmed”, is absolutely terrible. It does not allow for the creation of menus and sub menus. But, of the one thing it does do, which is the creation of launchers, it is very unreliable and crashes regularly. The truth is, if I could have ever have managed to get to grips with the LXDE menu config file, I would probably never have been motivated to go down this little rabbit hole i have just done. But, as it is, in terms of getting to grips with that config file, I am too thick or lazy or both.

Don’t misunderstand me, there is nothing particularly wrong with the LXDE initial, out of the box, menu structure and, if one is likely to only install a smallish list of typical programs, then it’s good enough. But, I always like to have a very specific menu architecture. No particularly good reason. Just…again…I’m a bit of a nerd.

So, this is the main reasons why this works for me because of it being the Openbox menu and with that menu being editable by Obmenu, which allows for complete and easy edit-ability of that menu. The fact it is slightly lighter than even LXDE is a welcome bonus and I have certainly aimed for that, Though, that is only half of the story.

However, I am happy I’m happy to make the VM available to you or anyone else to test it more thoroughly if they wish to.

Or, alternatively, give a list of commands to input when running them, and I’m happy to report the results back on here.

2 Likes

Regarding ps_mem, this was not available. Nor was it in the repos. So, I would be grateful if you could give me some advice on how to install that.

Looks like you’re all having fun creating something new :slight_smile:

Some other projects you might want to look at are http://fluxbox.org/ and vala-panel. Vala Panel is available in Ubuntu since 17.10 Alpha 2 and I packaged it as part of the work to get Global Menu working. Vala Panel is a desktop agnostic lightweight panel.

3 Likes

I really need to write the tutorial on python package installation and setting up a local python environment that is isolated from the system python. I promised it a while ago and have yet to fulfill. But I’m feeling too lazy to do it just yet.

So, instead here is the MacGyver way:

$ wget https://github.com/pixelb/ps_mem/raw/master/ps_mem.py
$ sudo mv ps_mem.py /usr/local/bin/
$ sudo chmod 755 /usr/local/bin/ps_mem.py 

This installs ps_mem. To run it you need sudo, since ps_mem makes use of system facilities that are only available through elevated privileges.

You may also want to save the following into a new file called ps_umem or whatever you prefer:

#!/bin/bash
for i in $(ps -e -o user= | sort | uniq); do
    printf '%-20s%10s\n' $i $(sudo ps_mem --total -p $(pgrep -d, -u $i))
done

Save the file in your ~/.local/bin/ directory and make it executable with $ chmod 755 ~/.local/bin/ps_umem. If this directory is not in your PATH, add it. This script will also give you a per-user rundown of your system memory consumption.

2 Likes

Just installed Lubuntu 17.10 and logged into an Openbox session, installed vala-panel and am running it right now. It’s outstanding looking Martin.

Very nice menu structure. Though, I have yet to figure out how to edit it.

All running at around 170MB on the Ram. So nice and light as well.

Can you point me to how to edit the menu Martin?

Ar-ar humor :smiley: It would only stand to reason that MacGyver would be a Open Source person. :sunglasses:

I do not know if it’s standard, x tile uses 51.3 Mib.
I put it in applications at startup

No need to put in in start-up apps. Indeed, I would council against that for the reason of Ram consumption you mentioned.

Also, the x-tile applet which sits in the system tray is quite unnecessary and is, I suspect, the main culprit in that Ram consumption. Though, it may be useful to bring up the applet/gui occasionally to set which, if any, specific windows you always wish to exclude from tiling. For example, x-tile will treat tint2 panels as windows and then tile them unless they are excluded.

For the actual tiling operations themselves, instead of using the GUI, after installing simply execute x-tile with the following commands:

x-tile -h or man x-tile (lists all up to date command line options)
x-tile w (x-tile main window)
x-tile z (undo the latest tiling operation)
x-tile i (invert the order of the latest tiling operation)
x-tile y (cycle the order of the latest tiling operation)
x-tile v (skip main window, directly tile all opened windows vertically)
x-tile h (skip main window, directly tile all opened windows horizontally)
x-tile g [rows [columns]] (skip main window, directly tile all opened windows grid given the number of rows and columns)
x-tile 1 (skip main window, directly custom tile 1 all opened windows)
x-tile 2 (skip main window, directly custom tile 2 all opened windows)
x-tile u (skip main window, directly tile all opened windows triangle-up)
x-tile d (skip main window, directly tile all opened windows triangle-down)
x-tile l (skip main window, directly tile all opened windows triangle-left)
x-tile r (skip main window, directly tile all opened windows triangle-right)
x-tile q (skip main window, directly quad tile all opened windows)
x-tile m (skip main window, directly maximize all opened windows)
x-tile M (skip main window, directly unmaximize all opened windows)
x-tile c (skip main window, directly close all opened windows)

The commands can be placed in panel launchers for your favourite tiling options. Thus, you can simply click on one of the options on the panel and your active windows will instantly tile.

All of the above mans that x-tile is only consuming ram for the moment it is carrying out the operation.

1 Like

If you need me to show you how to do that, let me know and i will post instructions on here

Thank you,
I actually use Xtile since 12.04 and I find it a very useful software, even indispensable for me.
At the time of the transition from Windows to Ubuntu, I do not think that I would continue to use Ubuntu if I had not found a fast tiling windows system, because with Compiz I've never understood or how to use it or how configure.

Yes, it is true that x-tile commands work even if the applet is not active in the system tray, I leave it active because I do not have any ram problems, but in fact, it seems to me that xtile consumes less ram than you .

I have prepared icons modified by me with gimp, to put in the panel the most used command launchers, otherwise there are also icons in /usr/share/x-tile/glade , but mine are more visible. :wink:





Another post in this forum: X tile: tile windows in different way

1 Like

Nice icons…

I’ll be having a copy of those!..:slight_smile:

Am also trying to build a good solid base buddy looking forward to seeing your guides .. tried something below

@stevecook172001 try this for light weight this can be tested on others
nice to have added buttons even on awesom

add to .xinitrc
and just startx

awesome
exec marco &
exec mate-panel

1 Like

So, the latest iteration of my Openbox emulation of the Mate desktop and main menu has come on quite a way over the last year or two. Thought I would share a video of it.

I have created this partly for nerdy kicks and giggles. But, partly, it has a real function of providing a nice, usable and familiar desktop environment for very old and/or weak machines.

The setup is basically Openbox and Tint2 panels with an option to manage the desktop on the fly with PCmanFM

2 Likes