Coming from Ubuntu MATE? Read this

:beginner: Intended to be read by complete novices. Not everybody has eleven years of experience on Ubuntu, so I plead to my fellow Linuxoids an extension of respect and understanding. Thank you.


Many people who are like me, having spent the better part of their life on Debian / Ubuntu, are tired of the Debian packaging format crippling their capability to use the latest software and wanting to check out an Arch system probably stumbled upon Manjaro MATE and wonder how it isn’t as user-friendly out-of-the-box as Ubuntu MATE. This guide to making Manjaro MATE just as friendly for first-time users is intended to help ease the transition away from Ubuntu, while preserving workflow habits which may have been picked up during their use of Ubuntu MATE or Linux Mint MATE.

Teething problems

Cutting my teeth on my first Arch Linux OS, I encountered a few issues that many people may find make their first-time experience on Manjaro MATE feel tenuous, if not become ruinous to their first impressions of the system. On Manjaro MATE 20.0.1, compared to Ubuntu MATE these are the initial problems I’ve had to seek a resolution for:

  • Lack of automatic Bluetooth function by default
  • No Ubuntu MATE pre-loaded software
  • Lack of Compiz :wastebasket:
  • No default terminal feature
  • Lack of service command.
  • Difficulty seeking third-party software

:wastebasket: Compiz had been removed form Ubuntu MATE as of 19.10, but can still be installed — either current or legacy versions — for Debian systems should a user want it.

If any of these issues need resolution on your system, then read on. Else if you don’t care about any of this, then feel free to ignore this post.

Issues to resolve

Bluetooth “Not on” by default

Many users wanting to hitch their Bluetooth headset, keyboard and mouse will be disappointed to see Bluetooth is a bit more difficult to use. If you want all of your Bluetooth devices to be enabled by default:warning: then perform the following:

:heavy_dollar_sign: in xdg-terminal or preferred emulator:

sudo nano /etc/bluetooth/main.conf

GUI software command alternatives:

Execution without use of GVFS:

pkexec pluma /etc/bluetooth.main.conf

Execution with use of GVFS

pluma admin:///etc/bluetooth.main.conf

:gear: Both can also be executed in Run Application dialogue if you’re not a terminal fan, which can be accessed by default by holding Alt and pressing F2.

Insert your password, then scroll to the bottom of the document. De-comment AutoEnable and set it to true. Hold Ctrl and press O to save.:floppy_disk:

:floppy_disk: If you don’t like to the terminal and use pluma instead, it’s the usual fare for GUI apps:
Ctrl + S

:warning: For your safety, Bluetooth shouldn’t always be enabled. This is only if you wish to eschew your safety in exchange for convenience, whereby leaving Bluetooth enabled can make your machine vulnerable to forms of unauthorized access using Bluetooth as an attack vector.

Once saved, reboot and you’ll see all of your Bluetooth devices function when LightDM executes.

Missing software packed in with Ubuntu MATE

While not everything specific to that system can be installed, there are a couple of things one can get from the included software repositories Manjaro MATE uses by default which will allow use of MATE Menu (a fork of Linux Mint’s Mint Menu) and MATE Tweak. It is recommended to upgrade all system components beforehand, so to do that, perform this:

:heavy_dollar_sign: In xdg-terminal or preferred emulator:

sudo pacman -Syyu
Understand this command

Information presented here comes from the manual for pacman compiled on June 25th, 2020:
-S: Synchronize packages[…] including all dependencies required to run the packages.
-yy: Download a fresh copy of the master package database from the server(s) defined in pacman.conf[.] Passing two -y flags will force a refresh of all package databases, even if they appear to be up-to-date.
-u: Upgrades all packages that are out-of-date.

Once that task has completed, you can then perform the following:

:heavy_dollar_sign: In xdg-terminal or preferred emulator:

sudo pacman -S mate-menu mate-tweak

When all transactions finish, most software required for panel configuration by MATE Tweak should be installed. If there is anything else necessary for the function of your previous panel layout to install (for example, Tilda) repeat the above procedure with package names from the list of optional dependencies rendered in the terminal emulator.

Lack of Compiz

Installation for 0.9 branch is straight-forward:

:heavy_dollar_sign: In xdg-terminal or preferred emulator:

sudo pacman -S compiz-manjaro

If you’re seeking information about Compiz 0.8 / Reloaded, that’s an entirely different beast outside the scope of this article, to later be covered elsewhere.

No default terminal

Debian users may be more familiar with x-terminal-emulator as provided by update-alternatives, but no such things exist in Arch, and xdg-terminal doesn’t necessarily exist in your instance yet.

