I recently reinstalled Ubuntu on my personal laptop. I found some pleasant surprises in doing so, and I wanted to share what I've got going.
Note: This is my current setup for Ubuntu 18.10. Your mileage may vary if on LTS.
Hotkeys
The default hotkeys in GNOME are pretty good out of the box. Here are some that I use on a regular basis:
- alt + tab: Switch of program.
- alt + backtick: Switch to a window which belongs to the same program.
- ctrl + alt + arrow: Move to a different workspace. Workspaces in GNOME can only go up or down.
- ctrl + alt + shift + arrow: Move current window to a different workspace.
- ctrl + alt + t: open gnome terminal
- meta (windows button): Open the global menu, I use it to search for programs instead of relying on the mouse.
- meta + left or right: move the window left or right.
- meta + up: make the window take up the entire viewport.
- shift + printscr: Select a region to do a screen capture.
- alt + printscr: Do a screen capture of the entire focused window.
There's really just two things that bother me with the default hotkeys. First, program switching is for all programs, across workspaces. This isn't an issue if you don't normally have a lot of programs open, but I tend to multitask and prefer keeping things isolated between workspaces. Second, I like to switch of workspaces using using indexes (e.g., super+2
to switch to workspace number 2). This is something I got used to from back when had i3wm as part of my main desktop environment.
Limiting application switching to workspaces
To make this customization we will need the DConf Editor. It can be installed through the Ubuntu Software program. Simply open up "Ubuntu Software", search for "Dconf" and install the "Dconf Editor":
After opening the DConf Editor, navigate to the path org -> gnome -> shell -> app-switcher -> current-workspace-only
. Disable the "Use default value" option and set "Custom value" to "true".
Changing of workspace using indexes
This step is easier since its just a regular setting. Open up the "Settings" application, select "Devices", and click the "Keyboard" option. Change the "Switch to workspace" option to the desired keybinding.
Look and Feel
In Ubuntu 18.10, the default theme is actually quite good out of the box. I personally didn't change it this time around, but for those looking for alternatives there are quite a few solid options out there such as arc and adapta themes.
I have only a few issues with the out of the box look and feel:
- Dock is in the way (if you have a keyboard-driven workflow)
- Some of the animations are too slow
- Terminal menu bar isn't needed (you can get the menu by right clicking)
Removing the dock
Unfortunately, you can't disable the dock from the Tweaks program. Instead, we need to uninstall it entirely. In the terminal type the following:
sudo apt remove gnome-shell-extension-ubuntu-dock
You will need to re-log into your machine for the changes to take effect.
If you want to bring back the dock, simply run:
sudo apt install gnome-shell-extension-ubuntu-dock
Speeding up animations
To reduce the time of animations, all we need is to grab an extension from the Ubuntu Software program. Simply search for "impatience" and it should pop up.
Install the extension and open the settings for it. I've personally reduced the animation time in half.
Disabling the terminal menu bar
Open the gnome terminal, right click, select preferences. Go to the general section and you should untick the "Show menubar by default in new terminals" checkbox.
Additional Software
When installing additional software, it is preferable to do it through software repositories instead of relying on archives (.deb
files). Installing programs through repositories means the operating system will handle upgrading programs for you.
All of the additional software I need can be simply installed through the "Ubuntu Software" program:
- Spotify
- Discord
- Steam
Since this is for my personal laptop, there isn't much in terms of office software that I setup. Most of it is browser-based in my case.
Development
I've already written an article on how I develop from containers. However, I still need to install custom fonts and configure the terminal profile.
To install powerline patched fonts:
git clone https://github.com/powerline/fonts /tmp/fonts
cd /tmp/fonts
./install.sh
Go to the terminal preferences and select the correct profile in use. If you haven't changed the terminal profile this will be the "Unnamed" profile. Select the "Custom font" checkbox and click on the textbox beside it to pick a different font. The font should have "for Powerline" in it, otherwise some glyphs will be missing.
Conclusion
Setting up a new machine is pretty simple and surprisingly doesn't require me to use the terminal all that much. While I may be extremely comfortable in the terminal (caugh, NeoVIM user ;)) it is encouraging to see the progress that has been made towards a more approachable desktop. Hopefully one day I'll be able to use Linux at my work.
Top comments (14)
Hello Jonathan; great article as always! Ubuntu as been my primary desktop @ home for over a year now and I still learned things from you.
18.x was a nice step forward from 16.x; esp. for the window manager going back to Gnome.
Only part I miss is Direct-X for gaming. One day I'll dig into Wine, one day...
Glad you liked it!
I recommend looking into Lutris for gaming. Its a bit like PlayOnLinux, which sets up wine (prefixed, so you can have different versions of wine for each game), downloads needed fonts, dotnet (if needed), etc, and installs the game for you. I haven't tried Lutris yet because there's plenty of games on Linux already though. I'm only recommending because I've heard a lot of good things from it, compared to PlayOnLinux. Apparently DXVK is a really good compatibility layer for DirectX (which Lutris integrates really well).
Steam already has Proton (Wine + patches) integrated so you can launch many Windows games from there exactly as you run the native Linux games.
I didn't mention because I don't really consider it to be ready for general usage. Most games aren't officially supported.
Well, that's quite subjective. A lot of games are supported officially and many more work just fine although not whitelisted. So it's at least as viable as Wine and requires much less tinkering.
Very few games are supported officially (less than 1% of steam games). I only tried proton for one game (Age of Empires 3 - not whitelisted) which didn't work out of the box. I still think proton needs some work.
It's pretty obvious that not everything runs excellent and it's not that uncommon to find a non-working game. Consult protondb.com/ before buying/trying a game. Proton still expands the available games for Linux by a huge margin and it's only going to grow. My point is that mentioning Wine (which is not that easy to install/maintain) while not talking about Proton (which is already available on Steam and it's the most popular storefront for Linux) is kinda not fair.
I never suggested to use Wine directly. I recommended Lutris and mentioned PlayOnLinux instead of proton because proton is still immature.
You mention protondb - it has been discussed on several occasions that the website's ratings are not accurate.
Pressing ctrl before making a print screen with the mentioned combinations does not save the image on the disk but copies it to the clipboard for pasting in group chats and other programs. I love this feature!
Is't Linux Mint a better desktop than Ubuntu?. Any thoughts?
It depends. I've moved to Mint on it early days, and have being using it since then.
It resembles a lot the Windows 7 workflow if you're using Cinnamon classic, and a lot of Windows 10 using the modern Cinnamon.
Its quite stable after a few months after launch, I use it every day at work and it doesn't get into my way.
So, if you're not looking for nothing to fancy, that works fine and comes with quite good defaults, Mint is very good.
Not sure what you mean by that. It is more familiar for those that are used to Windows though.
Good bookmark. Will probably be setting Ubuntu at some point in near future.
to use your first tty, press [ctrl] + [alt] + F1. [ctrl] + [alt] + F7 gets you back to the gui :)