Thunar is a user-friendly and easily understandable [GTK+-based](https://en.wikipedia.org/wiki/GTK+) file manager. It's not as customizable as [Qt-based](https://en.wikipedia.org/wiki/Qt_%28software%29) [Dolphin](https://www.kde.org/applications/system/dolphin/) but sufficient for daily basic usage. Thunar is the default file manager for [XFCE desktop environment](https://en.wikipedia.org/wiki/Xfce).
Gedit is a simple GTK+-based text editor, targeted to [GNOME desktop environment](https://en.wikipedia.org/wiki/GNOME). Alternative text editors are, for example, [Mousepad](https://github.com/codebrainz/mousepad), [Kate](https://www.kde.org/applications/utilities/kate/), [KWrite](https://www.kde.org/applications/utilities/kwrite/) and [Geany](https://en.wikipedia.org/wiki/Geany).
GParted is a popular GTK+-based graphical front-end for CLI-based, GPL3-licensed [GNU Parted](http://www.gnu.org/software/parted/parted.html) back-end. Similar programs include a Qt-based [KDE Partition Manager](https://www.kde.org/applications/system/kdepartitionmanager/), targeted mainly to [KDE](https://en.wikipedia.org/wiki/Kde) and [LXQt](https://en.wikipedia.org/wiki/LXQt) desktop environments.
@ -310,7 +313,7 @@ where package-name is the package of your choice. Replace this string with the c
Additionally, you can investigate required dependencies by checking any header (_.h_) files required in C/C++ source files, if the program is based on these languages. By tracking down required headers it is possible to figure out required dependencies in some extent. In addition, check out official websites of the program (GitHub, BitBucket or another homepage), possibly contant the developer and/or check out any supplied library files (suffix is _.so_) and their dependencies with [ldd command](https://en.wikipedia.org/wiki/Ldd_%28Unix%29). On Ubuntu, you can also check out [packages.ubuntu.com](https://packages.ubuntu.com/) for dependencies if the package is available on official repositories.
Please see my practical [example 1](PLACEHOLDER) and [example 2]() for compiling software on Linux.
Please see my practical [example 1](https://github.com/Fincer/linux_server_setup/blob/master/scripts/compile-xcmenu-screenshot.sh) and [example 2](https://github.com/Fincer/winecfg_patch) for compiling software on Linux.
You can also apply patches directly to source code of a program by using [diff](https://www.gnu.org/software/diffutils/manual/html_node/Example-Unified.html) and [patch](https://en.wikipedia.org/wiki/Patch_%28Unix%29) commands. Patches must be applied before compiling the program.
@ -342,7 +345,7 @@ man apt-get
Manual pages in any commands are highly supported in multiple Linux distributions. The command syntax is always the same: _man my_command_. Additionally, _--help_ paremeter is widely accepted by many Unix/Linux CLI programs.
**NOTE:** Although Linux distributions don't have any similar to Windows registry hell (unclean registry after software removal), keep in mind that any configuration files created _afterwards_ by a Linux program are not handled by Linux package managers. In other words: package managers can't track files created afterwards by your program. This is mostly a case with personal configuration files in user's home directory on Linux. In addition, any backup files (suffix: .old, ~, .bak, .pacnew...) are not included in the package according to your package manager and, therefore, they may not be uninstalled by simply removing a program. [Please see my script for tracking down those files]()
**NOTE:** Although Linux distributions don't have any similar to Windows registry hell (unclean registry after software removal), keep in mind that any configuration files created _afterwards_ by a Linux program are not handled by Linux package managers. In other words: package managers can't track files created afterwards by your program. This is mostly a case with personal configuration files in user's home directory on Linux. In addition, any backup files (suffix: .old, ~, .bak, .pacnew...) are not included in the package according to your package manager and, therefore, they may not be uninstalled by simply removing a program. [Please see my script for tracking down those files](https://github.com/Fincer/linux_server_setup/blob/master/scripts/file-and-dirs-owner.sh)
**Other Linux distributions:**
Main differences between various Linux distributions are: