This article will help you configure Ubuntu GNOME 17.04 / 17.10 to behave equal to or better than your Mac.
I’ve been a lifetime Mac user. But I wanted to play some games that aren’t available on the Mac, or no model of Mac laptops had a graphics card capable of running them at optimal performance.
This lead me to switch to Windows 8.1, eventually Windows 10.
But no matter how far I pushed Windows to match the productivity tools and UI / UX, it simply doesn’t compare. Primarily in the area of how the mouse feels (acceleration, momentum, sensitivity, etc…) and great web-programming tools that all play nice and have a visual continuity. Since I employ staff to do our production labor at The Portland Company, WP Plugin Co. and Brittany Hill Boutique, this was permissible because it left me in Google Inbox and Teamwork basically all the time. Meaning, productivity tools were of drastically less importance.
I am currently running Ubuntu 17.10 (Vanilla), but these instructions were also tested on 17.04 without any variation so unless an update since the writing of this article has changed something it should work.
- After installing Ubuntu, you’ll notice that the loading process up to the login screen has a dark purple-ish hue. This is a brand color that Ubuntu uses. I don’t like it, and if you don’t you can customize this by installing Ubuntu GNOME Desktop 3.xx or installing GRUB and Plymouth Themes. More on what those are and how to do it below.
- There are a few terms you should become familiar with to help you communicate in the Linux world.
- Linux vs Ubuntu – How is Ubuntu different from Linux?
- Flavors – What is a “flavor” in Linux?
- GRUB – This refers to the software that allows your computer to start. If you’re coming from a Mac, this is the grey screen with the Apple and loading You can install great Themes for this! Or modify them to create your own.
- Plymouth – This refers to the application which provides the graphical “splash” screen when booting and shutting down an Ubuntu system.. You can install great Themes for this too! Or modify them to create your own.
- Greeter – This refers to the login screen. You can learn more about how to customize it here.
- Nautilus (GTK, LightDM, etc…) – This is what layman would refer to as the overall look and feel of Linux Ubuntu. And is the equivalent to Apple’s “Finder” or the “skins” in Windows that make each version look different. You can also install great Themes for this! Or modify them to create your own.
- Apple Magic Mouse – If you use this mouse, you should know that the Version 1 of the Mouse works great. But the Version 2 does not currently support scrolling. I am working on solving this and also happy to pay someone for a patch. I’m confident it will get resolved in the very near future.
- Gaming – I am a lifelong gamer, albeit with very little time to do so, and on my agenda is seeing if I can play all my games on Linux and ditch Windows entirely.
- I will install Origin > SimCity and The Sims 3.
- I will install Blizzard’s Battlenet and Starcraft, World of Warcraft and other popular titles.
- And then I will install a real gaming platform: Steam and a number of titles there including Company of Heroes 2, Planetside 2, Ark and many more.
- Battery – In my case, I do not get a notification when my battery is fully charged. Consequentially I forget to unplug my charger, which decreases the longevity of the battery. I recommend installing this application to get those notifications.
- sudo add-apt-repository ppa:maateen/battery-monitor && sudo apt update && sudo apt install battery-monitor
- Hibernating & Graphics – When I close the lid on my computer, and reopen it, my resolution decreases, and the screen will blink as if it’s adjusting the resolution over and over every 10 seconds or so. I don’t know what’s causing this, probably a graphics driver.
When you install the Ubuntu GNOME Desktop from here you will encounter the issues under the “Initial Issues” section lower in this article.
- Download Ubuntu 17.04 GNOME and install onto a USB stick.
- Install GNOME Desktop by executing
sudo apt install ubuntu-gnome-desktop
- When prompted, choose
- What is the difference between GNOME Shell and GNOME Desktop?
- Log out. Select GNOME and log back in.
- Select the Bluetooth icon from the upper right and connect your wireless keyboard and mouse.
- I use the Apple Magic Keyboard and Apple Magic Mouse without any issues connecting.
- Mapping the keyboard was a little trickier, and not perfect. But I follow these instructions and chose the defaults in the prompts and got it working in minutes and without any problems.
- Customize Settings
- Enable “Night Light” from the menu in the upper right.
- Select the menu in the upper right.
- Select the “Settings” icon in the lower left of that menu.
- Select “Displays”.
- Select “Night Light”.
- Select “On” for “Night Light”.
- Select your Time Zone by selecting the date and time in the top center of the screen and selecting “Select a location…”
- Grant Access when prompted.
- Select “Date & Time”
- Enable “Automatic Time Zone”
- Change “Time Format” to “AM / PM”
- In “Tweak Tool” > “Top Bar” enable “Show date”.
- Select “Mouse & Touchpad”
- Max out the “Mouse Speed”
- Enable “Natural Scrolling”
- How do I get double tab on my Magic Mouse to display the Overview of Windows?
- Open “Tweak Tool”
- Under “Appearance”
- Enable “Global Dark Theme”.
- Under GTK+ choose “Adwaita-dark”.
- Log out and log back in for the changes to take effect.
- Under “Extensions”
- Choose “Get More Extensions”
- Add the “Transparent Notification” Extension.
- Under “Keyboard & Mouse”
- Disable “Middle-click Paste”.
- Under “Windows”
- Change “Focus Mode” to “Mouse” so you can scroll windows behind the mouse.
- Enable “Maximize”
- Enable “Minimize”
- Open “Files”
- Select “Files” > “Preferences” from the upper left.
- Under “Views”
- Choose “Sort folders before files”
- Choose “Allow folders to be expanded”
- Under “List Columns”
- Select “Owner”, “Group” and “Permissions”
- Under “Search & Preview”
- Choose “All Locations”, “All Files” and “All Folders” for the respective options.
- Install Google “Chrome” by downloading it from Google Chrome’s website directly.
These instructions are personalizations to my system for the purpose of website development with Roots‘ Trellis, Bedrock and Sage.
- Install ZSH by executing
sudo apt-get install zsh
- Install Git by executing
sudo apt-get install git
- Install Oh-My-ZSH
- Install Sublime Text
- Generate SSH Key
- Upload it to Github.com
- Upload it to prviate GitLab server.
- Install pre-requisites for Roots (Trellis, Bedrock and Sage).
- Install Virtualbox “AMD64” but don’t install “zesty” version because there is a bug that causes the “NSF Mount” step in Trellis to stall.
- Retrying this after I reinstall my OS failed. The Software Center choked at 9% and then stopped every time. I then followed this article and….
- Install Vagrant
- Do not install it via apt. Install it via the direct download. For some reasons this also causes the NSF Mount to stall.
- Install Vagrant-bindfs via
vagrant plugin install vagrant-bindfs
- Install Vagrant-hostmanager via
vagrant plugin install vagrant-hostmanager
- Install PHP via
sudo apt-get install php
- Install Ansible
sudo easy_instal pip
sudo pip install ansible
pip install six
- When I ran this on a fresh install of Ubuntu 17.04 + GNOME Desktop + GDM3 I got this message:
Requirement already satisfied: six in /usr/lib/python2.7/dist-packages
- Install Composer via sudo apt-get not their instructions because they suck and don’t work.
- Install NVM – So NodeJS can be installed without
- Because you have ZSH installed you’ll need to export your path following the instructions on the install page. It will look something like this:
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
- Install NodeJS (unofficial instructions) which includes NPM with:
nvm install stable
- Why does Trellis advise against installing NodeJS with
sudo and the official instructions advise using it?
- Install Gulp
- Install Bower
- Install BrowserSync
- Install asset-builder
- Install wiredep
- To avoid the module six error that occurs for some sites, running an older version of Trellis execute:
sudo pip install --ignore-installed six
- If that solution doesn’t work, try downgrading Ansible. My version is 2.4.x which gives this error. Downgrading to 188.8.131.52
sudo pip install ansible==184.108.40.206 and you can check your version with
- Also checkout this post on StackOverflow that is really detailed.
- Install NSFD by executing
sudo apt-get install nfs-common nfs-kernel-server
There is a different between Ubuntu 17.04 with GNOME 3.24 installed after Ubuntu installation and Ubuntu GNOME.
Which is stupid, the community should fix this so people that are new don’t get confused.
Ubuntu GNOME has several major bugs. Whereas Ubuntu 17.04 with GNOME 3.24 has fewer bugs.
- GNOME Software simply doesn’t work. Nothing will install.
- Wifi seems to have some sort of issue that prevents it from working properly. Running sudo apt-get update spits out errors – presumably because of connection. Other issues like web pages not loading.
- Bluetooth mouse (in my case Magic Mouse version 1) doesn’t automatically connect.
Out of the box, after a fresh installation of Ubuntu “Budgie” Flavour here are the issues I encountered:
- Mouse / Touchpad / Trackpad / Touchscreen
- Recommended reading if you want the long answer:
- Middle Button – By default, there is a middle button click enabled for the Apple Magic Mouse. I had to create this file, place it in my user folder (~/), log out and log back in to disable that.
- Scroll Speed – This is a really complicated topic. The software and settings for your touch page are different than those for your mouse which are different than those for your touch screen. Additionally, some applications in Ubuntu GNOME already have a scrolling experience identical to Apple’s products, such as Nautilus (the Files application that looks like a blue cabinet). But it doesn’t apply to all applications (for reasons currently unknown to me but I intend to find out). With each of these there are four shared components that make up your experience:
- Tracking Speed – How fast the pointer moves around the screen.
- Tracking Acceleration – Whether or not the mouse moves faster across the screen as you drag it longer.
- Using XInput – Open Terminal and execute
xinput --set-prop 17 "Device Accel Constant Deceleration" 2.
- Using HID_MagicMouse following this tutorial.
- Note: While modifying the scroll speed I ran a command:
sudo rmmod hid_magicmouse and this caused the Magic Mouse to stop working. I discovered that I could instantly add it back by executing
sudo modprobe hid_magicmouse.
- Using IMWheel
- Open Terminal and execute
sudo apt-get install imwheel
- Then create a file in your user’s root:
- Add these as the contents (the “10” numbers are the speed you can customize):
None, Up, Button4, 10
None, Down, Button5, 10
Control_L, Up, Control_L|Button4
Control_L, Down, Control_L|Button5
Shift_L, Up, Shift_L|Button4
Shift_L, Down, Shift_L|Button5
- Exit and save by executing
- Then execute `killall imwheel && imwheel -b “4 5″`
- Scrolling speed should increase automatically.
- Acceleration – Sometimes referred to as “inertial scrolling”, “intertia”, “kinetic scrolling” or in the Apple / Mac world: “momentum”.
- Coasting – this is when you flick your finger and it continues to scroll and then stops when you put your finger on the screen
- Coasting Speed –
- How to disable
ctrl + scroll zoom in Chrome.
- Trouble installing Google Chrome and other packages.
- I had to install GDebi, an alternative Package Manager to Ubuntu Software.
- Using the Software application to install Packages (via the Apt repository) is not what it’s designed for. I found this confusing because I thought previous version of the Software application allowed that. Solution: I recommend installing General Package Manager from the Software application. It’s a GUI for the
- In Mac you have Mission Control which shows you Spaces. You also have the App Switcher as well. And then there’s the Launchpad which reveals all of the Apps on the computer. Well in Ubuntu 16.04 you have Workspaces.
- Workspaces are manually added not dynamically. But when this is enabled you get an icon on the Launcher (AKA Dock) that’s always there. To remove this:
- Open Terminal
- Execute `gsettings get com.canonical.Unity.Launcher favorites`
- Then execute
gsettings set com.canonical.Unity.Launcher favorites "['application://nautilus.desktop', 'application://chromium-browser.desktop', 'application://ubuntu-software-center.desktop', 'application://ubuntuone-installer.desktop', 'application://ubuntu-amazon-default.desktop', 'application://UbuntuOneMusiconeubuntucom.desktop', 'application://gnome-control-center.desktop', 'unity://running-apps', 'unity://devices']"`
- The GNOME Desktop Theme resolves this issue.
- The GNOME Desktop Theme introduces an alternative to Mission Control which combines Search with App
- Multiple Keyboards with one layout.
- You can customize the keyboard layout in Settings > Keyboard > Shortcuts
- When there is not an existing Shortcut for a command you can create custom ones but you must know what the command is. Where is the list of Ubuntu commands? Is there a list?
- Ex. This requires you to install a separate application to control the dimming of the screen even though it’s built into Ubuntu 16.04.3 and GNOME: https://askubuntu.com/questions/798203/changing-screen-brightness-through-keyboard-functions-on-my-notebook
Shopping for Packages and Software
I wish the Software application and the third party General Package Manager would tell you a list of newly added Software and Packages. I can’t tell how much of the market I’m seeing. For example I searched for Magic Mouse and discovered a package called “Worker” that introduces a two-pain File Manager. Although I have not tested it, nor have any opinion on it, it made me realize that I could replace that and maybe there were better options out there. So I would like a way to be introduced to these things
These are things I need to follow up on. Generally incomplete thoughts.
- How do you customize the Ubuntu / GNOME boot / login screen?
- How do you apply your mouse settings to the login screen?
- Ubuntu Unity 8
- Responsiveness of slidebars is less than ideal. Often times I move my cursor to make it reveal and it doesn’t.
- How do you remove the Ubuntu label from the lower left of the login screen?
- GNOME 3.2x
- When using the Workspace Switcher if you drag a window to another space and it’s menu (the top) is off screen then it will remain off screen when you click into that space. And that’s the only place you can click to move it so it’s stuck there unless you zoom back out and drag it to a new position.
- I want to map my Mac keyboard differently than my laptop’s built in keyboard but there is no GUI for this.
- Upon logging out I temporarily see a CLI. Why is that and can I prevent it?
- When I open new windows I expect them to be centered but they’re not. How do I revise this behavior?