Gnome

From Leo's Notes
Last edited on 10 May 2023, at 07:36.

GSettings

The gsettings utility provides a way to get to GSettings which is more or less like a Windows registry containing key value pairs.

GSetting values are different for each user. To modify or view values for a different user, launch a dbus session as the user via sudo:

# sudo -H -u lightdm dbus-launch --exit-with-session gsettings list-recursively

Lock Screen

To enable or disable the lockscreen and the ability to lock the workstation:

# gsettings set org.gnome.desktop.lockdown disable-lock-screen true

Gnome Terminal

Have control tab working, run:

$ gsettings set org.gnome.Terminal.Legacy.Keybindings:/org/gnome/terminal/legacy/keybindings/ next-tab '<Primary>Tab'
$ gsettings set org.gnome.Terminal.Legacy.Keybindings:/org/gnome/terminal/legacy/keybindings/ prev-tab '<Primary><Shift>Tab'

See Also: https://askubuntu.com/questions/133384/keyboard-shortcut-gnome-terminal-ctrl-tab-and-ctrl-shift-tab-in-12-04

Desktop Icons

Desktop icons used to be provided by the File program (Nautilus?) by drawing a transparent window containing icons over the desktop. This has since been removed in Gnome 3.28 and has been replaced by the gnome-shell-extension-desktop-icons extension. Install this and restart Gnome.

Previously, icons could be enabled with a gsettings value:

$ gsettings set org.gnome.desktop.background show-desktop-icons true

Nautilus No Breadcrumbs

Change the path with ctrl+l. To make it permanent, set the appropriate key with gsettings:

$ gsettings set org.gnome.nautilus.preferences always-use-location-entry true

Screensaver Timeout

The amount of idle time before the screensaver starts is set using:

# gsettings get org.gnome.desktop.session idle-delay
uint32 60
# gsettings set org.gnome.desktop.session idle-delay 3600

The amount of time before the screen is locked is set:

## Instantly locks when the screensaver starts
# gsettings set org.gnome.desktop.screensaver lock-delay 0
## Or a delay in seconds. Eg: 1 minute
# gsettings set org.gnome.desktop.screensaver lock-delay 60

Keychain + Nextcloud

Nextcloud requires libgnome-keyring to be installed and the gnome-keyring-daemon daemon running. Without the keychain, Nextcloud will prompt for credentials on every start up.

Ensure that gnome-keyring-daemon is in the .xinitrc file or that your .bash_profile contains:

if [ -n "$DESKTOP_SESSION" ];then
    eval $(gnome-keyring-daemon --start)
    export SSH_AUTH_SOCK
fi

Stop gnome-software on startup

I don't really know how this gets started, but you can run the following to create a service file that stops it on startup.

$ cat <<EOF > $HOME/.config/systemd/user/stop-gnome-software.service
[Unit]
Description=Stop gnome software.

[Service]
ExecStartPre=/bin/sleep 15
ExecStart=/usr/bin/killall gnome-software

[Install]
WantedBy=default.target

EOF
$ systemctl --user daemon-reload
$ systemctl --user enable stop-gnome-software --now

Extensions

Some noteworthy extensions. Install the Gnome tweak tool to easily configure these extensions as well as other Gnome desktop behaviors.

Panel OSD

Adjust notification toast location with Panel OSD. The X and Y location of the notification can be adjusted using this shell extension.

Dash to Panel

Dash to Panel makes Gnome look and feel closer to a Windows 7 (and higher) desktop.

ArcMenu

In addition to Dash to Panel, ArcMenu creates a start menu similar to that of Windows 7.

Applications Menu

The applications menu brings back the old applications menu dropdown similar to Gnome 2 and Windows.

Kstatusnotifieritem/appindicator support

System tray has been removed from Gnome. This extension brings back the ability to show any background applications that are running. Requires the shell to be restarted in order to take effect.

CPU Power Manager

Interfaces with the intel_pstate CPU frequency scaling driver. Allows laptops to conserve power by throttling CPU.

Troubleshooting

No such schema

If you attempt to run gsettings set on a key without a schema defined on the system, you'll get an error similar to: No such schema "org.gnome.nautilus.preferences".

You can still set the key with dconf manually:

$ dconf write /org/gnome/nautilus/preferences/enable-interactive-search false

The default type is boolean (true or false). If you need to set a string, enclose the value in single quotes.

$ dconf write /org/gnome/nautilus/preferences/recursive-search "'never'"

Nautilus no longer supports type-ahead

Nautilus doesn't support type-ahead anymore and instead uses search-as-you-type within the file manager. What I want is to have it behave similar to Windows Explorer where typing within the file manager will jump to and select the file in the current directory with the search. What I don't want is Nautilus's behavior where the entire contents of the current directory is replaced by only search results.

It turns out, the Gnome developers in their infinite wisdom removed the type-ahead feature replaced it with search.

See also:

Workaround is to use another file manager such as Thunar or the patched version of Nautilus. There are precompiled binaries of the patched version for Ubuntu, but I don't see anything for NixOS.

See also