Prediction result: corporate Linux

Ten years ago I predicted that 30% of corporate desktops would be Linux or similar open source desktops.

It’s very hard to find any accurate (or even confident) numbers, but it seems clear I was wrong.

This month, NetMarketShare puts Linux usage at 1.28%, and w3schools puts Linux usage at 5.2%.

I think companies almost certainly use Linux more than home consumers. Certainly, my own company has a very large section of its population using Linux – all users who have access to sensitive information are required to use it to increase security.

But, I would be very surprised if levels were at 30%.

Linux desktop usage does continue to creep upwards though, while everyone is distracted looking at phones and tablets. At some time there may be a tipping point.

Preventing Kupfer switching to existing windows

I am enjoying using Kupfer but I don’t like the way it switches to an existing window of an application, instead of launching a new instance.

I should write a patch for a config option or similar, but for now, here are my notes on how I disabled the behaviour in the source code:

sudo sensible-editor /usr/share/kupfer/kupfer/launch.py

I just commented out 3 lines inside the launch_application method (lines 70-72 for me):

#       if activate and svc.application_is_running(app_id):
#               svc.application_to_front(app_id)
#               return True

This prevents Kupfer looking for open windows before launching.

Using Kupfer on MATE

I am trying out MATE desktop and really liking it.

I like to use a (GNOME-Do style) keyboard-driven application launcher, and have found Kupfer really good.

Kupfer as packaged for Ubuntu MATE does not support MATE desktop, so the file manager (“Caja”) does not show up by default, along with other things like the preferences dialogs, and there is no support for actions like Log Out or Shut Down.

To get MATE applications to show up in Kupfer, all I had to do was make up a config value that is not presented in the preferences, by editing the config file:

pluma ~/.config/kupfer/kupfer.cfg

I found the line that started “desktop_type = ” and changed it to say:

desktop_type = MATE

Update [Thanks to Kristian Nygaard Jensen and Igor Santos]: if you can’t find that line in the file, add this at the bottom of the file:

[plugin_applications]
desktop_type = MATE

To get MATE session commands in Kupfer, I copied the GNOME session management plugin and made a similar one for MATE.

cd /usr/share/kupfer/kupfer/plugin
sudo cp session_gnome.py session_mate.py
sudo pluma session_mate.py

I just changed the 3 lines after “# sequences of argument lists”, and made them look like this:

LOGOUT_CMD = (["mate-session-save", "--logout-dialog"],)
SHUTDOWN_CMD = (["mate-session-save", "--shutdown-dialog"],)
LOCKSCREEN_CMD = (["mate-screensaver-command", "--lock"],)

When I restarted Kupfer I was able to open MATE applications and control the MATE session using Kupfer.

There is an open pull request from 2013 for Kupfer to add MATE session management: github.com/engla/kupfer/pull/15 – thanks to its author labero, since this showed me what I needed to do for that part.

Rabbit Escape 0.3.1 – now with zoom!

I’ve just release the latest version of Rabbit Escape, which makes things look a lot nicer because you can zoom in, getting you much closer to your rabbits:

rabbitescape-android-zoomed

There are still 60 levels of Lemmings and Pingus -like gameplay, all downloadable for free artificialworlds.net/rabbit-escape/.

I’ve also improved performance significantly, so you should notice things get smoother on older devices.

All those zoomed images increase the download size to 9MB, which is a pity, but that’s still pretty small.

Switching Xfce to use metacity

I am trying out Xfce and liking it. However, I’ve never found a window manager better than Metacity, so I’d like to use it.

Here’s how I switched:

# Install it
sudo apt-get install metacity metacity-themes

# Tell it how many workspaces I want
gsettings set org.gnome.desktop.wm.preferences num-workspaces 9

# Of course, put my maximise, close buttons etc. in the right place
gsettings set org.gnome.desktop.wm.preferences button-layout ':minimize,maximize,close'

# See what themes are available
ls /usr/share/themes/

# Set the theme I want
gsettings set org.gnome.desktop.wm.preferences theme Dopple

# Try it out immediately
metacity --replace

# Make the change permanent, log out and edit
# ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml
# and change this line:
#  <property name="Client0_Command" type="empty"/>
# to this:
#  <property name="Client0_Command" type="array"><value type="string" value="metacity"/></property>