GNOME! The default on Ubuntu!
Competitor to KDE Plasma, the other major default widget system aesthetic “desktop environment” framework denomination way of life coding convention whatsit.
As far as I am concerned, there is not much to choose between GNOME (Minimalist?/C-ish?) and KDE (Maximalist?/C++-ish?) styles of doing things. They both give you lots of clicky widgets and buttons on linux machines, arranged into an adequate conventional UI. Which is to say they are an undistinguished imitation of the floating patch of non-degradable UI decision conventions that is the modern desktop. They both look suspiciously over-engineered and tend to be installed with way too much extraneous crap, as per desktop tradition.
GNOME comes configured as the default method of doing things Ubuntu and seems (therefore?) to have a larger user base (?) or at least more HOWTOs. KDE has a number of advantages; e.g. I think it is uncontroversial that basic file manager Dolphin is a better file manager than Nautilus as far as user experience. Certainly as far as my user experience. There are some other things which I prefer about KDE but not enough that I can be bothered booting in to KDE to remind myself.
You can mix and match GNOME-ish and and KDE-ish apps in the same OS. The more fundamental to the desktop is the app in question, the more complicated and annoying this gets. None of the marginal gain from these underexplored configurations seem significant enough to my life enough to risk trying it, so I will try to stay mainstream as far as possible with my desktop choices. Accordingly, here are some low-effort GNOME tweaks and tips to improve that status quo from within.
Keyboard shortcuts
What are the keyboard shortcuts? There are many. And they often conflict. Here is a design document which gives an outline/philosophy. Here is a cheatsheet. Highlights for my workflow:
- Enter "Show Applications"
Super+A
- Access Application Menu
Super+F10
- Toggle maximized/windowed
Super+Up / Super+Down
- Toggle tiled left/right
Super+Left/Right
- Hide window
Super+H
- Switch to next/previous workspace
Super+PgDown/PgUp
- Switch to first/last workspace
Super+Home/End
- Move Window to next/previous workspace
Super+Shift+PgDown/PgUp
- Move Window to monitor left/right
Super+Shift+Left/Right
- Switch to next application
Super+Tab
- Switch to next window of the current application
Super+<key above tab>
- Switch input source
Super+Space
- Toggle Message Tray
Super+M
- Expand a notification and give it keyboard focus
Super+N
- Take a screenshot
PrintScr
- Take a screenshot of a window
Alt+Print
- Take a screenshot and paste in a clipboard
Ctrl+Print
- Video capture desktop
Ctrl+Alt+Shift+R
- Lock screen
Super+L
The primary system modifier key should be <Super>
(Super/Windows/Command key).
The advanced emoji/unicode shortcuts via the ibus system, Ctrl-shift-e
and Ctrl-Shift-u
, clash with some other useful shortcuts.
I recommend changing them; but these particular shortcuts are not in the usual OS shortcut setup; instead you must use dark arts.
The ibus-setup
app is supposed to configure these but it does not run for me.
There is a more functional hack involving dconf-editor
and the key /desktop/ibus/panel/emoji/hotkey
.
I changed mine to ['<Super><Shift>e']
.
The other, nearly-as-annoying, Ctrl-Shift-u
unicode keyboard shortcut does not seem to have any way of turning it off except disabling ibus. That also removes various other useful function that depend upon ibus
such as the emoji selector and east-asian character input methods.
File manager
The default file manager in GNOME is Nautilus. Nautilus claims a salutary ideological commitment to minimalism and simplicity, which I naturally publicly laud. However, as with many ideological commitments, just as anyone who does not take it as far as me is a mealy-mouthed quisling, so is anyone who takes it further than me a fundamentalist zealot or even a hipster, and the Nautilus team I suspect of comprising some mix of the latter two, because take the minimalism to an extreme in the wrong places.1 Their stubborn commitment to their idiosyncratic UI conventions comes at the irritation cost of ignoring the UI conventions of all the other desktop platforms and indeed all the other apps on this same desktop platform. When I say this, what I specifically mean is: typeahead navigation is broken in Nautilis and that annoys me. I understand that not everyone will find this feature essential, but for me it is one of those things that is so deeply ingrained in my workflow that I cannot abide to do without it. And indeed I do not, in AFAICT any app I have, with the exception of the triply-blighted GNOME file manager.
Nautilus is, at least in GNOME-flavoured-ubuntu,
tightly-enough coupled to the OS that it would be awkward to replace it with something substantially different.
By this I mean that I suspect that alternative file managers will introduce larger irritations of compatibility and maintenance and that faffing about trying it out is not the top of my list.
However, I have had some success replacing it with something very similar.
Nautilus is in a complicated family relationship with the subtly different file managers Caja
and Nemo
, which can sort-of all be shoe-horned into replacing each other, sometimes, providing a spectrum of different annoyance profiles and pain points.
I could switch to a different desktop environment entirely (KDE? linux mint? cinnamon?) which would be smoothly integrated with some different file manager.
I do not relish the prospect of getting my fussy linux audio apps running in any remotely unorthodox environment.
So!
Typing foreign characters
See applied typography.
tl;dr
apt install gnome-tweaks
Then launch Tweaks
- Go to
Keyboard & Mouse
. - Choose
Caps Lock
for theCompose Key
.
Themeing
Are you used to Unity (i.e. Ubuntu before 2018) and the Cinnamon desktop it came with? You might want to make GNOME look like Unity.
For custom user themeing AFAICT you need to install a non-Ubuntu extension to enable user themes? That sounds like too much effort. I will just change the desktop background image I think.
Or! Install a not-very-custom pre-built theme. The only one I have witnessed having adherents is Canta. There are others.
Restarting Gnome
Is something weird? Does it take 2 seconds to switch apps instead of no-perceptible-time-at-all? This happens to me once a week or so. I find restarting GNOME helps, and the great virtue of this is that it takes only a few seconds and no other apps are disturbed. Everything keeps ticking over just fine.
How to achieve this happy outcome?
Use the r
command from the Alt-F2
menu, above.
One of the following two commands might help on Ubuntu-style systems if you need to do it from the terminal:
gnome-shell --replace
sudo systemctl restart systemd-logind
sudo systemctl restart gdm
Indicators
Unity Applets, which were to old way to get status indicators, do not work in modern GNOME. Indicators e.g. for power are the done thing.
Extensions
Real executable code extensions are installed on your computer via a… web browser app? The entire system looks dangerously undermaintained for a distribution hub for privileged code.
Too many docks on the desktop
Too many docks too many many docks.
I use the Ubuntu dock, because it is default on Ubuntu. But if you search for GNOME Dock Extension there are many variants which briefly seemed to me to be desirable. Cairo-dock? dashtodock? Many more even less reputable looking ones? Bikeshed dock? Committee dock? OCDock?
Help! My Dock is visible on lock screen
This was a common problem. If I understand it right, at least for Ubuntu, it’s do with the demarcation lines after Ubuntu Unity was replaced by Gnome-with-extensions-to-make-it-look-like-unity. If you want everything to work out like you expect, you either do
- Use Ubuntu Dock Gnome extension, which is a patched Dash-to-Dock. (i.e. not no dock extension and not vanilla Dash-to-dock extension.)
- Oh that didn’t work? Try
gsettings set org.gnome.shell.extensions.dash-to-dock transparency-mode FIXED
Why they have it default toBROKEN
I will never understand.
Tiling
There is basic split screen tiling built in.
By dragging windows to the left and right edges of the screen you can tile them side by side.
There are some attempts to support more sophisticated tiling:
- gtile (extension page)
shellshape (extension page)Oops, discontinued.- slinger is the successor to shellshape
As the author of slinger
explains, there is a lot of awful kludging needed to
make these go so none are entirely satisfactory. Slinger sounds like the most
elegant option of these, but I couldn’t make it actually work.
I could, e.g. try to use xmonad
with GNOME. 😒
Or, I could abandon gnome for sway which is a Wayland port of the classic i3 tiling window manager. Once again though, this is getting far from mainstream. Also they do not support some things, like NVIDIA so which means that I probably cannot use this in my professional life as a machine learning guy, and if I wanted to do it as a hobbyist that would be fine I guess, but window management is a long way down my priority list of rewarding hobbies.
Terminal emulators
Tilix is the terminal emulator that Gnome people tend to like. It has consistent keyboard shortcuts, tiles (but tiles terminals only) and integrates into the Gnome. I prefer hyper FWIW; it’s cross platform and feels modern, as close as you can get outside of macos to the best terminal, iterm2.
For me. No mistake, GNOME is a gigantic and over-engineered system which could do with even more stuff trimmed away and the goal of minimalism is important and indeed there is much more. I get that the trade-offs are hard. I suppose the situation is that 1) the developers of Nautilus attach less weight than I do to consistency across user interfaces, 2) the developers of Nautilus are wrong.↩︎