Running Icingaweb2 on Ubuntu 16.04.1 LTS

I recently installed and configured icingaweb2 on Ubuntu 16.04.01 LTS system.

The documentation to do this seems rather sparse, and what is out there doesn’t really take into account some apparent bugs that I found in Ubuntu 16.10. I don’t know why an LTS system should have these problems, but here they are.

The package for libzend-framework-php puts all of its PHP files into the directory /usr/share/php/libzend-framework-php – but PHP itself will not find these files. PHP needs to be configured to find these files, but looks in /usr/share/php/Zend instead.

It appears that PHP 7.0 is configured to handle this, but 7.1 and 5.6 are not. Rather than mess with it all the time, I moved everything to the already existing directory /usr/share/Zend. After that, PHP worked – I was using 5.6 on the basis that Icinga2 has compatibility problems with 7 – can’t say if that is true or not, but it is something to watch for.

I fixed the problem of /usr/share/php/libzend-framework-php this way:

cd /usr/share/php/libzend-framework-php/Zend/
mv ./* /usr/share/php/Zend/

That moves everything, but be aware that this “breaks” the package and updates will not happen correctly unless you move those too. You could create a link named /usr/share/php/libzend-framework-php and point it to the current directory, but what if the upgrade process removes everything in that directory? I wouldn’t recommend it.

Another problem was with the HTMLPurifier package. When it installs, everything named HTMLPurifier* is put into /usr/share/php. What this means is that all of the PHP files named HTMLPurifier.something.php are placed in the wrong directory.

You can fix this with:

cd /usr/share/php
mv HTMLPurifier.* HTMLPurifier/

Again, unless they fix this problem in upgrades, this will need to be done on future upgrades.

These problems really surprised me, as the LTS versions are supposed to be solid and get bugs fixed quickly. Problems like these should have been caught early on.

AppStream Error in Ubuntu 16.04 Xenial

I’d been seeing this error recently:

AppStream cache update completed, but some metadata was ignored due to errors.

According to a Q&A on AskUbuntu, this is the result of a bug in the app stream package.

The package has as of 24 December is not yet in the package updates for 16.04; therefore, to fix it one either needs to add it from the proposed repository or from the backports repository.

Once you’ve enabled the backports repository (which you may not have to do at all) you can specifically pull the package from backports with this command:

sudo apt install appstream/xenial-backports

Now instead of the default version 0.9.4, you should have the updated version (0.10.1 of this writing):

appstreamcli —version
AppStream CLI tool version: 0.10.1

To complete the process, you need to update the cache data:

sudo appstreamcli refresh —force

Then make sure to do an update and upgrade to get any missed updates:

sudo apt-get update
sudo apt-get upgrade

And clean up the last of the update by removing the now unneeded libappstream3:

sudo apt-get autoremove

This should fix the problem once and for all.

Return to Window Maker (on Xubuntu 15.10)

I’ve been running Xubuntu 15.10 (Wily) for a while now, having converted from Ubuntu using the repositories. I converted to lower the memory usage, especially considering that my two most often used applications are Firestorm (a third-party viewer for Second Life) and Google Chrome (not Chromium). Using these two apps then lead me to further reduce memory usage by using Window Maker once again. (Note that the name is two words: the project’s original name was objected to by a maker of software for makers of windows and doors.)

I talked about this before in this blog (back in 2011). Several things have changed since then, beyond faster and bigger hardware. The wmaker-crm fork is now the source for Ubuntu Window Maker and is in active development. Free(code) has 145 projects tagged as “Window Maker” projects. Distrowatch lists a couple dozen active distributions that use a Window Maker desktop. Window Maker now has a entry in the Free Software Directory. There’s even a live CD called Window Maker Live.

Others have written about Window Maker as well. Barnaby has a nice write up on their Window Maker setup and resources. Duncan McGreggor has a fantastic description of their use of Window Maker (thought from 2009). Also from 2009, the information from Joshua Price remains useful, as does this information from Rowan Rodrick. A wonderful comparison (with Part 1 and Part 2) of the memory usage of desktops over at the Layer 3 Networking Blog, including a beautiful graph: Window Maker comes in at 7Mb, 9wm at 0.4Mb, XFCE at 70Mb, and Unity at 192Mb. (That means I went from 192Mb usage – to 70Mb – down now to 7Mb. Wow!)

The Arch Linux Wiki describes Window Maker installation and configuration extremely well. However, in current Ubuntu installations, there’s no need to build from source: one of the most recent Window Maker versions will be available (0.95.7 currently). There’s also no need to install the menu package, as it is automatically installed. So to start, just:

apt-get install wmaker

In configuring Window Maker, you’ll want some dockapplets. (I just searched through the apt repositories for apps that had a “wm” prefix or had a “.app” suffix.) Right now I am running these:

  • wmdrawer
  • wmsystemtray
  • wmclockmon
  • wmcpuload
  • wmmemload
  • wmdiskmon
  • wmtemp
  • wmnd
  • wmwave
  • wmstickynotes

All should be in the apt repositories, except wmdrawer which you can activate from right-clicking on the Window Maker prefs dockapp and selecting “Add Drawer.”

apt-get install wmsystemtray wmclockmon wmcpuload wmmemload wmdiskmon wmtemp wmnd wmwave wmstickynotes

Then start them up:

wmsystemtray &
wmclockmon &
wmcpuload &
wmmemload -b -c &
wmdiskmon -p /dev/sdb1 -p /dev/sdb5 &
wmtemp &
wmnd &
wmwave &
wmstickynotes &

Once they are started, you will have to move them from the minimized icon shelf at the bottom, over to the dock on the right. Press Alt and drag the icon over to the dock. If it triggers something in the applet, find a sliver of border and Alt-drag using that. You should see a white block in the dock when there is a place to drop the applet.

The Ubuntu Window Maker experience is much more polished now: the menu package is required (negating the need for a special installation), and it comes with 9 workspaces. I configured mine to use “focus follows mouse” and “autoraise selected window” – which can simplify things a bit, but is very different from the modern “click to focus” method.

As someone noted in the previous article, there is no need to run wicd if you don’t want to. The standard Network Manager works just fine, and you can manipulate it from the system tray (the dockapp wmsystemtray) just by running its system tray applet:

nm-applet &

My system tray also includes input language changer (using ibus), copyq (copy buffer manager), kupfer (program launcher), clementine (a music player), veromix (a mixer), solaar (for Logitech wireless devices), and the Google Chrome access icon (good for operating Chrome only for Chrome application purposes). Except for Chrome, all are included in the Ubuntu repositories. (If you want to type in Japanese as I did, add anthy as well – also in the repositories.) To install the complete set:

apt-get install ibus copyq kupfer clementine veromix solaar anthy

You can activate shadows and transparency and faded windows (on losing focus) with compton:

apt-get compton
compton -bcCGf -i 0.8 -e 0.8 --no-fading-openclose --sw-opti

You might wish to use different options – see the man page for more:

man compton

Many sources for Window Maker themes are dated: Tower’s Window Maker Themes (1999), WindowMaker Themes from LonelyMachines (2006), and Window Maker themes from Gozer.org (1999).

However, over at Box-Look.org, they have numerous Window Maker themes that appear to be fairly recent.

To set the background, use the wmsetbg command as before:

wmsetbg mybackground.jpg

Note that this will set all monitors and all workspaces to the same background. You can specify which workspace in the wmsetbg command, as well as update the default. I haven’t found a way to set individual monitors to different backgrounds yet.

Here is my current workspace (it uses the Lumen_Blue theme):

Screenshot 2016-07-11 12:18:52

(The background picture is from Second Life – I’m on the left.)

As long as you exit cleanly, all of your clip icons and dock applets and system tray applets will all return the next time you log in.

There are YouTube videos about Window Maker including FreeBSD 10.2 with Window Maker and GNUStep Base and an overview of Installing and Using Window Maker Live. There is an extensive overview of Window Maker Live in Japanese, a short overview of Window Maker (running on Calculate Linux) in Russian, an overview of Window Maker 0.95.6.4 on FreeBSD and an overview (from 2011) of Window Maker on Mageia Linux.

Try Window Maker and have fun with it today!

Sharing Music from Xubuntu 15.10 using Tangerine

I have a pile of music and wanted to share it to my MacBook Pro and other such music player clients. I tried using forked-daapd but couldn’t make it work.

I thought Tangerine would work better, since it was designed to be easy to use and to handle everything for you. I set Tangerine to share, made it use the Banshee music collection, and left it with no password or username needed.

First problem showed up as some errors in Tangerine operation, and no music listed on the remotes. The bug showed up in Fedora 11 in 2010, and also was mentioned in the Ubuntu forums. The fix was to add a line to one of the settings files – add this line to /etc/mono/config:

<dllmap dll="libgobject-2.0.dll" target="libgobject-2.0.so.0"/>

Place it right after the line labeled configuration, with other lines like it. Be sure to restart all Mono-based applications to make sure everyone is using the same configuration.

After doing this, the system seemed to work better on the back end (looking at messages) but there was no change for the clients. Turned out the Banshee support was the problem: when I switched to using the directory by name instead, it worked immediately. I used it with iTunes on my MacBook Pro and it is quite awesome.

Mono on Xubuntu 15.04 and 15.10

I just upgraded from Xubuntu 15.04 (Vivid Vervet) to 15.10 (Wily Werewolf) – with nary a hitch – and set out to install new stuff and check for things I could clean up.

It occurred to me to check for Mono and to see if it had been installed somehow. I was surprised to see that it was installed – I normally make a point to keep it off my systems. Most of the controversy is over the use of a Microsoft-developed technology and the legal and moral ramifications of that – I just didn’t want a huge monster taking up memory if I didn’t need it to.

So why was it on my system – what required Mono to be present? Trying to remove the mono system with apt-get gave me some clues. Looking at my list, I see three programs of significance:

The sysinfo program was a surprise – traditionally the sysinfo package held utilities such as sar and related.

I held off installing Tangerine (graphical DAAP server) because of it’s dependency on Mono – looks like Mono is already installed. I may give Tangerine a go yet.

I only have 8Gb on this machine but hopefully Mono won’t be too much of a hog.

To be sure, if Firestorm (Second Life viewer) starts showing instability, I’ll shut down all the mono apps – Firestorm is a hog.

Apport uses 100% CPU in Xubuntu 15.04 Vivid Vervet

I was on Second Life the other day, and Firestorm froze solid. After killing it, I went back on and then the entire system froze (the graphical windowing system did not respond at all).

Taking a look at the output from atop, I saw that apport was running and taking 100% CPU (user mode). This was apparently enough to freeze all of the other processes such as X11 and Firestorm and Skype and Chromium and XFCE and the rest.

I killed apport and lo! everything returned to normal.

Researching this shows that a bug was reported way back in 2008 with Hardy, and remains present in 2012 in Precise Pangolin (and here it shows on my Vivid Vervet system). The problem occurs when apport is enabled on a “production” system such as a user’s desktop, instead of a machine being used for development of the Ubuntu distribution.

To disable it, go into the file /etc/defaults/apport and change the appropriate line so it reads:

enabled=0

That will disable apport so it won’t run on boot. The next step is to actually stop it entirely with:

service apport stop

If you really want to make sure everything is clean, you can reboot instead. This way, apport never starts at all, nor anything that depends on it.

If you want to go all out, you can remove apport entirely with:

apt-get remove apport

If you purge it, your configuration files are removed too – but by just removing it, you have a greater chance that apport won’t be enabled on an upgrade. If you upgrade from one distribution version to another, it might be re-enabled.

Another thing you may wish to do is to clean out the crash directory. The utility apport reads the crash directory and has been known to hang there. Cleaning it out may help in the event that apport winds up running and hangs. Clean it out with:

rm -f /var/crash/*

Hopefully, this will help you resolve any apport issues.

Getting Logitech Unifying Wireless to Work in Xubuntu 15.04 Vivid Vervet

I had a mouse (M215) and keyboard (K400) that were both Logitech devices. What you may not know is that the devices made by Logitech share the same wireless protocol, and one transceiver on the computer can handle multiple devices – about like Bluetooth. Since the mouse had no transceiver that I could find – tying it to the transceiver that came with the keyboard was very appealing.

You have to pair the devices with the transceiver on the computer, and a product called Solaar will help you do that. It has many useful features to help you use your Logitech wireless devices fully.

To install, you need to add a third party source. You can do this at the terminal like this:

sudo add-apt-repository ppa:daniel.pavel/solaar
sudo apt-get update
sudo apt-get install solaar

This adds the repository, then updates the data – then installs solaar from this repository. After that, you will need to run solaar:

nohup solaar &

This will add an icon to your top menu panel. This question from AskUbuntu has detailed pictures and descriptions of solaar.

One surprise is the power plug-in for the menu bar will recognize the power found in the Logitech devices and report it along with system power. The solaar plug-in does as well, but seeing it in the power plugin is a nice touch.


	

Installing Xubuntu 15.04

I installed Xubuntu onto a SSD recently, and and some things I had to work through.

One big one was the setting up of the system to be able to handle foreign language input. There were a couple of problems here.

First, there are several aspects and they get confused and mixed together frequently:

  • Language
  • Regional preferences
  • Keyboard layout
  • Input method

The first place one might go to is the Language preferences; however, this only sets the desktop and application language, such as in menus, menu bars, application dialogs, and so forth. This sets the language of the system, nothing more. It is relatively straight-forward to add languages here: click on the Install/Remove Languages button and place a checkmark on the ones you want and remove it from those you don’t.

The next place one will probably check or think to check is the Region settings for date, time, numbers, currency, and related. For example, in North America a number might be shown as 250,000.00 – whereas in Europe, one would see 250.000,00 for the same number.

Chances are, once you set your region to what you use locally, this won’t change even if the language you are using does.

Then the problem of how to type in a foreign language comes up. Not much use to a language if you can’t type in it, right? For me, the challenges in this case are French, Esperanto, Japanese, and Russian. Definitely not your typical mix!

French was the easiest. Since the French use the Latin alphabet, like English, the question was how to make the French accents. There is no way on the normal keyboard to do this. Using a French keyboard makes it easy, but I don’t have one – but rather the typical US keyboard. What to do?

There are two possible fixes – the AltGr or Compose method, and the dead keys method. I chose the dead keys method. What this does is makes some of the standard keys act like modifiers, providing the accents necessary for French and similar languages (it works for Esperanto, for example). To use a dead key like the single quote, double quote, back-quote, or tilde, you type it and then the character desired. For example, consider the French verb éspèrer, the Esperanto word ĉe, or the Spanish word señor – all created with the US keyboard with dead keys.

You set this up using the Keyboard setting panel. Add a new layout, and choose the English (US, international with dead keys) layout. There is also a English (UK, international with dead keys) layout, as well as the English (US, international with AltGr keys) layout alluded to before. I have not tried those.

Now with this keyboard added, this will make the accented Latin characters available to you. The Change Layout Option shortcut makes it easy.

However, this leaves Russian and Japanese as a final challenge. Both require a modification to the input method – but there is no input method configuration or set up on Xubuntu. Input methods on Xubuntu use something called iBus – which can be installed from the command line:

apt-get install ibus

What this does is to install iBus using the standard Xubuntu packaging system. IBus can be installed with the Ubuntu Software Center: add the item called Keyboard Input Methods.

To get the system set for Japanese, add a product called Anthy:

apt-get install anthy

This should install the Anthy setup and configure it for you. You need to log out and back in to make Anthy active and operational.

After a relog, go to the Language Support setting panel and choose IBus for the input method. Then go to the Keyboard Input Methods panel and select the Input Method tab, and add the appropriate language input methods. I added the following:

  • Japanese – Anthy
  • Russian – Russian Phonetic

Close that out and you should have the input methods available to you. Note that having English, English with dead keys, Japanese (Anthy) and Russian available makes life a bit complicated.

You can switch input methods using the shortcut defined within the Keyboard Input Methods panel. The default is <super>space which works well. If you wish to have a shortcut to be able to change keyboard layouts, make sure it doesn’t conflict with the shortcut for input methods or any other.

Anthy allows you to be able to input Japanese with a standard US keyboard layout (with or without dead keys). It uses the phonetic spelling to create hiragana: typing ohio generates おひお for instance. Using Anthy is pretty straight-forward, and I won’t cover it here.

Using the Russian input method acts more like a “new” keyboard layout – which can make things a little confusing, but not too much. It allows you to type Russian using the keyboard phonetically – so the Latin letters are mapped to their Russian equivalents: typing pa-russki generates па-русски for instance.

You can add the keyboard layouts (not input methods!) to the Xubuntu panel easily: right-click on an item on the panel, and select the menu item Panel… then Add New Items. If you see something totally unrelated – select a different item to right-click on the panel. Look for Keyboard Layouts and add that to where you want it on the panel.

The interaction between the input methods and the Keyboard Layouts panel is a bit interesting. I have four input methods that I can select: English (US), English (US, international with dead keys), Anthy, and Russian (phonetic). Selecting one of the English options selects that keyboard layout and shows an English flag in the Keyboard Layouts panel. Selecting Anthy shows an English flag as well – using the English keyboard to generate Japanese. Selecting Russian shows the Russian flag and generates Russian.

There is also the once popular SCIM method of input – this is still supported but it appears that IBus is the future, and SCIM was not tried.

It should be a lot easier to support only French or Japanese or Russian – but now you know how, and supporting all three is doable. Once again, Linux and Ubuntu show their high-quality support for international languages.

Running Firestorm on Ubuntu Vivid (15.04)

I recently installed Ubuntu Vivid 15.04 (using UNetBootin to create install media). First thing to install was my Second Life viewer of choice: usually Firestorm or CtrlAltStudio.

First problem is that CtrlAltStudio doesn’t have a Linux version – they say that:

Windows and Mac OSX installers are provided, and if you have the know-how the source code should be readily updateable for Linux.

So off to Firestorm it is. Firestorm has a Linux version, but only 32-bit – not 64-bit. What this means is, if you want to run Firestorm on a 64-bit Linux environment, you have to have the 32-bit libraries for it to use.
 
In the early days of 64-bit Ubuntu, this was easier – you just loaded the package ia32-libs and you were done. However, that package is no longer present in recent versions.
 
There are great directions from the Phoenix Firestorm Project on how to do this on Trusty Tahr (14.04) and Utopic Unicorn (14.10) by using the packages from Raring Ringtail (13.04). However… Raring Ringtail isn’t in the Ubuntu archive FTP site, and I was installing onto Vivid Vervet instead.
 
If you follow the directions, but use precise instead of raring – you can install the libraries from Precise Pangolin (12.04 LTS) which is still supported, and they work well with Vivid Vervet.
 
The real solution is to create a 64-bit Linux version of Firestorm – but that hasn’t happened yet.
 
The final step was to fix the screen resolution – for whatever reason, it took a lower resolution and blew it up to fill the screen – it was painful to look at. Within the Debug menu on login – or the Advanced menu after login – there is an entry labeled “Set Screen Size…” Use that to set the appropriate size and log out of Firestorm and back in.
 
In my case, that’s all it needed. I’m a happy camper.

 

Apt-Cacher on Ubuntu Trusty

I have been upgrading a data center server from Lucid Lynx to Ubuntu Trusty, and have been working with the new Icinga, Puppet, and other tools.

One nice change was switching from apt-proxy to apt-cacher. apt-cacher is a cache for your apt package fetches, and speeds up access to apt repositories by keeping the relevant packages inside your network instead of in the great Internet beyond.

Configuring apt-cacher was easy. The set up is done in /etc/apt-cacher/apt-cacher.conf – here is the active configuration in my apt-cacher.conf:

cache_dir = /var/cache/apt-cacher
log_dir = /var/log/apt-cacher
group = www-data
user = www-data
allowed_hosts = 10.22.0.0/16
ubuntu_release_names = dapper, edgy, feisty, gutsy, hardy, intrepid, jaunty, karmic, lucid, maverick, natty, oneiric, precise, quantal, raring, saucy, trusty, utopic

Most important is the allowed_hosts parameter; I also updated ubuntu_release_names to include everything after quantal. The others are predefined values.

The default port is 3142 and you can set up your clients to use the proxy very simply with an additional file in /etc/apt/apt.conf.d – such as 98apt-cacher:

Acquire::http::Proxy "http://10.22.5.89:3142";

This assumes that your apt-cacher server host is 10.22.5.89 and you are using the default port of 3142 – which is configurable.

If you want to test it out – without any actual installs – you might try an upgrade this way:

apt-get update
apt-get -d upgrade

This updates the local package listings – through the proxy! – then downloads all packages needed for an upgrade of your local system, but without installing anything.