Switching from Mac to Ubuntu GNOME 17.04 / 17.10

This article will help you configure Ubuntu GNOME 17.04 / 17.10 to behave equal to or better than your Mac.

 

Context

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.

 

Setup Steps

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.

 

Quick Notes

  • 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 UbuntuHow is Ubuntu different from Linux?
    • FlavorsWhat 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.

 

When you install the Ubuntu GNOME Desktop from here you will encounter the issues under the “Initial Issues” section lower in this article.

  1. Download Ubuntu 17.04 GNOME and install onto a USB stick.
  2. Install GNOME Desktop by executing sudo apt install ubuntu-gnome-desktop
    1. When prompted, choose gdm3.
    2. What is the difference between GNOME Shell and GNOME Desktop?
  3. Log out. Select GNOME and log back in.
  4. Select the Bluetooth icon from the upper right and connect your wireless keyboard and mouse.
    1. I use the Apple Magic Keyboard and Apple Magic Mouse without any issues connecting.
      1. 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.
  5. Customize Settings
    1. Enable “Night Light” from the menu in the upper right.
      1. Select the menu in the upper right.
      2. Select the “Settings” icon in the lower left of that menu.
      3. Select “Displays”.
      4. Select “Night Light”.
      5. Select “On” for “Night Light”.
    2. Select your Time Zone by selecting the date and time in the top center of the screen and selecting “Select a location…”
      1. Grant Access when prompted.
    3. Select “Date & Time”
      1. Enable “Automatic Time Zone”
      2. Change “Time Format” to “AM / PM”
        1. In “Tweak Tool” > “Top Bar” enable “Show date”.
    4. Select “Mouse & Touchpad”
      1. Max out the “Mouse Speed”
      2. Enable “Natural Scrolling”
      3. How do I get double tab on my Magic Mouse to display the Overview of Windows?
  6. Open “Tweak Tool”
    1. Under “Appearance”
      1. Enable “Global Dark Theme”.
      2. Under GTK+ choose “Adwaita-dark”.
      3. Log out and log back in for the changes to take effect.
    2. Under “Extensions”
      1. Choose “Get More Extensions”
        1. Add the “Transparent Notification” Extension.
    3. Under “Keyboard & Mouse”
      1. Disable “Middle-click Paste”.
    4. Under “Windows”
      1. Change “Focus Mode” to “Mouse” so you can scroll windows behind the mouse.
      2. Enable “Maximize”
      3. Enable “Minimize”
  7. Open “Files”
    1. Select “Files” > “Preferences” from the upper left.
      1. Under “Views”
        1. Choose “Sort folders before files”
        2. Choose “Allow folders to be expanded”
      2. Under “List Columns”
        1. Select “Owner”, “Group” and “Permissions”
      3. Under “Search & Preview”
        1. Choose “All Locations”, “All Files” and “All Folders” for the respective options.
  8. Install Google “Chrome” by downloading it from Google Chrome’s website directly.

 

For Developers

These instructions are personalizations to my system for the purpose of website development with RootsTrellis, Bedrock and Sage.

  1. Install ZSH by executing sudo apt-get install zsh
  2. Install Git by executing sudo apt-get install git
  3. Install Oh-My-ZSH
  4. Install Sublime Text
  5. Generate SSH Key
    1. Upload it to Github.com
    2. Upload it to prviate GitLab server.
  6. Install pre-requisites for Roots (Trellis, Bedrock and Sage).
    1. Install Virtualbox “AMD64” but don’t install “zesty” version because there is a bug that causes the “NSF Mount” step in Trellis to stall.
      1. 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….
    2. Install Vagrant
      1. Do not install it via apt. Install it via the direct download. For some reasons this also causes the NSF Mount to stall. 
    3. Install Vagrant-bindfs via vagrant plugin install vagrant-bindfs
    4. Install Vagrant-hostmanager via vagrant plugin install vagrant-hostmanager
    5. Install PHP via sudo apt-get install php
    6. Install Ansible
      1. Execute sudo easy_instal pip
      2. Execute sudo pip install ansible
      3. Execute pip install six
        1. 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
    7. Install Composer via sudo apt-get not their instructions because they suck and don’t work.
    8. Install NVM – So NodeJS can be installed without sudo
      1. 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:
        1. export NVM_DIR="$HOME/.nvm"
        2. [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
      2. Install NodeJS (unofficial instructions) which includes NPM with: nvm install stable 
        1. Why does Trellis advise against installing NodeJS with sudo and the official instructions advise using it?
      3. Install Gulp
    9. Install Bower
    10. Install BrowserSync
    11. Install asset-builder
    12. Install wiredep
    13. To avoid the module six error that occurs for some sites, running an older version of Trellis execute: sudo pip install --ignore-installed six
      1. If that solution doesn’t work, try downgrading Ansible. My version is 2.4.x which gives this error. Downgrading to 2.3.0.0 sudo pip install ansible==2.3.0.0 and you can check your version with ansible --version
      2. Also checkout this post on StackOverflow that is really detailed.
    14. Install NSFD by executing sudo apt-get install nfs-common nfs-kernel-server

 

Initial Issues

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:
      1. Tracking Speed – How fast the pointer moves around the screen.
      2. Tracking Acceleration – Whether or not the mouse moves faster across the screen as you drag it longer.
      3. Scroll
        • Speed
          • 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: nano ~/.imwheelrc
            • 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 ctrl and x
            • 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 – 
      4. 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 apt repository.
  • Workspaces
    • 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 

 

 

General Notes

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?
  • Generic selectors
    Exact matches only
    Search in title
    Search in content
    Search in posts
    Search in pages
    Filter by Categories
    10
    8.1
    AdWords
    Analytics
    Apple
    Bedrock
    Blade
    Business Development
    Company News
    Content Marketing
    Freelancing
    Gaming
    Linux
    Mac
    New Products or Services
    Operating Systems
    OS X
    Pay Per Click Management
    Paypal
    PHP
    Press Releases
    Programming
    Razer
    Reviews
    Roots
    Sage Theme
    Search Engine Marketing
    Search Engine Optimization
    Search Marketing
    Tips and Tricks
    Trellis
    Tutorials
    Ubuntu
    Uncategorized
    Video Production
    Web Hosting
    Website Development
    Website Development
    Windows
  • Recent Posts

  • Categories

  • Would You Like a Quick Call?

    We're happy to spend 30 minutes answering any of your questions and showing you the first steps to make your business "add up".

    From Our Blog




    Img

    Absolute Beginners Guide to Root’s Trellis + Bedrock + Sage

    Categories: Uncategorized

    I have a knack for hitting every possible obstacle. It stems from the early days of my education and is something I’ve had to hobble through life trying to mitigate. Since the internet though, I’ve found that there are many others like me. So when I try a new technology I am in the habit […]

    Continue Reading »

    Debunking and Demystifying Bid Adjustments and Max CPC in Google AdWords

    Debunking and Demustifying Bid Adjustments and Max CPC in Google AdWords

    Categories: AdWords, Pay Per Click Management, Search Marketing

    A client recently asked us this question: “I was looking over our Google AdWords campaign and noticed we are no longer being charged around $X a click but $X more per click. And then on the ad groups some terms are even more per click. Is there a way to bring down the cost per […]

    Continue Reading »

    Img

    What should I pay for Google AdWords management?

    Categories: AdWords, Pay Per Click Management

    If you’re investigating hiring a company to manage your advertising on Google AdWords (and other platforms) then this article was written specifically to help you understand the typical pricing models and the pros and cons. This article specifically talks about Google AdWords, but it really can apply to other platforms like Facebook Advertising, Instagram Advertising, […]

    Continue Reading »

    About

    Since 2005 we've been offering digital and content marketing strategy and implementation. Including website development, search engine optimization and marketing, search marketing and more.

    Continue Reading »

    Contact

    Email

    [email protected]

    Phone

    503-567-9561

    Follow

  • Logo for The Portland Company with a Coyote