MATE

From Gentoo Wiki
Jump to:navigation Jump to:search
Other languages:

MATE (pronounced to rhyme with latte, not late) is a fork of the GNOME 2 desktop environment designed to retain the look and feel of a 'traditional' desktop environment.

According to the MATE team's manifesto, they aim to keep a traditional desktop look and feel, maintain an open development model, have an open relationship with GNU/Linux distributions, and serve as a good alternative for lower-end hardware.

Note
MATE bugs can be reported at Gentoo Bugzilla — please provide sufficient details (how to reproduce, emerge info, logs, error messages, etc.).

Installation

Architecture Support

MATE is available for amd64 and x86. As of March 2019, testing versions are available for ~arm,~arm64, ~loong and ~riscv. Support for other architectures will be considered with support of people testing and reporting issues.

USE flags

First enable or disable desired USE flags for mate-base/mate.

USE flags for mate-base/mate Meta ebuild for MATE, a traditional desktop environment

+base Install base MATE Desktop applications that are recommended for the most common usage; for example, this installs the file manager. Disable this and other USE flags if you want a more minimal MATE Desktop.
+extras Install additional MATE Desktop applications that are recommended for extended usage of the MATE Desktop as upstream sees it; for example, this installs MATE Desktop's office related applications. Disable this if you plan to use your own non-MATE Desktop alternatives or a custom mixture of MATE and non-MATE packages.
+notification Force notification daemon to default to MATE's notification daemon. Enabled by default. Disable if it causes conflicts with other installed desktop environments.
+themes Install MATE Desktop's themes; if you use other themes, you can disable this to spare some space and time.
bluetooth Enable Bluetooth Support
help Install gnome-extra/yelp to handle in application help menus and documentation browsing

Installing MATE

Profiles

It is highly recommended to run a desktop profile when running a Desktop Environment, using amd64 as an example this can be done by running:

root #eselect profile set default/linux/amd64/17.1/desktop
root #emerge -vauDU @world

Emerge

To install the MATE desktop environment meta package run the following command:

root #emerge --ask --changed-use mate-base/mate

Development Release Cycle

Gentoo includes both the stable 1.26 and development build 1.27 versions to give users a choice in deciding if they want to use MATE as the developers intended or, run the latest release with the understanding things may go wrong and bugs will need to be reported to bugs.gentoo.org and to the correct place at github.com/mate-desktop.

Warning
Upstream does NOT recommend users run this as things can and will break.
FILE /etc/portage/package.mask/mateMask Example
=mate-*/* **

Using the wildcard in this config file will mean the system will skip 1.27 completely but allow upgrading to 1.28 once released.

Note
This will need to be done again for 1.29's release.

Usage

Either a display manager (SLiM, GDM, LightDM, etc.) or the startx command can be used to start MATE during system the system boot process.

Display manager (DM)

To make the display manager work specify a MATE session (mate-session) in the configuration of the display manager; some perform this action interactively, others will need to have a configuration file modified. The default session can also often be changed by setting XSESSION="Mate" in /etc/env.d/90xsession:

FILE /etc/env.d/90xsessionEnabling MATE
XSESSION="Mate"

The MATE team recommends LightDM as the display manager. Install x11-misc/lightdm:

root #emerge --ask x11-misc/lightdm

OpenRC

Set LightDM as the default display manager:

FILE /etc/conf.d/display-manager
DISPLAYMANAGER="lightdm"

To start LightDM on boot, add dbus and display-manager to the default runlevel:

root #rc-update add dbus default
root #rc-update add display-manager default

To start LightDM now:

root #rc-service dbus start
root #rc-service display-manager start

systemd

To start LightDM on boot:

root #systemctl enable lightdm

To start LightDM now:

root #systemctl start lightdm

Manual start

To start MATE manually create a ~/.xinitrc file in a user's home directory. Make its contents as follows:

FILE ~/.xinitrc
exec mate-session

Note that dbus-launch may be needed between exec mate-session for D-Bus communication to work, for example:

FILE ~/.xinitrc
exec dbus-launch mate-session

Desktop portal

Because apps trying to support Wayland they switched some of their functionality to use XDG Desktop Portal. For example Firefox installed from Flatpak will fail to open user's Downloads directory without desktop portal implementation. Therefore xdg-desktop-portal-xapp is needed as it works with MATE.

root #emerge --ask sys-apps/xdg-desktop-portal-xapp

Then user should logout out and log back into their graphical session to ensure that everything works correctly.

Configuration

Compositing

Compositing is not enabled by default. To enable compositing run System → Preferences → Windows and click the tick box alongside Enable software compositing window manager in the General tab.

Window centering

Window centering is not enabled by default. To enable window centering run System → Preferences → Windows and click the tick box alongside Center new windows in the Placement tab.

Window snapping

Window snapping is not enabled by default. To enable window snapping run System → Preferences → Windows and click on the tick box alongside Enable side by side tiling in the Placement tab.

Change applications menu icon

The applications menu icon is set to start-here by default. To use a different icon, copy your icon to a folder such as /usr/local/share/pixmaps and execute the following:

user $$ gsettings set org.mate.panel.menubar icon-name <icon>

Where icon is the name of the icon without the file extension. Restart MATE panel.

Show or hide desktop icons

Desktop icons are enabled by default. They can be hidden or shown individually using dconf.

Hide all desktop icons

user $dconf write /org/mate/desktop/background/show-desktop-icons false

Hide individual icons

To hide the computer icon:

user $dconf write /org/mate/caja/desktop/computer-icon-visible false

To hide the user directory icon:

user $dconf write /org/mate/caja/desktop/home-icon-visible false

To hide the network icon:

user $dconf write /org/mate/caja/desktop/network-icon-visible false

To hide the trash icon:

user $dconf write /org/mate/caja/desktop/trash-icon-visible false

To hide mounted volumes:

user $dconf write /org/mate/caja/desktop/volumes-visible false

Alternatively, dconf Editor may be used to show or hide desktop icons. Navigate to org → mate → caja → desktop.

Show volume control

To control pulseaudio and see the volume control icon in the notification area, make sure to compile media-libs/libmatemixer with pulseaudio USE enabled.

Applications

This is a list of GNOME 2 applications that have been renamed and included in the MATE desktop environment.

Icon GNOME 2 MATE Type
Mozo.png Alacarte (alacarte) Mozo (mozo) Menu editor
Desktop.png About GNOME (gnome-about) About MATE (mate-about) About Desktop Environment
Mate-disk-usage-analyzer.png Baobab (baobab) Disk Usage Analyzer (mate-disk-usage-analyzer) Disk usage analyzer
Preferences-desktop.png Control Center (gnome-control-center) Control Center (mate-control-center) Example
Gnome-mime-application-pdf.png Evince (evince) Atril (atril) Document Viewer
Mate-image.png Eye of GNOME (eog) Eye of MATE (eom) Image Viewer
Mate-zip.png File Roller (file-roller) Engrampa (engrampa) File Archive Manager
Mateconf.png GConf (gconftool-2, gconf-editor) MateConf (mateconftool-2, mateconf-editor) DE Configuration System
Pluma-text-editor.png Gedit (gedit) Pluma (pluma) Text Editor
Marco.png Metacity (metacity) Marco (marco) Window Manager
Caja-file-manager.png Nautilus (nautilus) Caja (caja) File Manager
Mate-applets-screenshooter.png Take Screenshot (gnome-screenshot) Take Screenshot (mate_screenshot) Screen Capture Tool
Gnome-terminal.png Terminal (gnome-terminal) Terminal (mate-terminal) Terminal
Matedialog.png Zenity (zenity) MateDialog (matedialog) GTK Dialog Boxes

Applets

This is a list of GNOME 2 panel applets that have been renamed and included in the MATE desktop environment.

Icon GNOME 2 MATE Type
Mateweather.png gweather mateweather Panel Weather Applet
Mateinvest.png gnome-invest-applet mate-invest-applet Stock Tracking Applet
Mate-netspeed-applet.png gnome-netspeed-applet mate-netspeed-applet View Internet Speed
Mate-inhibit-applet.png gnome-inhibit-applet mate-inhibit-applet Inhibit Power Saving
User-trash-full.png gnome-trash-applet mate-trash-applet Shortcut to Trash
Mate-panel-notification-area.png gnome-panel-notification area mate-panel-notification-area Notification Area
Mate-panel-window-list.png gnome-panel-window-list mate-panel-window-list Switch Windows using the Taskbar
Mate-panel-window-menu.png gnome-panel-window-menu mate-panel-window-menu Switch Windows using a Menu
Mate-panel-workspace-switcher.png gnome-panel-workspace-switcher mate-panel-workspace-switcher Switch Workspaces
Mate-sticky-notes-applet.png gnome-sticky-notes-applet mate-sticky-notes-applet Create, View, Manage Sticky Notes

Autostart

MATE is capable of automatically running binaries or scripts on a per-user basis.

Autostart entries can be added via System → Preferences → Start Applications.

From the command-line, entries can be added in the ~/.config/autostart directory as XDG formatted .desktop files. Be sure to include a line that says X-MATE-Autostart-enabed=true. For example:

FILE ~/.config/autostart/example.desktopMATE autostart example
[Desktop Entry]
Type=Application
Exec=/path/to/executable
Hidden=false
Name=Autostart example
Comment=This file shows that the line below is needed for MATE to autostart an executable
X-MATE-Autostart-enabled=true

FAQ

Does MATE rely on a specific service manager or init system?

No, MATE has been tested to work with both OpenRC and systemd and might work on other service managers and init systems too (untested, but no known reason for it to break); systemd support was added in release 1.6.

Can MATE be installed side-by-side GNOME packages or do they block?

As the MATE packages use their own categories, it is possible to have MATE and GNOME 3 installed at the same time which allows you to test either; taking it even a step further, if you change MATE to not have a top panel (as it gets hidden under the GNOME 3 shell) you can even start mate-session within GNOME 3 and run MATE and GNOME 3 at the same time.

How do I enable the panel shadow?

Due to a race condition, the panel shadow does not appear after logging in to the MATE desktop, even with compositing enabled. You must first copy /usr/share/applications/mate-panel.desktop to ~/.local/share/applications/mate-panel.desktop. Then set X-MATE-Autostart-Phase to Applications, and add a delay:

FILE /usr/share/applications/mate-panel.desktop
X-MATE-Autostart-Phase=Applications
X-MATE-Autostart-Delay=2
X-MATE-Provides=windowmanager
X-MATE-Autostart-Notify=true

You may need to adjust the delay as needed. Finally, restart Marco with the following command:

user $ $ marco --replace

Using MATE with dual screens

When using MATE desktop with multiple screens, it must be emerged with the xinerama USE flag enabled. Specifically, the window manager that is powering mate-desktop, which is x11-wm/marco. This will solve issues like windows being maximized over both screens in MATE desktop.

Using MATE with Android phones

To connect Android devices and open them in mate-base/caja you need to compile gnome-base/gvfs with the mtp USE flag.

Can I replace the default screen-shot tool with X?

mate-screenshot is provided in mate-extra/mate-utils provides basic screenshot capabilities. If you don't like it and need a more advanced tool, like x11-misc/shutter you can replace the default behavior of the Print Screen button by editing the following configurations option with dconf-edtior:

org.mate.marco.keybinding-commands.command-screenshot $your-command

If you feel comfortable doing this with the command line you can do:

user $dconf write /org/mate/marco/keybinding-commands/command-screenshot \"foo\"

or with:

user $gsettings set org.mate.Marco.keybinding-commands command-screenshot 'foo'

Suspend and Hibernate buttons are missing from the shutdown dialog

If only "Restart Cancel Shutdown" buttons appear in the dialog, make sure both mate-base/mate-session-manager and mate-base/mate-power-manager were built with elogind flag.

Removal

root #emerge --ask --depclean mate-base/mate $(qlist -IC 'mate-base/*')

To remove all packages with the name MATE (eix required):

root #emerge --ask --depclean $(eix -I -# mate)

Troubleshooting

GLib-GObject-ERROR: object GsmAutostartApp 0x73ca40 finalized while still in-construction

When you get this error (see ~/.materc-errors), it is usually preceded by a warning, fixing the warning could fix the problem; for example, when I get to see:

CODE
mate-session[881]: WARNING: Could not parse desktop file /home/username/.config/autostart/some-naughty-broken-program.desktop: Key file does not have key 'Name'
mate-session[881]: GLib-GObject-ERROR: object GsmAutostartApp 0x73ca40 finalized while still in-construction

In this case, you can resolve this by moving away the desktop file or fixing it up by adding the Name key. If you want a clean start, you can move those files out of the way by backing them up:

user $for f in ~/.config/autostart/*.desktop ; do mv "${f}" "${f}.bak" ; done

Failure to emerge due to conflicts with x11-libs/gtk+:3 and x11-themes/mate-themes{,-meta}

Unfortunately, due to some packaging requirements, there is the potential for users to have an issue with proper dependency resolution when installing mate-themes{,-meta}. Generally speaking, the simplest solution is to oneshot the appropriate mate-themes package, allowing subsequent emerges to happen without issue. For example, if you have x11-libs/gtk+-3.18 installed, you will want to

root #emerge -1av '=mate-themes-3.18*'

or if you have gtk+-3.20 installed, you will want to

root #emerge -1av '=mate-themes-3.20*'

Failed to acquire org.freedesktop.timedate1.set-time: GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed:

In order to set the system time through the calendar applet or mate-control center (or through mate-admin) you will have to compile:

root #emerge --ask app-admin/openrc-settingsd

And then add it to the default run level:

root #rc-update add openrc-settingsd default

Logout and re-login and you'll be able to set the system time.

See also

  • Desktop environment — provides a list of desktop environments available in Gentoo.
  • KDE — a free software community, producing a wide range of applications including the popular Plasma desktop environment.
  • Gnome — a feature-rich desktop environment provided by the GNOME project.
  • Xfce — a lightweight desktop environment built to be fast, good looking, and user friendly.