aboutsummaryrefslogtreecommitdiff
path: root/content/blog/2020-05-19-customizing-ubuntu.org
diff options
context:
space:
mode:
Diffstat (limited to 'content/blog/2020-05-19-customizing-ubuntu.org')
-rw-r--r--content/blog/2020-05-19-customizing-ubuntu.org195
1 files changed, 195 insertions, 0 deletions
diff --git a/content/blog/2020-05-19-customizing-ubuntu.org b/content/blog/2020-05-19-customizing-ubuntu.org
new file mode 100644
index 0000000..6461a9a
--- /dev/null
+++ b/content/blog/2020-05-19-customizing-ubuntu.org
@@ -0,0 +1,195 @@
+#+title: Beginner's Guide: Customizing Ubuntu
+#+date: 2020-05-19
+#+description: A beginner's guide to customizing the Ubuntu operating system.
+#+filetags: :linux:
+
+* More Information
+For inspiration on designing your *nix computer, check out the
+[[https://libredd.it/r/unixporn][r/unixporn]] subreddit!
+
+* Customizing Ubuntu
+New to Linux and want to add a personal touch to your machine? One of
+the best perks of Linux is that it is *extremely** customizable. You can
+change the styles of the windows, shell (status bars/docks), icons,
+fonts, terminals, and more.
+
+In this post, I'm going to go through customization on Ubuntu 20.04
+(GNOME) since most new users tend to choose Ubuntu-based distros. If
+you've found a way to install Arch with i3-gaps, I'm assuming you know
+how to find more advanced tutorials out there on customizations.
+
+** Required Tools
+#+caption: Gnome Tweaks
+[[https://img.cleberg.net/blog/20200519-customizing-ubuntu/gnome-tweaks-min.png]]
+
+Ubuntu 20.04 ships with the default desktop environment
+[[https://www.gnome.org/][Gnome]], which includes the handy
+=gnome-tweaks= tool to quickly change designs. To install this, just
+open your terminal and enter the following command:
+
+#+begin_src sh
+sudo apt install gnome-tweaks
+#+end_src
+
+After you've finished installing the tool, simply launch the Tweaks
+application, and you'll be able to access the various customization
+options available by default on Ubuntu. You might even like some of the
+pre-installed options.
+
+** GNOME Application Themes
+To change the themes applied to applications in GNOME, you will need to
+change the Applications dropdown in the Appearance section of Tweaks. To
+add more themes, you will have to find your preferred theme online and
+follow the steps below to have it show up in the Tweaks tool. While you
+may find themes anywhere, one of the most popular sites for GNOME themes
+is [[https://www.gnome-look.org/][gnome-look.org]]. This website
+contains themes for applications, shells, icons, and cursors.
+
+Steps to import themes into Tweaks:
+
+1. Download the theme.
+2. These files are usually compressed (.zip, .tar.gz, .tar.xz), so you
+ will need to extract the contents. This is easiest when opening the
+ file explorer, right-clicking the compressed file, and choosing
+ "Extract here."
+3. Move the theme folder to =/usr/share/themes/=. You can do so with the
+ following command: =sudo mv theme-folder/ /usr/share/themes/=.
+ - Icons and cursors will be moved to the =/usr/share/icons/= folder.
+ - Fonts will be moved to the =/usr/share/fonts/= folder
+ Alternatively, you can move them to the
+ =/usr/share/fonts/opentype/= or =/usr/share/fonts/opentype/=
+ folders, if you have a specific font type.
+4. Close tweaks if it is open. Re-open Tweaks and your new theme will be
+ available in the Applications dropdown in the Appearance section of
+ Tweaks.
+
+If the theme is not showing up after you've moved it into the themes
+folder, you may have uncompressed the folder into a sub-folder. You can
+check this by entering the theme folder and listing the contents:
+
+#+begin_src sh
+cd /usr/share/themes/Mojave-Dark && ls -la
+#+end_src
+
+This is an example of what the contents of your theme folder should look
+like. If you just see another folder there, you should move that folder
+up into the =/usr/share/themes/= folder.
+
+#+begin_src sh
+cinnamon COPYING gnome-shell gtk-2.0 gtk-3.0 index.theme metacity-1 plank xfwm4
+#+end_src
+
+** GNOME Shell Themes
+To change the appearance of the title bar, default dock, app menu, and
+other parts of the GNOME shell, you'll need to install the
+[[https://extensions.gnome.org/extension/19/user-themes/][user themes]]
+extension on [[https://extensions.gnome.org/][Gnome Extensions]]. To be
+able to install extensions, you will first need to install the browser
+extension that the website instructs you to. See this screenshot for the
+blue box with a link to the extension.
+
+#+caption: Gnome Extensions
+[[https://img.cleberg.net/blog/20200519-customizing-ubuntu/gnome-extensions-min.png]]
+
+After the browser extension is installed, you will need to install the
+native host connector:
+
+#+begin_src sh
+sudo apt install chrome-gnome-shell
+#+end_src
+
+Finally, you can go the
+[[https://extensions.gnome.org/extension/19/user-themes/][user themes]]
+extension page and click the installation button. This will enable the
+Shell option in Tweaks. Now you can move shell themes to the
+=/usr/share/themes= directory, using the same steps mentioned in the
+previous section, and enable the new theme in Tweaks.
+
+** Icons & Cursors
+Icons and cursors are installed exactly the same way, so I'm grouping
+these together in this post. Both of these items will need to follow the
+same process as installing themes, except you will want to move your
+font folders to the =/usr/share/icons/= directory instead.
+
+** Fonts
+Fonts are one of the overlooked parts of customization, but a good font
+can make the whole screen look different. For example, I have installed
+the [[https://github.com/IBM/plex/releases][IBM Plex]] fonts on my
+system. This follows the same process as installing themes, except you
+will want to move your font folders to the =/usr/share/fonts/= directory
+instead.
+
+** Terminal
+If you spend a lot of time typing commands, you know how important the
+style and functionality of the terminal is. After spending a lot of time
+using the default GNOME terminal with
+[[https://en.wikipedia.org/wiki/Bash_(Unix_shell)][unix shell]], I
+decided to try some different options. I ended up choosing
+[[https://terminator-gtk3.readthedocs.io/en/latest/][Terminator]] with
+[[https://en.wikipedia.org/wiki/Z_shell][zsh]].
+
+Terminator is great if you need to open multiple terminals at one time
+by simply right-clicking and splitting the screen into as many terminals
+as you want. While this project hasn't been updated in a while,
+[[https://github.com/gnome-terminator/terminator/issues/1][it is coming
+under new development]]. However, this terminal is great and I haven't
+experienced any errors yet.
+
+For the shell choice, I decided to choose zsh after trying it out on a
+fresh Manjaro installation. Zsh is great if you like to change the
+themes of your terminal, include icons, or add plugins.
+
+The desktop uses the
+[[https://github.com/zsh-users/zsh-autosuggestions][zsh-autosuggestions]]
+to suggest past commands as you type. In addition, it suggests
+corrections if you misspell a command. Lastly, it uses the =af-magic=
+theme, which adds dashed lines between commands, moving the user@host
+tag to the right side of the terminal, and changes the colors. There are
+plenty of plugins and themes to choose from. Just figure out what you
+like and add it to your =~/.zshrc= file!
+
+*** Steps to Replicate My Terminal
+To install zsh on Ubuntu, enter the following command into a terminal:
+
+#+begin_src sh
+sudo apt install zsh
+#+end_src
+
+Then, enter the next command to activate zsh:
+
+#+begin_src sh
+sudo chsh -s $(which zsh) $(whoami)
+#+end_src
+
+To install Terminator on Ubuntu:
+
+#+begin_src sh
+sudo apt install terminator
+#+end_src
+
+To install Oh My Zsh on Ubuntu:
+
+#+begin_src sh
+sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
+#+end_src
+
+To install zsh-autosuggestions via Oh My Zsh:
+
+#+begin_src sh
+git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
+#+end_src
+
+Then, add the following plugin wording to your =~/.zshrc= file (the
+default config usually has the =git= plugin activated, so just add any
+other plugins to the parentheses separated by a space):
+
+#+begin_src sh
+nano ~/.zshrc
+#+end_src
+
+#+begin_src sh
+plugins=(git zsh-autosuggestions)
+#+end_src
+
+Finally, you need to log out of your computer and log back in so your
+user shell can refresh.