Software & Apps Linux 24 24 people found this article helpful The Linux Command Line Versus Graphical User Interfaces The GUI and CLI offer varying pros and cons in Linux By Juergen Haas Writer Former Lifewire writer Juergen Haas is a software developer, data scientist, and a fan of the Linux operating system. our editorial process Juergen Haas Updated February 19, 2020 Linux Switching from Windows Tweet Share Email The open-source, community-developed flexibility of Linux generally means that any task admits to more than one way to accomplish it. This diversity of approach is a net positive for the operating system, but in some circumstances, some methods make more sense than others. The Linux GUI Linux supports several dozen different window managers and desktop environments. Each of these graphical user interfaces admits to different stock graphical tools and different metaphors for interacting with the Linux kernel. Window Manager vs. Desktop Environment: Which Is Better in Linux? Modern Linux GUIs offer a rich feature set. Almost anything you can do in the Windows or macOS GUI, you can also do in a Linux GUI. However, because each of the window managers and desktop environments use inconsistent techniques and terminology, most how-to advice for Linux tends to focus on shell interaction. The Linux CLI In Linux, the command line interface is properly called a shell session. Linux supports several different shells, although bash is the most common. How to Use the Linux Shell The upshot of shell sessions is that regardless of which shell you use, the commands execute in the same way—which is why a lot of how-to tutorials focus on CLI approaches. However, these sessions require typed commands rather than point-and-click behaviors, and some commands' syntax tend toward complexity. Using the GUI or the CLI To some degree, reliance on graphical or shell-based interaction with Linux is a matter of preference. Some situations, however, tend to favor one approach over the other. For example, complex system administration tasks usually work most cleanly through the shell. Linux is still built on configuration files protected from modification by average users. Modifying those files in a shell session, with elevated privileges, usually makes for the fastest and easiest approach—even if it's a bit more complicated for people accustomed to point-and-click simplicity. Conversely, visually complex work—e.g., image editing or complex word processing—usually work better in the GUI. Creating a newsletter, for example, works well with tools like LibreOffice.