For this, the Arch User Repository needs to be utilized. As pamac is already installed, packages from AUR can be fetched using it as shown:

:heavy_dollar_sign: In xdg-terminal or preferred emulator:

pamac build xdg-utils-terminal-true-git

:key: No sudo here: pamac wiill request your password during installation.

Don’t perform any keystrokes after this just yet — Prior to installation,you will be asked to edit build files. While it is good practice to at least view them, typically this package is trusted and used by many. For information about this package, visit the Arch Linux AUR page about it here.

After pressing N to refuse viewing build files (like a naughty user) you will be requested to proceed with installation. Press Y when requested to continue.

:memo: If on the other hand, you chose to view build files (accidentially or otherwise), hold Ctrl and press X to exit nano and answer the prompts which follow accordingly.

Insert your account password and everything will be executed as desired. When finished, typing in xdg-terminal will open whatever terminal is defined in mate-default-appplication-properties.

:x: This also means default xdg-utils will be removed but that isn’t such a problem as what’s provided by the AUR is effectively a drop-in replacement.

No service command

If you’re familiar with the service command, drop that habit right quick. Here is a typical example for when the desktop is frozen but you can still access a TTY:

:heavy_dollar_sign: In ttyx (x being anywhere between 1 through 6):

sudo service lightdm stop
sudo service lightdm start

That doesn’t work in Arch land. What you can do instead is this:

:heavy_dollar_sign: In ttyx (x being anywhere between 1 through 6):

systemctl lightdm stop
systemctl lightdm start

If your scripts rely on any invocation of service, it may benefit you to modify these commands to use systemctl instead.

:speech_balloon: If there are any recommendations for making scripts which invoke service use systemctl instead, leave a reply about that! Many a novice developer will appreciate it.

Lack of third-party software

If you already opened pamac-manager during system configuration, you’ll see there’s plenty of software you might need, but not so much of what you’d want. While the AUR is always available via pamac's terminal commands, not everybody may be so inclined to exclusively use their terminal.

Fortunately, AUR support in Pamac Manager is a few clicks away. Click on the overflow icon in the titlebar, then access Preferences. After authenticating, visit the AUR tab and toggle on Enable AUR Support. This is kind of a misnomer — pamac already is an AUR helper, but pamac-manager hides AUR-installable software by default.

Some versions of Manjaro also include FlatPak and Snap support. For this to be avaiilable in Manjaro MATE, install the following packages:

Or, if you want to use the terminal to install them before opening pamac-manager:

:heavy_dollar_sign: In xdg-terminal or preferred emulator:

sudo pacman -S pamac-flatpak-plugin pamac-snap-plugin

A quick note about Flatpak: in certain instances, removing Flatpak software isn’t nearly as clean as Snap, AUR or use of official repositories, so while most software you’d want is probably available via Flatpak, it should be only as a last resort, at the bottom of a source preference hierarchy.

Official repos and AUR should be prioritized for the best software experience in Manjaro.


@cscs supplied some corrections which had been implemented.

If there are other issues when you transition from Ubuntu or Linux Mint MATE, leave those thoughts here. While i believe to have covered most of what first-time converts might encounter, it sure isn’t everything and I would love for this to be a compendium of resolutions for people who are coming from other distributions with the MATE desktop.

Please do not suggest or encourage the use of sudo with GUI-applications.

Similar for this. As far as I can tell manjaro does this for you … so only systemctl is needed.

Yes … simple… do the same thing ubuntu did and create an alias.
For example in ~/.bashrc : alias service='systemctl'

(though honestly the Scripts are what should change… if they are actually cross-distro portable … then they shouldnt rely on some silly alias only ubuntu uses … change it to systemctl and every systemd distro will be fine including ubuntu)

See I tried that in zsh and it didn’t work, so I assumed it wasn’t possible in bash. I am probably being smooth-brain and doing something wrong, but thank you for the corrections, they have been applied.

About the use of sudo with GUI apps, it’s something I’ve done and had not encountered issues, but you are correct in that an alternative like pkexec should had been used.

That would be good.
Really … I need to write the sudoedit tutorial so that can be referenced as the default.

Thats odd. But maybe its a zsh thing. It should work fine.
By default mnjaro uses a number of alias that look the same … ex:

alias ls='ls --color=auto'
alias grep='grep --colour=auto'
alias egrep='egrep --colour=auto'
alias fgrep='fgrep --colour=auto'
alias cp="cp -i"                          # confirm before overwriting something
alias df='df -h'                          # human-readable sizes
alias free='free -m'                      # show sizes in MB
alias more=less

It does, was just being smooth of brain and using sudo. Oops. Old habits die hard don’t they?

1 Like

the sudo strikes again :laughing: