There are many reasons you might want to share your Linux configuration with other people. You might be looking for help troubleshooting a problem on your system, or maybe you're so proud of the environment you've created that you want to showcase it to fellow open source enthusiasts.
You could get some of that information with a cat /proc/cpuinfo or lscpu command at the Bash prompt. But if you want to share more details, such as your operating system, kernel, uptime, shell environment, screen resolution, etc., you have two great tools to choose: screenFetch and Neofetch.
ScreenFetch is a Bash command-line utility that can produce a very nice screenshot of your system configuration and uptime. It is an easy way to share your system's configuration with others in a colorful way.
It's simple to install screenFetch for many Linux distributions.
On Fedora, enter:
$ sudo dnf install screenfetch
On Ubuntu, enter:
$ sudo apt install screenfetch
For other operating systems, including FreeBSD, MacOS, and more, consult the screenFetch wiki's installation page. Once screenFetch is installed, it can produce a detailed and colorful screenshot like this:
ScreenFetch also provides various command-line options to fine-tune your results. For example, screenfetch -v returns verbose output that presents each option line-by-line along with the display shown above.
And screenfetch -n eliminates the operating system icon when it displays your system information.
Other options include screenfetch -N, which strips all color from the output; screenfetch -t, which truncates the output depending on the size of the terminal; and screenFetch -E, which suppresses errors.
Be sure to check the man page on your system for other options. ScreenFetch is open source under the GPLv3, and you can learn more about the project in its GitHub repository.
According to the project's website, "Neofetch supports almost 150 different operating systems. From Linux to Windows, all the way to more obscure operating systems like Minix, AIX, and Haiku."
The project maintains a wiki with excellent installation documentation for a variety of distributions and operating systems.
If you are on Fedora, RHEL, or CentOS, you can install Neofetch at the Bash prompt with:
$ sudo dnf install neofetch
On Ubuntu 17.10 and greater, you can use:
$ sudo apt install neofetch
On its first run, Neofetch writes a ~/.config/neofetch/config.co
If Neofetch doesn't support your operating system or provide all the options you are looking for, be sure to open up an issue in the project's GitHub repo.
No matter why you want to share your system configuration, screenFetch or Neofetch should enable you to do so. Do you know of another open source tool that provides this functionality on Linux? Please share your favorite in the comments.