Post-Install Configuration (Ubuntu MATE)
NOTE: I am no longer updating this article. If you have some corrections or things to add/remove, feel free to contact me - I'll be more than happy to include them.
Below is a collection of commands and snippets I have put together over the years. Pick out the parts you find useful, and create your own one-click system configuration shell script.
A Few GUI Shortcuts...
While you're tweaking things in the Terminal, you might want to do some configuration through the graphical user interface.
# Software settings
software-properties-gtk
# Set up monitors
mate-display-properties
# Change keyboard layouts
mate-keyboard-properties
# Audio settings
mate-volume-control
# Set the locales
gnome-language-selector
# Show the control centre
mate-control-center
Repositories
This will enable some extra repositories
# This will add the My Weather Indicator repo
sudo add-apt-repository ppa:atareao/atareao
# This will add the repo for Monkey's Audio, Nero AAC, tsMuxeR, Odio, Unity Mail and some others
sudo add-apt-repository ppa:robert-tari/main
Update the Package List
You must do this if you have made changes to your repository lists.
sudo apt-get update
Update the Whole System
This will pull all available updates, so be patient.
sudo apt-get upgrade -y
Install Additional Software
This is what I usually add to a system, change the list to suit your needs.
sudo apt-get install -y dconf-editor mplayer evolution smplayer desktop-webmail unity-mail aisleriot my-weather-indicator trash-cli ffmpeg inkscape gimp ubuntu-restricted-extras caja-rename odio mkvtoolnix-gui
Remove Unwanted Software
These are the ones I never use - you make your own list
sudo apt-get remove --purge plank thunderbird rhythmbox vlc deja-dup
Automagically delete old trash
This checks the trash on reboot and removes anything older than 30 days.
(crontab -l 2>/dev/null; echo "@reboot /usr/bin/trash-empty 30") | crontab -
Favourites Menu
This recreates the favourites list shown in Caja and File Dialogs. Below is just an example, change it to your liking.
echo "file://$(xdg-user-dir DOCUMENTS) $(xdg-user-dir DOCUMENTS | cut -d "/" -f 4)" | tee "$HOME/.gtk-bookmarks"
echo "file://$(xdg-user-dir DOWNLOAD) $(xdg-user-dir DOWNLOAD | cut -d "/" -f 4)" | tee -a "$HOME/.gtk-bookmarks"
echo "file://$(xdg-user-dir MUSIC) $(xdg-user-dir MUSIC | cut -d "/" -f 4)" | tee -a "$HOME/.gtk-bookmarks"
echo "file://$(xdg-user-dir PICTURES) $(xdg-user-dir PICTURES | cut -d "/" -f 4)" | tee -a "$HOME/.gtk-bookmarks"
echo "file://$(xdg-user-dir VIDEOS) $(xdg-user-dir VIDEOS | cut -d "/" -f 4)" | tee -a "$HOME/.gtk-bookmarks"
echo "file://$HOME/FOLDER1 FOLDER1" | tee -a "$HOME/.gtk-bookmarks"
echo "file://$HOME/FOLDER2 FOLDER2" | tee -a "$HOME/.gtk-bookmarks"
echo "file:///FOLDER3 FOLDER3" | tee -a "$HOME/.gtk-bookmarks"
Handler for mailto: links
If you're using a webmail host not listed in the Desktop Webmail application, add it like this:
sudo echo -e "" | sudo tee -a /usr/share/desktop-webmail/webmailers.ini
sudo echo -e "[PROVIDER_NAME]" | sudo tee -a /usr/share/desktop-webmail/webmailers.ini
sudo echo -e "ID=1" | sudo tee -a /usr/share/desktop-webmail/webmailers.ini
sudo echo -e "URL=https://PROVIDER_URL" | sudo tee -a /usr/share/desktop-webmail/webmailers.ini
sudo echo -e "INBOX=https://PROVIDER_COMPOSE_URL%s" | sudo tee -a /usr/share/desktop-webmail/webmailers.ini
sudo echo -e "ICON=http://PROVIDER_URL/favicon.ico" | sudo tee -a /usr/share/desktop-webmail/webmailers.ini
echo -e "[Config]" > $HOME/.config/desktop-webmail/desktop-webmail.ini
echo -e "remember=false" >> $HOME/.config/desktop-webmail/desktop-webmail.ini
echo -e "default-provider=PROVIDER_NAME" >> $HOME/.config/desktop-webmail/desktop-webmail.ini
echo -e "default-url=https://PROVIDER_COMPOSE_URL%s" >> $HOME/.config/desktop-webmail/desktop-webmail.ini
echo -e "default-inbox=https://PROVIDER_URL" >> $HOME/.config/desktop-webmail/desktop-webmail.ini
Configure MATE
Here are some settings for the UI. Change them to whatever you see fit.
# Set the wallpaper
gsettings set org.mate.background picture-filename "/SOME/PATH/IMAGE.jpg"
# Set the visibility of some icons on your Desktop
gsettings set org.mate.caja.desktop home-icon-visible false
gsettings set org.mate.caja.desktop volumes-visible false
# Set the date format of files in Caja to yyyy-MM-dd hh:mm:ss
gsettings set org.mate.caja.preferences date-format "iso"
# Tell Caja to use detailed lists by default
gsettings set org.mate.caja.preferences default-folder-viewer 'list-view'
# Enable the Delete command in Caja
gsettings set org.mate.caja.preferences enable-delete true
# Disable sound preview
gsettings set org.mate.caja.preferences preview-sound 'never'
# Show hidden files in Caja
gsettings set org.mate.caja.preferences show-hidden-files true
# Disable window animation effects
gsettings set org.mate.interface enable-animations false
# Set the order and position of window controls
gsettings set org.mate.interface gtk-decoration-layout "menu:minimize,maximize,close"
# Hide input-related menus
gsettings set org.mate.interface show-input-method-menu false
gsettings set org.mate.interface show-unicode-menu false
# Set toolbars to display icons with text below
gsettings set org.mate.interface toolbar-style both
# Disable keyboard sounds
gsettings set org.mate.Marco.general audible-bell false
# Set the order and position of window controls
gsettings set org.mate.Marco.general button-layout "menu:minimize,maximize,close"
# Center new windows on screen
gsettings set org.mate.Marco.general center-new-windows true
# Maximise new windows (except the ones listed below)
gsettings set org.mate.maximus exclude-class "['mate-terminal', 'galculator']"
gsettings set org.mate.maximus no-maximize false
# Keep maximised windows decorated
gsettings set org.mate.maximus undecorate false
# Disallow autorun on media insertion
gsettings set org.mate.media-handling autorun-never true
gsettings set org.mate.media-handling automount-open false
# Show this number of items in the places menu
gsettings set org.mate.panel.menubar max-items-or-submenu 10
# Always show notifications on the specified monitor
gsettings set org.mate.NotificationDaemon theme "coco"
gsettings set org.mate.NotificationDaemon monitor-number 1
gsettings set org.mate.NotificationDaemon use-active-monitor false
# Set Pluma's colours to classic
gsettings set org.mate.pluma color-scheme "classic"
# Disable right margin in Pluma
gsettings set org.mate.pluma display-right-margin false
# Tell Pluma to convert tabs to spaces
gsettings set org.mate.pluma insert-spaces true
# Disable wrapping in Pluma
gsettings set org.mate.pluma wrap-mode GTK_WRAP_NONE
# Some power management
gsettings set org.mate.power-manager action-critical-battery "suspend"
# Disable the suspend button
gsettings set org.mate.power-manager button-suspend "nothing"
# Always show power icon
gsettings set org.mate.power-manager icon-policy "always"
# Turn off monitors after specified number of seconds
gsettings set org.mate.power-manager sleep-display-ac 3600
# Disable screensaver
gsettings set org.mate.screensaver mode "blank-only"
# Disallow user switching when screen is locked
gsettings set org.mate.screensaver user-switch-enabled false
# Activate power saving after a certain number of minutes
gsettings set org.mate.session idle-delay 60
# Disable keyboard sounds
gsettings set org.mate.sound input-feedback-sounds false
Install the Date/Time indicator
sudo apt install indicator-datetime -y --no-install-recommends
cat > "$HOME/.config/autostart/indicator-datetime-service.desktop" << EOL
[Desktop Entry]
Type=Application
Exec=/usr/lib/x86_64-linux-gnu/indicator-datetime/indicator-datetime-service
Hidden=false
X-MATE-Autostart-enabled=true
Name=HACK: indicator-datetime-service
EOL
Fix the Indicator Applet padding
sudo cat > "$HOME/.config/gtk-3.0/gtk.css" << EOL
#fast-user-switch-menubar menuitem
{
padding-top: 3px;
padding-bottom: 3px;
}
EOL
Mono icon set tweaks
This preserves a consistent "Ubuntu look" in the Notification/Indicator area.
# Uncomment the one you need
THEME="light"
# THEME="dark"
# Clementine
mkdir -p "$HOME/.config/Clementine/customiconset/icons/22x22"
mkdir -p "$HOME/.config/Clementine/customiconset/icons/32x32"
mkdir -p "$HOME/.config/Clementine/customiconset/icons/48x48"
ln -sf "/usr/share/icons/ubuntu-mono-$THEME/apps/24/clementine-panel-grey.png" "$HOME/.config/Clementine/customiconset/icons/22x22/clementine-panel-grey.png"
ln -sf "/usr/share/icons/ubuntu-mono-$THEME/apps/24/clementine-panel.png" "$HOME/.config/Clementine/customiconset/icons/22x22/clementine-panel.png"
ln -sf "/usr/share/icons/ubuntu-mono-$THEME/apps/24/clementine-panel-grey.png" "$HOME/.config/Clementine/customiconset/icons/32x32/clementine-panel-grey.png"
ln -sf "/usr/share/icons/ubuntu-mono-$THEME/apps/24/clementine-panel.png" "$HOME/.config/Clementine/customiconset/icons/32x32/clementine-panel.png"
ln -sf "/usr/share/icons/ubuntu-mono-$THEME/apps/24/clementine-panel-grey.png" "$HOME/.config/Clementine/customiconset/icons/48x48/clementine-panel-grey.png"
ln -sf "/usr/share/icons/ubuntu-mono-$THEME/apps/24/clementine-panel.png" "$HOME/.config/Clementine/customiconset/icons/48x48/clementine-panel.png"