DEV Community

Cover image for My Ubuntu Desktop
Jonathan Boudreau
Jonathan Boudreau

Posted on

My Ubuntu Desktop

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":

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".

workspace-switcher

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.

workspace-indexed

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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.

impatience

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.

terminal-menubar

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
Enter fullscreen mode Exit fullscreen mode

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.

terminal-font

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.

Oldest comments (14)

Collapse
 
ben profile image
Ben Halpern

Good bookmark. Will probably be setting Ubuntu at some point in near future.

Collapse
 
david_j_eddy profile image
David J Eddy

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...

Collapse
 
aghost7 profile image
Jonathan Boudreau

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).

Collapse
 
rkfg profile image
rkfg

Steam already has Proton (Wine + patches) integrated so you can launch many Windows games from there exactly as you run the native Linux games.

Thread Thread
 
aghost7 profile image
Jonathan Boudreau

I didn't mention because I don't really consider it to be ready for general usage. Most games aren't officially supported.

Thread Thread
 
rkfg profile image
rkfg

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.

Thread Thread
 
aghost7 profile image
Jonathan Boudreau

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.

Thread Thread
 
rkfg profile image
rkfg

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.

Thread Thread
 
aghost7 profile image
Jonathan Boudreau

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.

Collapse
 
thebadgateway profile image
Will F

to use your first tty, press [ctrl] + [alt] + F1. [ctrl] + [alt] + F7 gets you back to the gui :)

Collapse
 
joruch profile image
Joris • Edited

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!

Collapse
 
teja463 profile image
Brahma Teja Ponnuru

Is't Linux Mint a better desktop than Ubuntu?. Any thoughts?

Collapse
 
aghost7 profile image
Jonathan Boudreau

Not sure what you mean by that. It is more familiar for those that are used to Windows though.

Collapse
 
alex_takitani profile image
Alex Takitani

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.