Cinnamon

From ArchWiki

Cinnamon is a desktop environment which combines a traditional desktop layout with modern graphical effects. The underlying technology was forked from the GNOME desktop. As of version 2.0, Cinnamon is a complete desktop environment and not merely a frontend for GNOME like GNOME Shell and Unity.

Installation

Cinnamon can be installed with the package cinnamon.

Note: If you have an Intel GPU, make sure you are not using xf86-video-intel with Cinnamon as it may freeze at random times otherwise, but you can still move the mouse. Use the modesetting(4) driver instead by removing xf86-video-intel (KDE also recommends this).

Cinnamon applications

Cinnamon introduces X-Apps which are based on GNOME Core Applications but are changed to work across Cinnamon, MATE and XFCE; they have the traditional user interface (UI).

Application GNOME Cinnamon
Text editor Gedit/Pluma xed
Image viewer Eye of GNOME xviewerAUR
Document viewer Evince/Atril xreader
Media player Totem xplayerAUR
Image organizer gThumb pixAUR

Fallback mode

On the event when Cinnamon crashes, its Fallback mode activates. To control opened windows in this mode, you need to install metacity package and gnome-shell to have a taskbar.

Starting

Graphical log-in

Choose Cinnamon or Cinnamon (Software Rendering) from the menu in a display manager of choice. Cinnamon is the 3D accelerated version, which should normally be used. If you experience problems with your video driver (e.g. artifacts or crashing), try the Cinnamon (Software Rendering) session, which disables 3D acceleration.

Starting Cinnamon manually

If you prefer to start Cinnamon manually from the console, add the following line to Xinitrc:

~/.xinitrc
exec cinnamon-session

If the Cinnamon (Software Rendering) session is required, use cinnamon-session-cinnamon2d instead of cinnamon-session.

Restarting Cinnamon

The following needs to be executed as the user the Cinnamon instance is running under:

$ cinnamon-dbus-command RestartCinnamon 1

To restart Cinnamon from outside a dbus session, you can use something like this:

$ DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/${TARGET_USER_UID}/bus"
$ sudo -u "#${TARGET_USER_UID}" -H dbus-send --bus=$DBUS_SESSION_BUS_ADDRESS --type=method_call --dest=org.Cinnamon /org/Cinnamon org.Cinnamon.RestartCinnamon boolean:true 2> /dev/null
Note: Calling RestartCinnamon with a boolean determines whether Cinnamon will draw the OSD (On-Screen-Display) to inform the user that Cinnamon is restarting.

Configuration

Cinnamon is quite easy to configure — most common settings can be configured graphically. Its usability can be expanded with applets and extensions, and also it supports theming.

Cinnamon settings

cinnamon-settings launches a settings module specified on the command line. Without (correct) arguments, it launches System Settings. For example, to start the panel settings:

$ cinnamon-settings panel

To list all available modules:

$ pacman -Ql cinnamon | grep -Po '(?<=cs_).+(?=\.py)'
Printers
For configure printers, install the system-config-printer package.
Networking
To add support for the networking module, enable Network Manager. In order for NetworkManager to store Wi-Fi passwords, you will need to also install GNOME Keyring.
Bluetooth
For Bluetooth device support, install the blueberry package. If Blueberry is unable to enable or disable Bluetooth, add yourself (and/or any relevant users) to the "rfkill" user group. See Users and groups#Group management for more information.

Applets and extensions

While an applet is an addition to the Cinnamon panel, an extension can fully change the Cinnamon experience. They can be installed from the AUR, (package search), or from inside Cinnamon (Get more online):

$ cinnamon-settings applets
$ cinnamon-settings extensions

Alternatively, install manually from Cinnamon spices.

Note: If applets do not appear, restart Cinnamon with r in the Alt+F2 dialog box.

Pressing power buttons suspend the system

This is the default behaviour. To change the setting, open the cinnamon-settings panel and click on the "Power Management" option. Change the "When the power button is pressed" option to your desired behaviour.

Manage languages used in Cinnamon

  • To add/remove languages: see Locale.
  • To change between enabled languages: install the mintlocaleAUR package.
  • For Cinnamon to correctly display another language: install the cinnamon-translations package.
  • To change the keyboard layout: navigate to System Settings > Hardware > Keyboard > Layouts.

Use a different window manager

Cinnamon does not support using a different window manager.

Tips and tricks

Creating custom applets

The official tutorial on creating a Cinnamon applet can be found here.

Default desktop background wallpaper path

When you add a wallpaper from a custom path in Cinnamon Settings, Cinnamon copies it to ~/.cinnamon/backgrounds. Thus, with every change of your wallpaper, you would have to add your updated wallpaper again from the settings menu or copy / symlink it manually to ~/.cinnamon/backgrounds.

Additionally, the official mint wallpapers are available for every release. Checkout the AUR.

Show home, filesystem desktop icons

By default, Cinnamon starts with desktop icons enabled but with no desktop icons on screen. To show desktop icons for the home folder, the filesystem, the trash, mounted volumes and network servers, open Cinnamon settings and click on desktop. Enable the checkboxes of the icons you want to see on screen.

Menu editor

The Menu applet supports launching custom commands. Right click on the applet, click on Configure... and then Open the menu editor. Select a sub-menu (or create a new one) and select New Item. Set Name, Command and Comment. Check the launch in terminal checkbox if needed. Leave unchecked for graphical applications. Click OK and close the menu editor afterwards. The launcher is added to the menu.

