Friday, 27 October 2017

Ubuntu Cinnamon


Besides Ubuntu there are also recognised Ubuntu flavours that include:
  • Kubuntu — Ubuntu with the K Desktop environment
  • Lubuntu — Ubuntu that uses LXDE
  • Mythbuntu — Designed for creating a home theatre PC with MythTV
  • Ubuntu Budgie — Simplicity and elegance – Budgie desktop powered by Ubuntu
  • Ubuntu GNOME — Ubuntu with the GNOME desktop environment
  • Ubuntu Kylin — Ubuntu localised for China
  • Ubuntu MATE — Ubuntu with the MATE desktop environment
  • Ubuntu Studio — Designed for multimedia editing and creation
  • Xubuntu — Ubuntu with the XFCE desktop environment
with the recent change that the final stable non-LTS release of Ubuntu GNOME is 17.04 as Ubuntu now uses the GNOME desktop.

But in addition to the flavour Ubuntu derivatives are customizations which consist of Ubuntu based distributions which are created and maintained by individuals and organizations outside of Canonical and have varying relationships in working with the Ubuntu community.

At least two of these customizations (Cubuntu and Mintuse the Cinnamon desktop which is a fork of the GNOME 3 desktop.

With Cinnamon now included in the 'universe' repository of community maintained software for Ubuntu three key packages are available:
  • cinnamon — Innovative and comfortable desktop (essentially the Cinnamon shell)
  • cinnamon-core — Cinnamon desktop environment - essential components
  • cinnamon-desktop-environment — Cinnamon desktop environment - full desktop with extra components
and these can be downloaded and installed to create an 'Ubuntu Cinnamon'. Note that the packages are inclusive so 'cinnamon-core' includes 'cinnamon' for example.

To demonstrate this I've respun the Ubuntu 17.10 ISO and installed the minimalist 'cinnamon' package and created ISOs suitable for booting on both Intel Atom-based and Intel Apollo-based mini PCs.

The ISOs can be downloaded from:

Atom (linuxium-atom-ubuntu-17.10-desktop-amd64.iso)
Apollo (linuxium-apollo-ubuntu-17.10-desktop-amd64.iso)

Whilst the ISOs target specific Intel architectures to ensure everything works they should also work on any Intel device.

Unfortunately respinning an Ubuntu ISO with Cinnamon normally fails because the required 'blueman' package installation tries to reload the system message bus configuration. However I've created a workaround which requires patching my 'isorespin.sh' script.

Anyone wanting to spin their own version can download the Ubuntu 17.10 ISO from http://releases.ubuntu.com/17.10 and respin using the following instructions in consultation with my documentation.

After downloading the ISO the next step is to download the basic patch 'cinnamon.isorespin.sh.patch' and decide which Cinnamon package from 'cinnamon', 'cinnamon-core' or 'cinnamon-desktop-environment' you want to use.

The basic patch assumes 'cinnamon' so for the others first update the patch with the package to be installed:

sed -i 's/"cinnamon"/"cinnamon-core"/' cinnamon.isorespin.sh.patch

or

sed -i 's/"cinnamon"/"cinnamon-desktop-environment"/' cinnamon.isorespin.sh.patch

Now patch my 'isorespin.sh' script. You must have the latest version so check using the command

isorespin.sh -v

or

./isorespin.sh -v

depending on whether you have installed the script to '/usr/local/bin' or run it locally. Make sure you have version '7.3.5' otherwise upgrade by downloading it from the link above. Then if you have installed the script to '/usr/local/bin' enter:

sudo patch -p0 -b -d / < cinnamon.isorespin.sh.patch

otherwise for a local script enter:

patch -p4 -b < cinnamon.isorespin.sh.patch

Now check that it has been updated by confirming the version again and making sure it is now '7.3.5.1'. The patching creates a new version of the script together with a backup of the original as 'isorespin.sh.orig' so you can easily revert as required.

Finally to update the wallpaper on the respun ISO two additional commands must be included as part of respinning:

-c "sed -i 's?/usr/share/themes/Adwaita/backgrounds/adwaita-timed.xml?/usr/share/backgrounds/warty-final-ubuntu.png?' /usr/share/glib-2.0/schemas/org.cinnamon.desktop.background.gschema.xml"
-c "glib-compile-schemas /usr/share/glib-2.0/schemas"

So the complete invocation for the 'Apollo' ISO above using the patched script was:

isorespin.sh -i ubuntu-17.10-desktop-amd64.iso --apollo -p cinnamon -c "sed -i 's?/usr/share/themes/Adwaita/backgrounds/adwaita-timed.xml?/usr/share/backgrounds/warty-final-ubuntu.png?' /usr/share/glib-2.0/schemas/org.cinnamon.desktop.background.gschema.xml" -c "glib-compile-schemas /usr/share/glib-2.0/schemas"




By respinning the ISO and just adding the 'cinnamon' package you will get a good indication of whether you like the interface. But be aware that the more Cinnamon you add the more desktop applications you will be duplicating with GNOME so a customized distro such as Linux Mint may be prefered.

Please donate if you find the ISOs or script useful using the following link http://goo.gl/nXWSGf.





Respinning ISOs with 'rEFInd'

Respining ISOs with 'rEFInd' version 0.11.1 (the current default) results in the error message 'invalid loader file!' when attempting to boot.

Version 0.11.0 works correctly and because my 'isorespin.sh' script first looks in the current directory for the 'rEFInd' boot manager files before downloading them from the internet if not found it means a specific version can first be downloaded and used automatically when the script is run.

I recommend downloading the file 'refind-bin-0.11.0.zip' from 'https://sourceforge.net/projects/refind/files/0.11.0' in the directory where you are running 'isorespin.sh':
wget https://sourceforge.net/projects/refind/files/0.11.0/refind-bin-0.11.0.zip/download -O refind-bin-0.11.0.zip
and unzip it:
unzip refind-bin-0.11.0.zip
Then remove the downloaded file afterwards:
rm refind-bin-0.11.0.zip
so that it does not create a conflict when running the script. Check that you just have a directory called 'refind-bin-0.11.0' containing the 'rEFInd' boot manager files. Then run the 'isorespin.sh' script:
./isorespin.sh
or
/usr/local/bin/isorespin.sh
with the required options to respin your ISO as required.

Note that subsequent versions of 'rEFInd' may fix the issue and unfortunately there is always the possibility that the error may also reappear in subsequent versions. It is recommended to always try the latest version and then use the most recent working version as a temporary workaround until a new version becomes available that fixes the issue.

Please donate if you find my 'isorespin.sh' script useful using the following link http://goo.gl/nXWSGf.

Friday, 20 October 2017

Lubuntu Next: Or Lubuntu LXQt the future for Lubuntu

The latest version of Ubuntu has now been released as 17.10 (Artful Aardvark) together with all its flavours with the exception of Ubuntu GNOME.  And whilst this may have everyone's attention and perhaps even searching for alternatives I have been trying out a new distro called Lubuntu Next which was requested in a comment.


Currently Lubuntu Next is a separate release to Lubuntu as it uses LXQt in place of LXDE and exists because no decision has been made on formally replace LXDE with LXQt in Lubuntu.

It is a bit rough around the edges however it is interesting to see what the future direction is. Full details on the release can be found in its wiki.

I've respun the latest daily ISO (saved as lubuntu-next-17.10-daily-141017-desktop-amd64.iso) and created ISOs suitable for booting on both Intel Atom-based and Intel Apollo-based mini PCs.

The ISOs can be downloaded from:

Atom (-i lubuntu-next-17.10-daily-141017-desktop-amd64.iso --atom)
Apollo (-i lubuntu-next-17.10-daily-141017-desktop-amd64.iso --apollo)

Whilst the ISOs target specific Intel architectures to ensure everything works they should also work on any Intel devices but read the wiki to see the limitations.

Anyone wanting to spin their own version can download the latest daily ISO from http://cdimage.ubuntu.com/lubuntu-next/daily-live/pending and respin using my 'isorespin.sh' script using the options above or after consulting my documentation.

Note:

Building ISOs with 'rEFInd' version 0.11.1 (the current default) results in the error message 'invalid loader file!' when attempting to boot.

Version 0.11.0 works correctly and because my 'isorespin.sh' script first looks in the current directory for the 'rEFInd' boot manager files before downloading them from the internet if not found it means a specific version can first be downloaded and used automatically when the script is run.

I recommend downloading the file 'refind-bin-0.11.0.zip' from 'https://sourceforge.net/projects/refind/files/0.11.0' in the directory where you are running 'isorespin.sh':
wget https://sourceforge.net/projects/refind/files/0.11.0/refind-bin-0.11.0.zip/download -O refind-bin-0.11.0.zip
and unzip it:
unzip refind-bin-0.11.0.zip
Then remove the downloaded file afterwards:
rm refind-bin-0.11.0.zip
so that it does not create a conflict when running the script. Check that you just have a directory called 'refind-bin-0.11.0' containing the 'rEFInd' boot manager files. Then run the 'isorespin.sh' script:
./isorespin.sh
or
/usr/local/bin/isorespin.sh
with the required options to respin your ISO as required.

Please donate if you find the ISOs or script useful using the following link http://goo.gl/nXWSGf.

Fixing broken HDMI audio

Recently I noticed that I had no HDMI audio when running kernels starting from v4.12.0 on an Intel Compute Stick model STK1AW32SC (Cherry Trail).

First I ran the command 'aplay -l' to see I had an HDMI LPE Audio device. In fact I had three:


I then tried playing an audio file on the default device with 'aplay /usr/share/sounds/alsa/Front_Left.wav' which didn't work:


So I listed the PCM devices with 'aplay -L':


and tested each PCM in turn:


which confirmed that audio worked on device 2. 

As the default sink device is 0:


it needs to be changed by editing '/etc/pulse/default.pa'. I can do this manually:


 or write and use a script:


The advantage of the script is that I can make use of it when respinning an ISO with 'isorespin.sh' (using the '-f' option) and automatically fix HDMI audio in the respun ISO for use on this device.

After running the script whilst using Ubuntu 'pulseaudio' needs to be restarted (using 'pulseaudio -k' is sufficient) for the changes to take effect:


Now playing an audio file on the default device with 'aplay /usr/share/sounds/alsa/Front_Left.wav' works together with sound in Chrome and other applications.

Please donate if you find this tip helpful using the following link http://goo.gl/nXWSGf.