|Home||Uniquely NZ||Travel||Howto||Pauline||Small Firms|
Diary of System and Website Development
Part 23 (October 2012 - December 2012)
Cinnamon is the new Desktop Managers developed for Mint which can also be used with Ubuntu in place of Unity and with Lubuntu and Xubuntu. It provides a very sophisticated conventional desktop which has been very well received and once more makes Ubuntu a sensible proposition. It builds on Gnome 3.x but has a muchbetter interface and the Mint - Cinnamon combination has been voted 2012's best Linux desktop by ZDNET . In another Article on ZDNET Mint features as top choice with Ubuntu now down to number 3 . Mint has more than Cinnamon in its favour as it offers a much fuller set of immediately usability than Ubuntu in particular for media applications but the Cinnamon interface is the clincher for most people and it can be overlaid very easily on a standard Ubuntu install and be used as an alternative to Unity chosen at every login - no reboot is needed to switch, only to log out and back in so it is very quick. I have find I have never gone back to Unity to do any work since loading Cinnamon
Cinnamon, which reminds one of the good old days of GNOME 2.x, is built on Muffin (a compositing window manager which has grown out of Clutter/Mutter) and Gnome 3 but is more attractive and with better features including extensive customisation and drag and drop support in the panel and menu. It is trivially easy to add menu items to the desktop, panel and 'favourites' as well as a right-click on the menu to use the menu editor to change edit the main menu itself. It gives me great control over my desktop. Another great advantage over Gnome 2 is Cinnamon/Muffin's Expo mode which seems more useful than the one provided via Compiz in Unity. Expo gives you great control over your workspaces and one can choose how many workspaces to use and drag and drop applications to each workspace - very powerful but also easy to use and I find I am now making much more use of workspaces. Even with the default 'Window List' on the bottom panel multitasking once more becomes practical, something which was scarely possible with Unity.
The panel (Cinnamon Version 1.6) is now entirely implemented by Applets so you can not only customise and reposition all the usual facilities but you can replace them with alternate versions. There are, for example, at least 5 different main menus with different degrees of complexity including the 'Mint' style as well as the new Cinnamon Menu and other layouts and the normal 'Window List' can be replaced by what I regard as a major (if not killer app) which allows one to see popups of each program group which are open with the full Window previewed in the background as you hover over each one. This cures the major problem I have with Unity and that is switching programs especially when I have several instances or windows open especially those running under Wine which often show up with incorrect attributions.
Now there must be a catch! The only real catch I have found is that good 3D acceleration is required for Cinnamon to run so it is not a solution for all machines over 5 years old but Unity and Gnome 3 do not run properly on such machines either! In those cases Lubuntu is still the way forwards and is still better and more productive than Ubuntu Unity - or you could try the Mate flavour of Mint. I have however, with a bit of work, got Cinnamon running on an Amilo D8830 laptop with a Radeon RV250 graphics card which must be nearly ten years old and on a Toshiba L20 Satellite Pro which is 6 years old.
Cinnamon is easily installed in Ubuntu 12.04 (and 12.10 but not tested by me yet) by adding a PPA at hhttps://launchpad.net/~gwendal-lebihan-dev/+archive/cinnamon-stable. This and Cinnamon can be installed along with some desirable libraries by this single line pasted into and run in a terminal:
sudo add-apt-repository ppa:gwendal-lebihan-dev/cinnamon-stable && sudo apt-get update && sudo apt-get install cinnamon muffin gir1.2-gjsdbus-1.0
It will ask to install a number of other new packages and that is it. You do not even need to reboot, just to log out and log back - you select which desktop by clicking on the little orange icon at the top left above the username and password boxes. The theme and set up may not be perfect but you will probably never switch back to Unity!
I have found a number of useful keyboard shortcuts which do not seem to be very well documented:
Super Key -> Menu
Ctrl Alt Up -> 'Expo' Applet which displays workspaces and Windows and allows drag and drop of Windows between Workspaces - a very useful productivity tool which can be configured to your preferences
Ctrl Alt Down -> 'Scale' Applet which displays currently open Windows - a very effective window switcher which can be configured to your preferences
Ctrl Alt Left -> next workspace to left
Ctrl Alt Right -> next workspace to right
Alt Tab -> Window Switcher - allows you to tab through open windows with previews which you can configure
Ctrl Alt t -> Launch Terminal
Ctrl Alt Del -> Logout screen with cancel option.
Ctrl Alt Backspace -> Immediate Logout
You can find many other preset options by looking in Cinnamon Settings -> Keyboard -> Keyboard Shortcuts and you can also set up your own custom shortcuts
Cinnamon offers many alternative themes which can be easily installed from http://cinnamon-spices.linuxmint.com/themes
I am currently using Minty which is available, along with many others, from a PPA which is easily installed using the terminal by:
sudo apt-add-repository ppa:satyajit-happy/themes && sudo apt-get update && sudo apt-get install cinnamon-theme-minty
I have made a minor modification to change the background colour of the popup boxes for the Cinnamon Menu and other Applet menus in the .css fill associated with the theme which can be edited by:
sudo gedit /usr/share/themes/Minty/cinnamon/cinnamon.css
the changed sections are:
* PopupMenu (popupMenu.js)
* Changes made to give a Dark Green Background
* and force it for all menu backgrounds as required for early graphics cards
* Menu (menu.js)
* Changes to give a very dark green background to the favorites list in menus
border: 1px solid rgba(255,255,255,0.1);
See also the section below on the Amilo
If the them is not in the PPA you can download an archive file and extract the file to the themes directory i.e. "~/.themes/" or "/usr/share/themes/" and then use Cinnamon Settings to choose the theme.
I am using a none standard Icon Theme with Minty namely Humanity-Colours-Dark-Green which I found on WebUpd8 at http://www.webupd8.org/2012/02/humanity-icons-colors-8-different.html or Elementary Mint from the Mint repositories on my laptops because it has a slightly better icon for battery state
Humanity-Colours-Dark-Green can be installed via a PPA in a terminal by:
sudo add-apt-repository ppa:ravefinity-project/ppa && sudo apt-get update && sudo apt-get install humanity-colors
Overall the set-up on the Cinnamon Settings -> Themes -> Advanced Tab is:
Window theme: Ambiance (or Mint-X on Linux Mint)
GTK+ theme: Ambiance (or Mint-X on Linux Mint)
Cursor theme: DMZ-White
Keybinding theme: Default
Icom theme: Humanity-Colours-Dark-Green (or Mint-X-Dark on Linux Mint)
The standard themes used by Cinnamon, Unity and Lubuntu change the Dropbox icon in the panel to dark grey colour and it is very difficult to see when Syncing is required or taking place. It is possible to find the icons for the theme you are using or the defaults that it reaches and to disable them forcing Dropbox to use its own defauts which are blue with a green tick when everything is in sync. See http://www.omgubuntu.co.uk/2010/08/dropbox-icons-now-respect-your-global-theme-no-more-manually-replacing-them . First you have to search for the icons to disable - I found them in /usr/share/icons/elementary/panel/22 for Lubuntu and /usr/share/icons/Humanity-Colours-Green/apps/22 for the theme I have chosen for Cinnamon. On other machines I have found them in many other icon themes. The icons all start with dropboxstatus and are type .svg or sometimes .png.
It is best to do a search for the icins and you may wish to install catfish which is a very fast file search program
sudo apt-get install catfish
sudo nautilus /usr/share/icons/ # modify to reach the required directory and disable the iconsI renamed them to have a .svg-default ending one then needs to update the icon cache and stop and restart dropbox to see the changes - below is an example for the humanity-colours-green icon theme
sudo update-icon-caches /usr/share/icons/Humanity-Colours-Green/apps/22
This may not be permanent as the changes could well be overwritten if the theme is updated so you may wish to copy the modified theme to ~/.local/share/icons/.... which is checked before /usr/share/icons/.... and will not be overwritten as it is in your home folder.
The ability to utilise applets is a major strength of Cinnamon. There are a huge range of Applets which are stable and under development at http://cinnamon-spices.linuxmint.com/applets. Many of the more important Applets are now available in a PPA which can be installed in a terminal by:
sudo add-apt-repository ppa:bimsebasse/cinnamonextras && sudo apt-get update
If they are not in the PPA they are simply installed by downloading an archive and extracting the folder containing the applet to the ~/ .local -> share->cinnamon->applets folder
This is arguably the icing on the cake which has made use Cinnamon my main Desktop instead of Unity. It is not in the list available from Cinnamon Settings until it has been installed by
sudo add-apt-repository ppa:bimsebasse/cinnamonextras && sudo apt-get update && sudo apt-get install cinnamon-applet-windowiconlist
This applet is used to replace the standard 'Window List' which shows the programs which are running in the bottom panel by an advanced version where all the instances (Windows of a program) are grouped and when you hover over the group a popup or series of popup appear showing each of the Windows. When you move the cursor over one of these previews it is highlighted and the Full size window is previewed behind it - clicking opens it and you also have an option to close the window. There are many additional options available including just displaying the Icon with a number superimposed showing the number of associated windows on the panel - this means that you can have large numbers of program groups in use even on a small screen. It has transformed my netbook and has taken one well ahead of where Ubuntu reached before the disasterous move to Unity. This is currently the second most highly rated and popular Cinnamon Applet following only behind the weather application which I have also added on my desktop machine:
This is more complex to install but there are full instructions in the zip file you download from http://cinnamon-spices.linuxmint.com/applets/view/17 This is by far the most popular of the applets available. There are no automatic updates and currently the pressure seems to be in error.
Steps include extracting the folder from the archive to the desktop, running the install.sh script and add two extra dependencies by:
apt-get install gettext libglib2.0-bin
You then need to find the code for your location from http://edg3.co.uk/snippets/weather-location-codes/ - examples are Reading is UKXX0117 and Guernsey is UKXX0065
This is available without having to be downloaded and is the ideal way to switch workspaces and programs and also allows you to drag programs between workspaces and name the workspaces. You can already access Expo by Ctrl Alt Up (and Scale by Ctrl Alt Down)
A simple Cinnamon Applet to display current network speed which can be downloaded from the Cinnamon Spices web site at http://cinnamon-spices.linuxmint.com/applets/view/18 as a zip file.
This applet requires this library gir1.2-gtop-2.0 to be installed. On Mint/Ubuntu it can be installed with this command:
sudo apt-get install gir1.2-gtop-2.0
Then Download the Zip file from from http://cinnamon-spices.linuxmint.com/applets/view/18 and extract the folder "netspeed@adec" from within its folder structure to "~/.local/share/cinnamon/applets/"
You can then enable the applet by right clicking in an empty part of the Panel -> Add Applets to the Panel as usual
The applet automatically monitors the first active network interface found at Cinnamon startup. You can change the monitored interface clicking on the applet. Seems to work well with a broadband link but yet to be tested with dongles and bluetooth. It does seem to over-read by about 2x and I edited the .js file to divide the result by 2 although I could not find a coding error.
This is a general monitor for Linux which has been tested with Ubuntu http://netramon.sourceforge.net/eng/index.html has full instructions and a .deb to download. Seems to work well with a broadband link but yet to be tested with dongles and bluetooth.
The latest version of Ubuntu is now available and it is time to make some choices about the future. There are various reasons why many 'advanced' users do not like Unity or the new Gnome 3 desktops. I find Unity makes running multiple programs difficult, in particular when one needs multiple instances of the same program open and to switch between them - examples are working with several documents open or even a number of terminals. Windows Programs running under Wine (Wine Is Not and Emulator) have been a particular problem with inconsistent behaviour and identification of the program which is displayed in the Launcher. Hopefully this has been improved in the latest Ubuntu 12.10 Quantal.
I have spent some time in the past looking at Lubuntu (based on the LXDE desktop) for my older and less powerful machines and more recently the Cinnamon Desktop which has been developed for Linux Mint but can be installed in parallel in Ubuntu distributions with the option of choosing ones desktop manager every time one logs in. That seems a very attractive way forwards for recent machines with powerful 3d graphics - in fact that is a requirement for running Unity and Gnome 3 in any case.
I also have one older machine which falls into an intermediate class which will run the Gnome 3 desktop and Mint 13 Mayo with Cinnamon 1.4 but not the current Cinnaman 1.6 where the rendering of transparency behind menus is faulty.
I carried out most of my experimentation using LiveUSBs with 'persistence' so I have been able to install some extra programs and updates to, for example, see if Wine programs are handled better. Some of my findings so far are:
Lubuntu 12.10 is very little different to 12.04 with only a number of marginal improvements. It is fast and uses very limited resources but has few of the bells and whistles although it is very usable even for running multiple programs and instances of programs. It is now easier to set up desktop 'launchers' for programs which was a previous shortfall. The only remaining serious shortfall I can see is the lack of a fully functional Trash can (Wastabasket) on the desktop but I can live with that. It has gained a default search facility in Catfish. It is the obvious choice at present for machines without the comprehensive 3d graphics to run a compositing desktop manager or with under 512 Mbytes of memory.
Ubuntu 12.10 Quantal seems to have improved the handling of Wine programs judging from the LiveUSB and is going to be worth testing in the future.
I have had a few problems making Cinnamon, or probably more correctly muffin, display correctly on the ATI Radeon RV250 (Mobility 9000) video card fitted in the Amilo D8830. The card is fully supported by the Radeon Drivers but does not satisfy the requirements test for the Unity desktop where it is detected as having on OpenGL version 1.3 support whilst glxinfo seems to indicate 1.4. glxgears also runs smoothly at a reasonable speed showing the 3d accelerations is good. The problems manifest themselves in a completely consistent problem in the rendering of transparency in many of the Cinnamon menu items and a flickering during transitions.
Largely by trial and error I noticed that the 'Favorites' area of the Main Menu Applet rendered correctly whilst the 'Applications', 'Recent' and 'Places' was almost transparent. I found that changing the style-class which matched in three places from menu-applications-box to menu-favorites-box changed the rendering to of those areas of the pop up menu to be acceptable.
Having located the problem the better alternative was to then to modify the styles in the theme instead so the styles for Favorites, Applications and Places were identical.
This did not solve the problem for all the other applets but a change in .css for the Date Applet Section sorted - it was then only the problem to work back to discover the common areas where the css could be changed and eventually it turned out that two more changes gave an almost complete solution for all the Applets I tested.
The problem with flickering was then solved by commenting out every line with a transition-duration which was easy as they all seemed to be set to 100 so a global edit could be used.
At this point I copied and renamed the theme folder so I had a theme which I could use and one which would not be overwritten by any updates that came along.
In detail the modifications change the background colour of the popup boxes and force the changes on the Amilo of the Cinnamon Menu and other Applet menus by changes in the .css fill associated with the theme by:
sudo gedit /usr/share/themes/Minty/cinnamon/cinnamon.css
and editing so after editing the changed sections are now:
* PopupMenu (popupMenu.js)
* Changes made to give a Dark Green Background
* and force it for all menu backgrounds as required for early graphics cards
border: 1px solid rgba(255,255,255,0.1);
* Menu (menu.js)
* Changes to give a very dark green background to the favorites list in menus
border: 1px solid rgba(255,255,255,0.1);
In addition the file had a global edit to comment out every occurance of transition-duration: 100; like this:
/* transition-duration: 100; */
These hand crafted solutions are obviously not a usual way to proceed but have already got be to a state where the Amilo is perfectly usable and should give me another 2.5 years as Ubuntu 12.04 is a LTS version.
Nautilus is replaced by Nemo as file manager (and Desktop Display Manager) when one is using Cinnamon. This works well most of the time but on occasion the system seems to get confused and uses nautilus as the file manager for the desktop. This means all the icons move round and one loses many of the useful right click functions and if you open a folder it opens using Nautilus. The only way get round this is to uninstall nautilus. Unfortunately I have some scripts and many cut and paste terminal strings which reference nautilus directly which is an inconveniece which can be reduced by the use of an alias. There are also a few programs including the important Truecrypt where references to Nautilus are hard coded in - when you mount a drive it is very convenient to have it open in a file manganager window and if nautilus is not present you just get erro messages when you mount the drive. The answer is to rename and replace the nautilus binary file by a script which calls nemo and passes all the parameter strings across - nemo is a close fork of nautilus so the parameters are identical. The binary is called nautilus and lives in /usr/bin so one uninstalls nautilus and replaces it with a little file which needs to be owned by root and with execute permissions and contains.
exec nemo $1 $2 $3 $4
Use this in a terminal to get to the folder to rename nautilus and add the replacement script using right click menus:
sudo nautilus /usr/bin
I have been starting on the task of converting a large number of cassette tapes to mp3s and have been setting up some old machines with systems using lubuntu or cinnamon to run audacious to do the job. That is/will be covered in Ubuntu making Music in more detail. I however wanted to be able to listen to the music during the long process so I retrieved my old Panasonic RX DS660 music system from the loft. I used it for many years on our narrowboat - it was bought largely because it had an option of running off 12v and had auxilary inputs as well as tape, FM radio and CD. It was often sold as a Boombox but actually produced good Hifi quality sound and was very advanced for 1991. It had only been replaced by a more modern Sony car system because it intermittently lost one channel and until recently I was still using the speakers which are removable. Last time I looked at trying to fix it I failed to find any way of opening the box without damage so this time I started with a big search of the internet looking for a service manual and finally came on a site offering free manuals which had a copy but not uploaded yet. The site was www.freeservicemanuals.info and I emailed them and within a couple of days they emailed back to say it had been scanned and uploaded. The manual had all the information to open the box and identify what was actually a very simple fault in a jack plug for headphones which was dirty and blanking the sound from one channel even when not pluged in - solved with the miracle cure WD40 in minutes after a five year search for manuals! I can not thank the guys at www.freeservicemanuals.info enough for their quick response and thoroughly recommend that it should be your first stop for any old manuals you need. It is a matter of principle with me not to replace but repair and the Panasonic RX ds660 is now a collectors item as a classic Boombox which also produces high quality sound which is now filling our library whilst I am transfering all my tapes. I will send them any old manuals I find to add to the collection.
I had forgotten how good it was and I dread to think how much a modern system of the same quality would be. So I now have an early 1990s Boombox linked by Bluetooth to a network of Linux computers - a classic mix of new and old repaired thanks to the internet and Opensource.
I have been experimenting with Linux Mint as I needed to reinstall on my old Toshiba L20 Pro laptop. I had been running it with Cinnamon loaded over Lubuntu but it all went to pieces when I did an upgrade to Lubuntu 12.10 - it would sometimes keep running for long periods under Lubuntu but would quickly lock up when using Cinnamon. I have the same problem on another machine I have updated to Lubuntu 12.10 which will only work with a new user name I created. I have downloaded the isos for Maya and the brand new Nadia RC (Release Candidate). I set these up on USB sticks with 'persistence' using UNetBootIn so I could update the Maya fully and and to use Cinnamon 1.6 with Nemo. The update to Cinnamon 1.6 did not seem to go smoothly on the LiveUSB on the Toshiba with old graphics but went well on a newer machine and I could then run the LiveUSB without problems on the Toshiba. Likewise the LiveUSB Nadia initially fell back to a 2d mode but could then be changed to Cinnamon and both did not seem to have any issues with crashing.
Even after these apparently succesful tests I still had a bad feeling about Ubuntu 12.10 based systems with old ATI graphics cards so I have currently loaded Maya onto the Toshiba retaining the /home folder intact as it was a different partition. The advanced partitioner is well hidden and has a very small link so beware. It is rather different to the Ubuntu install at the partitioning point and you have to edit each partition to set up or clear formating which must only be done on root ( / ) folder if you want to retain all your settings, desktop etc.
The Mint Display manager is a fork of the Gnome Display Manager and likewise handles the initial login screen. It is easy to install this in Ubuntu - if GDM is in use it will completely replace it but other managers such as Lightbox will still be available and you can choose to return at a latter stage. There is a slight catch in removing GDM on Ubutu 12.10 and higher as the latest Gnome Shell depends on GDM and will also be removed - no problem if you only use Ubuntu but a problem if you sometimes switch to Gnome Shell. If you do not understand that you do not have any worries either.
The latest MDM is available in one of the Webupd8 repositories (PPAs) - see http://www.webupd8.org/2012/11/how-to-install-latest-mdm-display.html and can be installed in Ubuntu Precise or Quantal by:
sudo add-apt-repository ppa:nilarimogard/webupd8 && sudo apt-get update && sudo apt-get install mdm mint-mdm-themes
When installing MDM the first time you'll be prompted to select the default display manager during the install - choose MDM. Once MDM has been installed, restart your computer - do not just try a logout as the machine may well hang up as it is one of the few times an installation can not be completed on a running machine.
If later on you want to switch back to LightDM, GDM or so on, the selection box can be reached again by:
sudo dpkg-reconfigure mdm
and select the display manager you want to use and again restart the machine before attempting a logout.
Once tha machine has been restarted a new Menu item will appear and you can customize MDM by launching "Login window" from the main menu or Dash if you are using Unity. There are options to change the theme and many other customizations are possible. You have the choice of a login themes with username and passwords in a single box or a screen with a selection of login names with associated images. You can set up an automatic login with or without a time delay and many other configuration options.
I thought it would be simple to get the latest version of MDM into Maya to replace the less capable one in the Maya repositories. The changes to MDM are is the second most import area of upgrades in Nadia from Maya - in particular I wanted to have a user list and the potential for a automatic login after a period of time on some of the machines which do not need to be secure.
Unfortunately just adding the more up-to-date repository not work in Mint Maya and I also noticed that the Romeo repository was nothing like so up to date for Cinnamon and Nemo as the PPA I am using for the Ubuntu systems.
The latest versions of MDM are available in one of the webupd8 PPAs see http://www.webupd8.org/2012/11/how-to-install-latest-mdm-display.html which can be installed in Ubuntu by
sudo add-apt-repository ppa:nilarimogard/webupd8 && sudo apt-get update && sudo apt-get install mdm mint-mdm-themes
unfortunately this did not work in Mint and I also noticed that the Romeo repository was nothing like so up to date for Cinnamon and Nemo as the PPA I am using for the Ubuntu systems and installed by:
sudo add-apt-repository ppa:gwendal-lebihan-dev/cinnamon-stable && sudo apt-get update
On looking into it further I found that Mint does not always pick or even display the latest version as it always gives priority to versions in its own Repositories over those in Ubuntu Repositories and both over those in PPAs. This is arguably very sensible as it ensures that normal users get the most stable core system regardless of what PPAs they add.
On search the internet I discovered the mechanism Mint uses is in a configuration file for apt namely /etc/apt/preferences . The mechanism is called apt-pinning and references such as http://wiki.debian.org/AptPreferences#A.2BAC8-etc.2BAC8-apt.2BAC8-sources.list are full of caveats and warnings so what follows should be used with care and the you should look carefully at the upgrades that are offered and only select those you intended and needed and then disable the PPAs/Repositories you are forcing to a higher priority or remove the changes to /etc/apt/preferences when you have got what you need. That said the particular examples are probably OK but watch that other PPAs to the ones you intend do not also match.
First lets have a look at the /etc/apt/preferences file which is added by Mint - a normal Ubuntu system does not have one. This has already been edited by adding the lines in red at the end.
Pin: release o=linuxmint
Pin: origin packages.linuxmint.com
Pin: release o=Ubuntu
Pin: origin ppa.launchpad.net
The changes give the same pin priority to the PPAs from ppa.launchpad.net (Both PPAs we want to use are at ppa.launchpad.net) as those from Mint so that apt will now choose the the most up-to-date instead of those in the Mint repositories. You need to be aware that it will 'uprate' the priority of all PPAs at ppa.launchpad.net that you have added so beware - it is not easy to go back to older packages. This also a case where it is more important than usual to make a backup first as one is play in an area where you might not even reach a graphical login screen if it goes wrong!
This enabled me to update to the latest versions of Cinnamon and Nemo which was important as there were many updates coming during the Release Candidate phase and also to try out the latest MDM greeter screens. This has probably given me 90% of the System improvements and hopefully a more stable system without risking using the new upstream 3.5 kernel used in Nadia and Ubuntu 12.10 with my older video cards. It also give me choices of applications to update - LibreOffice would be a benefit but the latest Rhythmbox is definitely a backward step with less facilities and a cramped display.
Xkill is a tool for terminating misbehaving X clients or unresponsive programs which is part of the X11 utilities pre-installed in Ubuntu and Linux Mint . One can easily add a shortcut key to launch xkill with the steps below.
Xkill is ready for use. Press the above key combination to turn the cursor to an X-sign, move the X-sign and drop it into a program interface to terminate the unresponsive program, or cancel the X-sign with a right-click.
The Ctrl+Alt+Delete shortcut key in Linux Mint brings you a menu to log out of your system.
The Ctrl+Alt+Backspace shortcut key in Linux Mint immediately takes you back to a log-in screen without the need to reboot the system - this often works with a frozen system.
Linux Mint is capable of reading and writing files stored on Windows formatted partitions, but partitions must be 'mounted' before they can be accessed each time you start up the system. I have usually edited the fstab file directl to do this but this is an alternative mechanism to set up the auto mounting of the drives or partitions. This depends on a program called pysdm which should be installed in Linux Mint but if it is not available, go to the Synaptic Package Manager and search for pysdm and install it, then log out and back in the system or restart.
In case you wish to remove the auto-mount of a certain drive or partition, you can once again use Storage Device Manager to change the setting.
Note: If you need to identify the disk partitions use Menu -> Disk Utility or sudo blkid in a terminal
The Jupiter 0.1.6 applet icon ddoes not always draw correctly in the Cinnamon System Tray and has a white bar at the side. The way that seems to fix this on many machines is to introduce a delay when starting Jupiter to allow the Cinnamon toolbar to be available before Jupiter starts. This can be done by Menu -> Startup Applications and editing the Jupiter startup so the Command is changed from /usr/bin/jupiter to sh -c "sleep 5; exec /usr/bin/jupiter". This should also be done for the Jupiter Restore – from /usr/lib/jupiter/scripts/jupiter to sh -c "sleep 5; exec /usr/lib/jupiter/scripts/jupiter".
The main problem with the menu is that it can take several seconds to appear the first time after a restart or Login but is much faster subsequent times although far from instantaneous. I have been looking into this and have filed a bug report at https://github.com/linuxmint/Cinnamon/issues/1389#issuecomment-10615672 with the following initial posting:
This is problem which seems to be known, I even found videos on the internet, but it does not seem to be the subject of any open bug reports.
The problem is that there is a significant delay of 1 - 3 seconds depending on machine (over 7 seconds on my MSI U100 in power saving mode!) before the menu opens the first time after a login. The delay remains but is much reduced when the menu is reopened - this is still quite noticeable but arguably acceptable on most machines. It occurs with all the menus I have tried and is the same if called via the Super Key or the Panel Applet. For reference this is with Cinnamon 1.6.7
I have run some checks using a MSI Wind U100 Netbook with the gnome-system-monitor running and taken screen shots. I logged out and back in, started the gnome-system-monitor from a terminal then hit the Super key. In power saver mode I have seen a delay of over 10 seconds with 100% CPU use varying between the two processors ie half total capacity continuously in use for up to 10 seconds. The second time the menu is opened the usage is usually higher for a period of a couple of seconds after which the CPU usage shows little visible increase when the menu is opened. As one would expect the effects are approximately halved when not in full power mode (set using Jupiter). I have tried using top but the terminal display is frozen during the period one is waiting for the menu to display.
After a period of time which seems to quite variable without the menu being used the delay once more becomes long.
As a short term solution it would seem sensible to 'build' the menu during the cinnamon start-up period.
On further investigation I discovered on my MSI Wind U100 that a the menu speed on a 'fresh install' of Mint 13 Maya was Much faster than on my existing Ubuntu 12.04 based system which had been updated progressively by Distribution Upgrades from 11.04 but with a home folder which had been preserved from 9.04 or earlier which also has a lot of old WINE programs. I used a Unetbootin LiveUSB with Mint 13 Maya with persistence so I could get to Cinnamon 1.6 by enabling the Romeo repository. Even using a LiveUSB the menu delay was scarcely noticeable on the first call whilst it is could be up to 10 seconds on the 'dirty' system. The differences would certainly explain why some see a major problem whilst others see it as largely cured. I checked again with Mint 14 which was also very fast. Eventually I also got an Ubuntu 12.10 system on a LiveUSB with Cinnamon 1.6 installed and it was almost as fast as Mint based systems despite having quite a lot of extra/duplicated system applications.
I have now succeeded in speeding up my operational Ubuntu based system by removing everything I could from ~/.local/share/applications which had a total of over 120 .desktop files. These were mostly from Wine programs - every Windows program seems to generate a large number of extra menu entries for help files, uninstall links and various other associated utilities. Some programs like Word 2003 had over ten extra programs. I initially used the menu editor to hide the programs which did reduce the delays but it seemed better to make a copy of the folder and then empty it of everything other than the main launcher for each program.
I then started to use the Menu editor to 'hide' any other applications which were unused when using Cinnamon. Use of the menu editor (accessed by right clicking the menu applet on the toolbar) showed another problem. Most of the Wine programs had been put in the Other Category and the Wine application list only had the launchers from the Wine Application itself and none from programs installed by Wine. This is because Cinnamon uses the Categories from the .desktop files and the category is not set by Wine when programs are installed. This did not seem to be the case with the old Gnome 2.6 menus where Wine programs were correctly attributed - I do not know the mechanism used to generate those menus. I only have a small number of important progrms running under Wine so I hand edited the launchers (.desktop files) in~/.local/share/applications to have a line containing:
The final ; is probably redundant as it is used as a separator if several Catagories are set however most of the launcher files seem to have it.
The end results in power on demand mode are averaged stopwatch timings of 2.25 seconds initial menu delay reduced to 1.35 seconds for subsequent openings. My reaction times need to be removed from both so a reasonable estimate is 1.6 seconds initial delay and .7 seconds subsequently. This is fast enough that you can hit the menu key and immediately start typing a program you are searching for without any loss of key strokes.
The bug report seems to have generate a fresh awareness of the problem and several activities have been started which should make significant improvements and hopefully remove the need for my work arounds.
Regardless of the speed issue on the Cinnamon menu it is useful to have a basic understanding of how a program is launched and how the a Menu attributes the launchers to categories.
When you see a 'launcher' on the desktop or as a menu item you are actually seeing the representation of a Desktop Entry File which ends in .desktop. Most desktop managers hide the details from you and you can not open them for editing directly (Lubuntu/LXDE is the exception) but you can open them from within gedit and you will find they all follow a standard format. When a program is installed it places a launcher (.desktop file) in one of a few well defined places. Programs which are accessible to all users have a launcher (.desktop) file in /usr/share/applications or sometimes in /usr/local/share/applications (zygrib is the only program I know of which uses /usr/local/share/applications). Programs which are unique to a user such as wine (Wine Is Not an Emulator) place their launchers in ~/.local/share/applications - in the case of wine they are in subfolders like ~/.local/share/applications/wine/Programs/programfolder. The launchers in ~/.local/share/applications take priority when the menus are created so the safest way to modify a launcher is to copy it from /usr/share/applications to ~/.local/share/applications and edit it there.
Note that in many systems the menus are only created at login time so modifications are not apparent until a logout and re-login has taken place. Cinnamon does not have this restriction but the regular rebuilding does lead to a perceptible delay on slow systems, in particular the first time the menus are used after a restart or a change in the menu contents.
The full format for a Desktop EntrySpecified in http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html but only a few of the entries are mandatory and their names are self explanitory. So lets look at a typical .desktop file for Catfish, a file searching program where I have put in red the Mandatory entries. The entries in orange are also usually present - Comment gives a tooltip, Icon does what it says, Terminal specifies whether to run in a terminal so normally false or left out, Note that in this case all the programs and icons etc are in the path which is searched - if you are creating your own it is safest to specify the full path for the executable (and icon if you want to avoid it changing with the theme). Categories is used by programs which build menus and contains a list of Catagories in which it can appear. NoDisplay true means "this application exists, but don't display it in the menus". This can be useful to e.g. associate this application with MIME types, so that it gets launched from a file manager (or other apps), without having a menu entry for it. StartupNotify is more complex and invokes a mechanism allowing a desktop environment to track application startup, to provide user feedback and other features (probably leave out if you are creating your own unless you are absolutely sure of what you are doing! StartupWMClass is often not specified and the defaults used - if specified it is used to help in correct attribution of running applications to Window Lists in a panel. The OnlyShowIn and NotShowIn again do not not often appear but can be useful if you have a system which has the option of using both the Unity and Cinnamon Desktop managers to taylor the menus to only show the settings and other tools appropriate to each desktop environment - only one can be present.
The specifications also allow for extra items to be added which are specific to particular desktop managers and you may find extra entries for 'quicklists' in a system which was installed with Unity as the desktop manager - these are usually started by entries with an x prefix and should be ignored by other managers but who knows!
In Ubuntu and its derivatives a right click -> properties shows a box which shows a subset of the information in the launcher file and the same goes for the Properties function with the Cinnamon Menu Editor
So many good features have been put back into Cinnamon and Nemo that had been dropped during the Gnome downsizing that it seems churlish to make a wish list. However:
I have been working towards some involvement and have made a number of postings reporting very bugs and inputs into other discussions in Github. I intend to write up when I try to get a branch of the cinnamon development on my machine. If you want to live dangerously you can install a PPA (repository) containing the nightly versions of Cinnamon and associated programs (Muffin, Nemo etc). I have it on one of my machines so I can see the latest state of play on enhancements and bug fixes. If you want to try this at your own risk - it is unstable - then:
sudo add-apt-repository ppa:gwendal-lebihan-dev/cinnamon-nightly
sudo apt-get update
sudo apt-get install muffin cinnamon
Before doing this I would recommend that you ensure you have an escape route in case you get into trouble. When you log in there is usually a choice of desktop managers available so make sure you have one that works so you can reload the standard version of Cinnamon. On some of my machines it is Ubuntu Unity and others it is Lubuntu and others may be available - what you have is not important as long as you can run the Synaptic Package Manager and a terminal.
A lot of prior knowledge is expected of potential developers but there are some hints at https://github.com/linuxmint/Cinnamon/wiki and that started me on the way
GIT is the distributed version control sysytem that Cinnamon uses which was written by Linus Torvalds for the Linux Kernel. A very good introduction is the Wikipedia GIT Software article.
Once I had read that I switched to the Github help files at https://help.github.com/articles/set-up-git and the following parts
And I spent quite a lot of time reading the PDF version of the Pro Git book, written by Scott Chacon - the link takes you to an online version and there is a download link for the PDF at the left. I put a copy on the phone so I could dip into it and after a number of passes through the early part the more specific instructions started to make sense - I do not like doing things which I do not understand at all. One should also look at http://www.kernel.org/pub/software/scm/git/docs/user-manual.html for more information.
I set up new email account especially for use with github and changed to it by following instructions at https://help.github.com/articles/how-do-i-change-my-primary-email-address
I also decided to use a spare laptop just in case. It seems as it will be possible to take the whole working directory to another machine provided you install and set up GIT in an identical way and also set up all the repositories and dependencies as below. I have not tried but I see no reason why the working directory should not be in Dropbox so one does not have to checkout all ones changes every time one moves machines. I will report if and when I try these things!
Use Synaptic or in a terminal:
sudo apt-get install git
Using information at https://help.github.com/articles/set-up-git
git config --global user.name "pdcurtis"
git config --global user.email "gitmail_at_pcurtis.com"
git config --global credential.helper cache
git config --global credential.helper 'cache --timeout=3600'
The first two will need to be done on every machine. I have not yet done the last two as I already seem to be set up in a way that kept me logged in permanently.
Using information at https://help.github.com/articles/fork-a-repo
Click fork when logged in and viewing Cinnamon Repository then
git clone https://github.com/pdcurtis/Cinnamon.git
# Clones your fork of the repo into the current directory in terminal
then move to Muffin Repository and repeat while you are online if you intend to compile muffin.
Needed once only however many machines etc you use
When a repo is cloned, it has a default remote called origin that points to your fork on GitHub, not the original repo it was forked from. To keep track of the original repo, you need to add another remote named upstream:
# Changes the active directory in the prompt to the newly cloned "Cinnamon" directory
git remote add upstream https://github.com/linuxmint/Cinnamon.git
# Assigns the original repo to a remote called "upstream"
Needed once only however many machines etc you use
Repeat for muffin if you are going to build it as well.
git fetch upstream
# Fetches any new changes from the original repository, without modifying your files [you are working on ???]
git merge upstream/master
# Merges any changes fetched into your working files
I was interested to find the size of the Cinnamon directory
du -ch | grep total
Cinnamon was much smaller than I expected at about 28 Mbytes whilst muffin was 50 Mbytes. Interestingly du gave a much higher figure than the Properties of the folder and these figures rise after compiling to 50 and 70 Mbytes. I suggest allowing 500 Mbytes total as they will grow with the GIT repositories.
[ Click here to expand to show what I had in the terminal when I did all the steps above on the first machine for Cinnamon. ]
This is now getting to the interesting part where we can do a test to see if we can compile from our own local copy, we can then start to make our own changes or pull others test changes before they are accepted into the Master branch and see the effects. The instructions can be found at https://github.com/linuxmint/Cinnamon/wiki/Building and http://community.linuxmint.com/tutorial/view/955 which has some additional comments. I started by only building Cinnamon as I am using the nightly updates so I was unlikely to get seriously out of step. I have built muffin since to check all the proceedures work.
The next stage is to make sure all the repositories required to compile cinnamon (and muffin) are available. They are usually present in Ubuntu but you can check by looking at the following file /etc/apt/sources.list by
sudo gedit /etc/apt/sources.list
and making sure that the deb-source files are present as well as the others. If you are not using Mint you should ignore the first lines. This is for Ubuntu 12.04 precise and Mint Maya maya and precise will change with to nadia and quantal in 12.10 and so on.
deb http://packages.linuxmint.com maya main upstream import
deb-src http://packages.linuxmint.com maya main upstream import
deb http://archive.ubuntu.com/ubuntu/ precise main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ precise main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ precise-updates main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ precise-updates main restricted universe multiverse
deb http://extras.ubuntu.com/ubuntu precise main
deb-src http://extras.ubuntu.com/ubuntu precise main
You now need to find out all the required dependencies for cinnamon and muffin and install them by:
sudo apt-get install dpkg-dev
sudo apt-get build-dep cinnamon
sudo apt-get build-dep muffin
Note: dpkg may be installed already. The dependencies needs a 30 Mbyte download and occupies an additional 125 Mbytes for Cinnamon and Muffin together.
I have only once carried out these stages as I am using the muffin nightly but if you are working from scratch you will need to check the instructions in one of the links above noting you need to use sudo with dpkg -i for all the packages created. It is possible the order matters if you do not have a version of muffin installed already. The version will change but the following should work if you change the version numbers to match.
sudo dpkg -i muffin-common_1.1.2_all.deb libmuffin0_1.1.2_i386.deb muffin_1.1.2_i386.deb gir1.2-muffin-3.0_1.1.2_i386.deb libmuffin-dev_1.1.2_i386.deb
NOTE: You will need a version of muffin before compiling Cinnamon. Installing the nightly from the PPA at the very start seems the most sensible way to make sure you have no unresolved dependencies from doing things in the wrong order even if you then overwrite it by installing custom versions of muffin compiled as above.
We are now ready to Compile the new Cinnamon by:
This is a slow activity but it eventually produces a cinnamon deb file in the parent directory, which you can install with gdebi or dpkg -i.
I had to use dpkg -i as I had the Nightly installed which showed up as a more recent version and gdebi did not allow be to overwrite a newer version so
sudo dpkg -i ~/cinnamon_1.6.7_i386.deb
Note: Version number may need to be updated - check in home folder.
Make sure all your programs are closed as you will need to immediately logout and back in again with the new version - use Alt Ctrl Backspace to force a logout if required
I then found I had the latest version of Cinnamon - without any changes by me of course. This was real progress.
One of the main reasons for installing GIT and Cinnamon/muffin on my machine is so I can try out the various solutions which are being put forwards for testing. Most use the pull request mechanism even when they are still work in progress so they never get 'pulled' into Upstream for me to access. I tryed this out on a suitable Pull request by running the code provided - in this case:
git pull https://github.com/autarkper/Cinnamon alttab-multi-ws
In this case it turned out to contain 4 commits and had some problems so I wanted to get rid of it. At this point I realised that I should have created a branch for testing it first and it was now in my master branch and very difficult to get shot of. This is because the writers of GIT are almost paranoid about protecting one from ever losing any information which is what I wanted to do. In the end I found http://nakkaya.com/2009/09/24/git-delete-last-commit/ and then http://git-scm.com/2011/07/11/reset.html which is by the writer of GIT Pro which is my current reference book (PDF) and used.
git reset --hard HEAD~4
HEAD~nn is a shorthand for commit nn before head. Alternatively you can refer to the SHA-1 of the hash you want to reset to. --soft option will delete the commit but it will leave all your changed files "Changes to be committed", as git status would put it. I wanted to get rid of any changes to tracked files in the working tree since before the commits so use --hard instead.
This program helps enourmously in helping one see what one is doing.
sudo apt-get install gitk
Run it in a terminal from within the Cinnamon or muffin folder. There are a nuber of command line options I have not yet explored
The following is a typical output after my second attempt at merging in a pull request having created a new branch for my testing and a extra brach for a particular test. At this time there have been no additional changes in 'upstream' to fetch and merge.
When you change to a different Branch (or location on a branch) the current contents of the working folder (~/Cinnamon or ~/muffin in this case) reflects the changes which have been made and committed at that point (plus changes made but not committed??) . The branch you have changed to “the current branch” is “the branch that will advance when one performs a commit”. The location of the snapshot is refered to as the HEAD??
You change branch by
git checkout existingbranchname
The simplest way to creat a new branch for example when you need to do some testing is by
git checkout -b newtestbranch
This creates a new branch from where the HEAD pointed and switches to it.
If this is all becoming a bit of a mystery then have a look at http://lostechies.com/joshuaflanagan/2010/09/03/use-gitk-to-understand-git/ which goes through all the steps on how to create a branch to do some work, after it has been test merge it into the branch you are using for long term development (development) , delete the testing branch and how to push the extra work (commits) back to your branch on the remote server (origin) and takes one through what gitk shows after every step in a simple example.
We recently received a large PDF scan of a document which unfortunately had a number of pages missed out and some duplicates. Rather than ask for it all to be redone I had a look to see what the current state of PDF tools was for Linux.
PDF-Shuffler. I found a tool which was ideal for this task in PDF-Shuffler which is in the Ubuntu repositories. PDF-Shuffler is, to quote, "a small application which allows one to merge or split pdf documents and rotate, crop and rearrange their pages using an interactive and intuitive graphical interface". Ichecked and used it to Input and Append PDFs, drag the individual pages into the correct order, delete pages and rotate them before saving them which is exactly what I needed and is perfect for tidying up after scanning a document with a modern scanner with pdf output
pdftk (PDF Toolkit) is a command-line tool which enables you to edit pdf files. pdftk is not only freely available on Linux but also on MS Windows and MacOS X. It can be installed in Ubuntu Linux by using the Synaptic Package Manager or your distributions Software Centre. If you're just doing something really easy like clipping pages out or reordering pages, pdftk is great although it's a command line tool.
For example, to remove page 4 of an 8 page pdf (example.pdf), use the following:
pdftk example.pdf cat 1-3 5-end output new_pdf_file.pdf
To combine pdf's first_file.pdf and second_file.pdf into first_and_second_file.pdf, so the following:
pdftk first.pdf second.pdf cat output first_and_second.pdf
pdftk overall is more powerful although much less convenient than PDF-Shuffle as one can see from the specification of pdftk from Linux Synaptic Package Manager. If PDF is electronic paper, then pdftk is an electronic stapler-remover, hole-punch, binder, secret-decoder-ring, and X-Ray-glasses. Pdftk is a simple tool for doing everyday things with PDF documents. Keep one in the top drawer of your desktop and use it to:
- Merge PDF documents
- Split PDF pages into a new document
- Decrypt input as necessary (password required)
- Encrypt output as desired
- Fill PDF Forms with FDF Data and/or Flatten Forms
- Apply a Background Watermark
- Report PDF on metrics, including metadata and bookmarks
- Update PDF Metadata
- Attach Files to PDF Pages or the PDF Document
- Unpack PDF Attachments
- Burst a PDF document into single pages
- Uncompress and re-compress page streams
- Repair corrupted PDF (where possible)
This is caused by the Global Application Menu used in Unity conflicting with Wammu, in particular with appmenu-gtk. I am running Cinnamon so it is possible to remove the Global Menu feature completely using synaptic and searching for appmenu and removing appmenu-gtk appmenu-gtk3 and appmenu-qt or, in a terminal.
sudo apt-get purge appmenu-gtk appmenu-gtk3 appmenu-qt
If you are running Unity try just removing appmenu-gtk
This is the perfect device for accessing the internet on the move and has all the advantages of a USB Broadband USB Dongle but without needing a physical connection so it can be placedwherever the signal is best as it connects via WiFi. In addition it can serve up to 5 computers, smart phones and tablets simultaneously. It is controlled via a web interface so it is almost totally independent of the operating system in use. It contains a full router and firewall and, although not publicised, it can be used to network your computers just as with a normal wifi router. You can send and receive TXTs via the web interface. You can also access storage on an optional miniSSD card via the web interface - ineligant but possible. There is a small display panel on the device which displays not only the network, signal strength and connection type (GPRS EDGE or 3g) and battery status but also the cummulative data used, the number of devices connected by Wifi and the number of unread TXTs. It comes with a USB charging lead and mains adapter
I bought mine in NZ for $99 (£55) with 2 Gbytes data with a three month lifetime. NZ Vodafone products are normally unlocked so I could change to a Vodafone UK SIM on my return which I have set up on a Text and Web Prepay tariff giving 300 TXTs and 500mbytes lasting for a month after every £10 topup. I also checked it works with an O2 SIM - use on O2 needed configuration of the APN (payandgo.o2.co.uk), number (*99#) username (payandgo) and password (password) whilst Vodafone SIMs seem to autoconfigure the R205 and do not need the Custom settings.
If you need custom settings for a non Vodafone SIM then the APN etc are set by loging in (default password is admin) which gives an increased numer of screens. It can then be reached by Mobile Wifi -> Mobile Broadband -> Mobile Broadband Connection Settings and selecting Custom under Account Type . The APN is esential and the number should be *99# The DNS settings should be blank. The Security is usually PAP and the user and password are usually not checked. For Vodafone I use web web and O2 payandgo password. Automatic connection is fine if you use the R205 plugged in for power - if you want to conserve power you can manually connect an disconnect on the entry page (with or without the password).