In this article, I want to talk about
the Linux operating system, and
specifically about how to assemble a
workstation from a minimal image and
fully configure it for various
purposes.
​
​
​
​
Choosing a distribution kit: I first
saw this method when installing Arch
Linux, when the entire installation is
done by entering commands into the
terminal. This gives the maximum
installation flexibility, but I'm
more used to using Ubuntu at work.
​
​
​
​
Earlier I collected various Linux
images, since almost all the necessary
programs were preinstalled and
configured in them, and most importantly
the graphical interface, but in the end,
most of the programs had to be removed,
which makes me do double the amount of
work.
​
​
​
​
In this article, I will use Ubuntu as
an example, since I have tried this
method more than a dozen times and I
remember most of the commands, package
names, and so on.
​
​
​
​
Briefly about the approach. For this
approach, I will use a minimal Ubuntu
image or Ubuntu Mini. This is Ubuntu
version 20.04, which is not the latest,
but I think it will not be difficult to
upgrade to the latest one already on the
installed system if necessary. Although
in the comments on Reddit, you can find
that you need to use Ubuntu Server to
install the minimum version, but I have
not tried this option yet, since I use
the old and proven one. I really like
the fact that the image is less than 100
MB and uses the TUI installer.
​
​
​
​
If you are installing Linux for the
first time, I recommend using the
following guide on a virtual machine,
and in general, it is a good practice to
test the functionality of new operating
systems.
​
​
​
​
Let's move on to the
installation.
During the installation, I will only
cover the main points, since when
installing on a virtual machine you do
not have to think too much about
long-term use.
​
​
​
​
​
Start screen. We choose install.
​
​
​
​
​
We choose the language of the system. I
recommend choosing English, later this
can be changed if necessary.
​
​
​
​
​
We choose No. Configure the keyboard
manually. Select in the following
windows English (US), English
(US).
​
​
​
​
​
We set a name for the computer. It
should be noted that not all special
characters are available.
​
​
​
​
​
Here we select the desired mirror for
your or the nearest country for fast
download. In the next window set proxy
if needed.
​
​
​
​
​
Enter your full name and username on
the next screen.
​
​
​
​
​
Now let's move on to the
partitioning of the disk. For a virtual
machine, you can use the entire disk, if
you want, you can partition it in your
own way. I will be using the entire
disk.
​
​
​
​
​
This is how the entire disk markup
looks. Then we are waiting for the
installation of the base system.
​
​
​
​
​
On this screen, I recommend disabling
automatic updates.
​
​
​
​
​
List of available and configured
packages. Part 1. You can choose nothing
here.
​
​
​
​
​
List of available packages. Part 2. As
you can see, graphical environments are
already available here. Spoiler alert:
we will install manually the one that is
not on the list.
​
​
​
​
​
Install GRUB bootloader by clicking
Yes.
​
​
​
​
​
Installation completed. You can remove
the image from the virtual
machine.
​
​
​
​
​
First login. Be sure to export your
virtual machine, this will allow you to
roll back to a state where you have a
clean system.
​
​
​
​
Now let's install an initial set
of tools that can be useful for loading
various scripts or repositories with
programs:
​
​
​
​
1
sudo apt install git curl wget
htop -y
Copied!
Xorg and Xserver.
Xorg is an X Window System server that
allows the user to organize a graphical
working environment for
themselves.
​
​
​
​
The X.org project is created and
maintained as a free and open-source
implementation of the X11 system. And it
is also an X11-based desktop
framework.
​
​
​
​
Xorg provides the interface between
your hardware and the graphics software
you want to run. In addition, Xorg is
network-aware, which allows you to run a
program on one system and look at
another.
​
​
​
​
Installing X-Server (Xorg)
1
sudo apt install xorg
--no-install-recommends -y
Copied!
Choosing a Graphical
Environment
There are a huge number of different
graphical environments. There are 2 main
types: Window managers and Tiling
managers. The tiling manager is
different in that it tries to occupy the
maximum available screen area, and the
floating mode (more familiar windows,
you need to turn it on for each window).
Moreover, by default, the tiling manager
supports many desktops at once, which
simplifies the work and allows you to
switch between desktops instead of
windows, in turn, on which there may be
more than one window. Also, a
significant advantage is the lightness
of the tiling over the window
manager.
​
​
​
​
The main window manager options are:
KDE, XFCE, LXQT, GNOME (default Ubuntu
Desktop Environment), Budgie,
Deepin.
​
​
​
​
Tiling managers include i3, awesome,
xmonad, Qtile, dwm.
​
​
​
​
I always look for interesting
variations on
Reddit
where you can find very nice themes for
the design and usually dotfiles
(prepared settings).
​
​
​
​
For now, I'll choose the i3 as an
example.
​
​
​
​
Installing i3 and the Terminator
Terminal Emulator:
1
sudo apt install i3 terminator
-y
Copied!
Before finishing, you need to install
Display Manager. This is a graphical
screen that appears at the end of the
boot process instead of the standard
command line prompt. The screen manager
is a screen for entering a username and
password to log in to the system. There
are many screen managers, as well as
desktop environments. Almost all display
managers can be customized by changing
their style and behavior.
​
​
​
​
I will focus on the sddm I am used to.
But there is a huge selection: console
and graphical. A good example of the
former is Ly, graphical examples: sddm,
lightdm, xdm, gdm.
​
​
​
​
Selecting the login window
​
​
​
​
1
sudo apt install sddm -y
Copied!
Additional View Improvement
Programs:
Conky
is a desktop add-on that allows
you to dynamically display
various system metrics. It has a
very fine configuration and
various themes.
Feh
is a console utility for viewing
images, can also be used as an
image installer on the
desktop.
Compton
is a lightweight compositing
manager for the X graphics
server based on xcompmgr-dana
that allows you to add different
animations and transparency to
different windows.
How it looks after the actions are
taken:
​
​
​
​
​
You can see that i3 uses only 240 MB
RAM.
​
​
​
​
Command to Set Desktop
Wallpaper:
1
feh --bg-fil wallpaper.png
Copied!
This guide shows that with minimal
knowledge, you can collect various
combinations of the Linux operating
system environment according to your
preferences, as well as customize and
decorate them in various ways.