Workspaces

A workspace pager can be added to the panel. Right click the panel and choose the option Add applets to the panel. Add the Workspace switch applet to the panel. To change its position, right click on the panel and change the Panel edit mode on/off switch to on. Click and drag the switcher to the desired position and turn the panel edit mode off when finished.

By default, there are 2 workspaces. To add more, hit Control+Alt+Up to show all workspaces. Then click on the plus sign button on the right of the screen to add more workspaces.

Alternatively, you can choose the number by command-line:

$ gsettings set org.cinnamon.desktop.wm.preferences num-workspaces 4

Replacing 4 with the number of workspaces you want.

Hide desktop icons

The desktop icons rendering feature is enabled in Nemo by default. To disable this feature, change the setting with the following command:

$ gsettings set org.nemo.desktop show-desktop-icons false

Themes, icons and backgrounds

Linux Mint styled themes, icons and backgrounds can be installed with the mint-themesAUR, mint-l-themeAUR, mint-x-iconsAUR, mint-y-iconsAUR, mint-artworkAUR and mint-backgroundsAUR packages. Whereby the latter is a collection of all backgrounds included in all Linux Mint Versions. Backgrounds of individual Linux Mint versions are also available over the AUR.

The themes and icons can be edited in Settings > Themes. The backgrounds in Settings > Backgrounds.

Setting the desktop theme via shell can be done like this:

$ gsettings set org.cinnamon.theme name "Theme-Name"

Sound events

Cinnamon does not come with sounds used for events like the startup of the desktop that are also used in Linux Mint by default. These sound effects can be installed with the mint-artworkAUR package. The sound events can be edited in Settings > Sound > Sound Effects.

Resize windows by mouse

To resize windows with Alt+Right click, use gsettings:

gsettings set org.cinnamon.desktop.wm.preferences resize-with-right-button true

Portable keybindings

To export your keyboard shortcut keys:

$ dconf dump /org/cinnamon/desktop/keybindings/ > keybindings-backup.dconf

To later import it on another device:

$ dconf load /org/cinnamon/desktop/keybindings/ < keybindings-backup.dconf

Screenshot

As explained in Taking a screenshot, installing gnome-screenshot will add this functionality. The default shortcut key is PrintScreen key. This binding can be changed in the applet Menu > Preferences > Keyboard under Shortcuts > System > Screenshots and Recording. The default save directory is $HOME/Pictures, but can be customized with eg.

$ gsettings set org.gnome.gnome-screenshot auto-save-directory file:///home/USER/some_path

Prevent Cinnamon from overriding xrandr/xinput configuration

The cinnamon-settings-daemon provides a number of plugins which can manage the display, keyboard and mouse. These plugins will override user set configuration (such as xrandr commands in the xinitrc file). To stop user set configuration from being overridden, it is necessary to prevent the settings daemon plugins from being started.

This can be done by copying the .desktop entry for the relevant settings daemon plugin (these will be located in /etc/xdg/autostart/) to $HOME/.config/autostart. Then append the line Hidden=true to each copied entry.

Tip: Start your session with cinnamon-session --debug to see which plugins are reported to have been started.

To preserve display, keyboard and mouse settings, consider disabling the following:

cinnamon-settings-daemon-a11y-keyboard.desktop
cinnamon-settings-daemon-a11y-settings.desktop
cinnamon-settings-daemon-keyboard.desktop
cinnamon-settings-daemon-mouse.desktop
cinnamon-settings-daemon-xrandr.desktop

Troubleshooting

Debugging

You can use the cinnamon-looking-glass tool (Melange - Cinnamon Debugger) to inspect various things about the Cinnamon environment:

  • a list of currently-open windows
  • a list of currently-loaded extensions (applets, desklets, etc.)
  • logs

The "logs" feature is especially useful if you are encountering crashes (often happening due to extensions no being compatible or buggy).

cinnamon-settings: No module named Image

If cinnamon-settings does not start with the message that it cannot find a certain module, e.g. the Image module, it is likely that it uses outdated compiled files which refer to no longer existing file locations. In this case, remove all *.pyc files in /usr/lib/cinnamon-settings and its sub-folders. See the upstream bug report.

Starting Cinnamon from tty after crash

If Cinnamon is completely unresponsive, it can be restarted from the TTY (Alt+F2) with:

$ cinnamon --replace -d :0 &

Video tearing

Because muffin is based upon mutter, video tearing fixes for GNOME should also work in Cinnamon. See GNOME/Troubleshooting#Tear-free video with Intel HD Graphics for more information.

Disable the NetworkManager applet

Even if you do not use NetworkManager and remove the Network Manager applet from the default panel, Cinnamon will still load nm-applet and display it in the system tray. You cannot uninstall the package because it is required by cinnamon and cinnamon-control-center, but you can still easily disable it. To do so, copy the autostart file from /etc/xdg/autostart/nm-applet.desktop to ~/.config/autostart/nm-applet.desktop. Open it with your favorite text editor and add at the end X-GNOME-Autostart-enabled=false.

Alternatively, you can disable it by creating the following symlink:

$ ln -s /bin/true /usr/local/bin/nm-applet

The ability to blacklist particular icons from the system tray (such as the nm-applet icon) has been requested upstream.

Cinnamon overrides settings in xorg.conf

Cinnamon overrides custom settings in xorg.conf like display orientation and layout.

Open System Settings > Startup Applications and set Cinnamon Settings Daemon - xrandr to OFF.