# Terminal

# Pimp my terminal

Sourceopen in new window gnome-terminal GNOME Terminal (the default Ubuntu terminal): Open TerminalPreferences and click on the selected profile under Profiles. Check Custom font under Text Appearance and select MesloLGS NF Regular or Hack or the font you like.

# Debian

1- Ensure that your terminal is gnome-terminal

update-alternatives --get-selections | grep -i term
x-terminal-emulator            manual   /usr/bin/gnome-terminal.wrapper
1
2

# Graphicaly

Install dconf

sudo apt-get install dconf-tools
dconf-editor
1
2

Run it and go to path org > gnome > desktop > interface > monospace-font-name

CLI gsettings offers a simple commandline interface to GSettings. It lets you get, set or monitor an individual key for changes.
To Know current settings type following commands in terminal :

gsettings get org.gnome.desktop.interface document-font-name
gsettings get org.gnome.desktop.interface font-name 
gsettings get org.gnome.desktop.interface monospace-font-name
gsettings get org.gnome.nautilus.desktop font
1
2
3
4

You can set fonts by following commands in terminal : For example Monospace 11 do not support symbol. Which is uggly if you have a custom shell.
My choises which differs from default :
The last number argument is the size

for terminal

gsettings set org.gnome.desktop.interface monospace-font-name 'Hack 12'
1

for soft like Keepass2

gsettings set org.gnome.desktop.interface font-name 'Hack 12'
1

Get list of available fonts

fc-list | more
fc-list | grep -i "word"
fc-list | grep -i UbuntuMono
1
2
3

To lists font faces that cover Hindi language:

fc-list :lang=hi
1

search by family

fc-list  :family="NotoSansMono Nerd Font Mono"
1

search with complete name

fc-list  :fullname="Noto Sans Mono ExtraCondensed ExtraBold Nerd Font Complete Mono"
1

To find all similar keys on schema type following command:

gsettings list-recursively org.gnome.desktop.interface
1

To reset all valuses of keys run following command in terminal:

gsettings reset-recursively org.gnome.desktop.interface
1

# xdg-settings / update-alternatives

In some case, update-alternatives is not enough. Especially for Url Handling or web browsing
xdg-settings - get various settings from the desktop environment

# Set brave as default browser

In my use case, I set up update-alternatives but it didn't change the behaviour for URL handling (printed in my terminal especially useful after git push for creating a merge request).
Correctly setup but doesn't affect behaviour

sudo update-alternatives --config x-www-browser
1
xdg-settings check default-web-browser brave.desktop
no

xdg-settings --list default-url-scheme-handler
Known properties:
  default-url-scheme-handler    Default handler for URL scheme
  default-web-browser           Default web browser


xdg-settings get default-web-browser
firefox-esr.desktop
1
2
3
4
5
6
7
8
9
10
11

If xdg or xdg-mime still dont' work you can manually edit.

cat ~/.config/mimeapps.list

[Default Applications]
x-scheme-handler/http=brave.desktop
x-scheme-handler/https=brave.desktop
x-scheme-handler/ftp=brave.desktop
x-scheme-handler/chrome=brave.desktop
text/html=brave.desktop
application/x-extension-htm=brave.desktop
application/x-extension-html=brave.desktop
application/x-extension-shtml=brave.desktop
application/xhtml+xml=brave.desktop
application/x-extension-xhtml=brave.desktop
application/x-extension-xht=brave.desktop
1
2
3
4
5
6
7
8
9
10
11
12
13
14