#+date: <2020-01-25 Sat 00:00:00> #+title: Essential Software for Linux Systems: Catalog and Usage #+description: Inventory and description of key Linux applications including graphical and command-line tools, with installation instructions for various distributions. #+slug: linux-software #+filetags: :linux:software:tools: * GUI Applications ** Etcher [[https://www.balena.io/etcher/][Etcher]] is a quick and easy way to burn ISO images to CDs and USB devices. There are two different ways you can install this program. First, you can navigate to the [[https://www.balena.io/etcher/][official website]] and download the AppImage file, which can run without installation. However, AppImage files are not executable by default, so you'll either need to right-click to open the properties of the file and click the "Allow executing file as program" box in the Permissions tab or use the following command: #+begin_src sh chmod u+x FILE_NAME #+end_src If you don't like AppImage files or just prefer repositories, you can use the following commands to add the author's repository and install it through the command-line only. First, you'll have to echo the repo and write it to a list file: #+begin_src sh echo "deb https://deb.etcher.iostable etcher" | sudo tee /etc/apt/sources.list.d/balena-etcher.list #+end_src Next, add the application keys to Ubuntu's keyring: #+begin_src sh sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 379CE192D401AB61 #+end_src Finally, update the repositories and install the app. #+begin_src sh sudo apt update && sudo apt install balena-etcher-electron #+end_src Using Arch, Manjaro, or another distro using the AUR? Use this command instead: #+begin_src sh sudo pacman -S etcher #+end_src ** Atom [[https://atom.io][Atom]] is the self-proclaimed "hackable text editor for the 21st century". This text editor is made by GitHub, [[https://news.microsoft.com/2018/06/04/microsoft-to-acquire-github-for-7-5-billion/][now owned by Microsoft]], and has some of the best add-ons available to customize the layout and abilities of the app. First, add the Atom repository to your sources. #+begin_src sh sudo add-apt-repository ppa:webupd8team/atom #+end_src Next, update your package listings and install atom. #+begin_src sh sudo apt update && sudo apt install atom #+end_src If you have issues updating your packages with the Atom repository, you'll need to use the snap package described below instead of the repository. To remove the repository we just added, use this command: #+begin_src sh sudo add-apt-repository -r ppa:webupd8team/atom #+end_src You can also install Atom as a snap package, but it must be installed with the =--classic= flag. A [[https://language-bash.com/blog/how-to-snap-introducing-classic-confinement][full explanation is available]] if you'd like to read more about why you need the classic flag. #+begin_src sh snap install atom --classic #+end_src Using Arch, Manjaro, or another distro using the AUR? Use this command instead: #+begin_src sh sudo pacman -S atom #+end_src ** Visual Studio Code [[https://code.visualstudio.com][Visual Studio Code]] is yet another fantastic choice for programming on Linux, especially if you need those extra add-ons to spice up your late-night coding sessions. The theme used in the screenshot is [[https://marketplace.visualstudio.com/items?itemName=EliverLara.mars][Mars]] by theme creator [[https://github.com/EliverLara][Eliver Lara]], who makes a ton of great themes for VS Code, Atom, and various Linux desktop environments. To install VS Code, you'll need to download the =.deb= file from the official website. Once you've downloaded the file, either double-click it to install through the Software Center or run the following command: #+begin_src sh sudo dpkg -i FILE_NAME.deb #+end_src You can also install VS Code as a snap package, but it must be installed with the =--classic= flag. A [[https://language-bash.com/blog/how-to-snap-introducing-classic-confinement][full explanation is available]] if you'd like to read more about why you need the classic flag. #+begin_src sh snap install code --classic #+end_src Using Arch, Manjaro, or another distro using the AUR? Use these commands instead: #+begin_src sh sudo pacman -S yay binutils make gcc pkg-config fakeroot yay -S visual-studio-code-bin #+end_src ** GNOME Tweaks [[https://gitlab.gnome.org/GNOME/gnome-tweaks][Gnome Tweaks]] is the ultimate tool to use if you want to customize your GNOME desktop environment. This is how you can switch application themes (GTK), shell themes, icons, fonts, and more. To install GNOME Tweaks on Ubuntu, you just need to install the official package. #+begin_src sh sudo apt install gnome-tweaks #+end_src If you've installed Manjaro or Arch with Gnome, you should have the tweak tool pre-installed. If you're on Fedora, this tool is available as an official package: #+begin_src sh sudo dnf install gnome-tweaks #+end_src ** Steam [[https://steampowered.com][Steam]] is one of the most popular gaming libraries for computers and is one of the main reasons that many people have been able to switch to Linux in recent years, thanks to Steam Proton, which makes it easier to play games not officially created for Linux platforms. To install Steam on Ubuntu, you just need to install the official package. #+begin_src sh sudo apt install steam-installer #+end_src For Arch-based systems, you'll simply need to install the =steam= package. However, this requires that you enable the =multilib= source. To do so, use the following command: #+begin_src sh sudo nano /etc/pacman.conf #+end_src Now, scroll down and uncomment the =multilib= section. #+begin_src config # Before: #[multilib] #Include = /etc/pacman.d/mirrorlist # After: [multilib] Include = /etc/pacman.d/mirrorlist #+end_src Finally, install the program: #+begin_src sh sudo pacman -S steam #+end_src [[./2020-01-26-steam-on-ntfs-drives.html][Problem Launching Steam Games? Click Here.]] * Command-Line Packages ** neofetch [[https://github.com/dylanaraps/neofetch][Neofetch]] is a customizable tool used in the command-line to show system information. This is exceptionally useful if you want to see your system's information quickly without the clutter of some resource-heavy GUI apps. This is an official package if you're running Ubuntu 17.04 or later, so simply use the following command: #+begin_src sh sudo apt install neofetch #+end_src If you're running Ubuntu 16.10 or earlier, you'll have to use a series of commands: #+begin_src sh sudo add-apt-repository ppa:dawidd0811/neofetch; sudo apt update; sudo apt install neofetch #+end_src Using Arch, Manjaro, or another distro using the AUR? Use this command instead: #+begin_src sh sudo pacman -S neofetch #+end_src ** yt-dlp [[https://github.com/yt-dlp/yt-dlp][yt-dlp]] is an extremely handy command-line tool that allows you to download video or audio files from various websites, such as YouTube. There are a ton of different options when running this package, so be sure to run =yt-dlp --help= first to look through everything you can do (or give up and search for the best config online). While this shouldn't be a problem for most users, yt-dlp requires Python 2.6, 2.7, or 3.2+ to work correctly, so install Python if you don't have it already. You can check to see if you have Python installed by running: #+begin_src sh python -V #+end_src To get the youtube-dl package, simply curl the URL and output the results. #+begin_src sh sudo curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp #+end_src Finally, make the file executable so that it can be run from the command-line. #+begin_src sh sudo chmod a+rx /usr/local/bin/yt-dlp #+end_src