hello friends! new(ish)!
List of recommended GNU/Linux software
This page is for good quality software on GNU/Linux platforms based on the contributions of wiki users. If you saw something that looked really nice on /g/ or /tech/, and were interested, take a look at what anons generally use.
If you're looking for alternatives to specific Windows or OSX software, take a look at switching.software, linuxalt.com and alternativeto.net.
It should be noted that a lot of this software is portable to BSD, and should be included in the ports tree of your preferred operating system.
What does /g/ use?
- Distro: See Babbies First Linux
- Web Browser: See Web browsers
- IRC: Weechat or Irssi.
- VoIP: Mumble, maybe Tox sometimes.
- Media Player: mpv.
- Music player: mpv, MPD and ncmpcpp, or ncmpc, or cmus.
- Image Viewer: feh, sxiv, or viu.
- Terminal Emulator: rxvt-unicode or st.
- File Manager: none or Ranger or Vifm.
- Document Reader: zathura.
- Text Editor: Vim or something Vim based, GNU Emacs.
Also check out the "What does /g/ use?" category of this wiki.
Communications
Web browsers
For more detailed information, see Web browsers.
Chromium is the developer version of Google Chrome. Its tracking features can be easily disabled. Although it is open source software, its code is not as well audited as Firefox because its source tree is an unreadable 4GiB clusterfuck of mental illness. There is also Ungoogled Chromium which attempts to rip out most of the google botnet.
Brave is an open source fork of Chromium focused on privacy and speed. It has a built in ad and tracker blocker as well as a controversial cryptocurrency reward program with their own currency Basic Attention Token (BAT). The devs have been caught doing shady stuff in the past, and are still spying on their users.
Firefox is free software developed by Mozilla. It is highly extensible via addons and included as the default browser in many GNU/Linux distributions. It is often criticized on /g/ and /tech/ as "SJWfox" because of some Mozilla developers outspoken campaigns on social and political issues.
GNU IceCat is a Richard Stallman approved rebrand of Firefox maintained by the GNU Project. It removes all trademarked artwork and adds some privacy protection features.
Parabola Iceweasel is an FSF approved rebrand of Firefox maintained by Parabola GNU/Linux-libre. It removes all nonfree features such as DRM and trademarked artwork. Iceweasel is basically GNU IceCat, but actually maintained, and without pre-installed extensions that break 90% of all websites.
Iridium is a FLOSS fork of Chromium stripped of as many botnet and proprietary "features" as possible. It used to phone home to Iridium's servers for development purposes, but it no longer does that. It does phone home to Google servers, though. Nonetheless, it is still as fast as a Chromium fork is expected. Use at your own risk.
Midori is a fast, lightweight, LGPL licensed browser using the WebKit rendering engine. It is the default browser in Artix, Elementary OS, Raspbian and Trisquel Mini.
NetSurf is a fast, lightweight browser that uses GTK and its own rendering engine, with optional JavaScript support via the duktape engine.
Dillo is an even faster, more lightweight browser running on FLTK using its own rendering engine, with limited (but improving) CSS support and no JavaScript support.
Opera is a proprietary web browser that has pioneered open web standards for over two decades. It is notable for being the first web browser to sport a tabbed interface. It is developed and maintained by Opera Software and recently is just a proprietary version of chromium.
Otter Browser is a FOSS web browser that aims to recreate the best aspects of the classic Opera (12.x) UI using Qt5.
Pale Moon is a fork of Firefox under a proprietary open source license. It has a familiar UI without the "Australis" redesign.
QupZilla is a FOSS web browser, built on the Qt and QtWebEngine (based on Chromium's rendering engine) frameworks. It supports extensions, ships out of the box with AdBlock, Mouse Gestures, GreaseMonkey, Speed Dial, Click2Flash, and more. It provides seamless integration with most desktop environments, and has several other distinguishing features. QupZilla is licensed under GPLv3.
SeaMonkey is a continuation of the Mozilla suite. Unlike most modern web browsers, it is an Internet suite, complete with bundled programs for email, IRC, and web design. It is compatible with most Firefox add-ons.
Surf is a lightweight browser created by the Suckeless project. It uses the glib webkit. Most settings can not be changed after you compile, and the majority of setting change from default requires you to implement them into your makefile.
Tor Browser (formerly known as Tor Browser Bundle) is a package of a modified Firefox extended support release, NoScript, Tor, TorButton and TorLauncher. It automatically routes traffic through the Tor network and deletes history and cookies when closed.
Email clients
Claws Mail is an email client (and news reader), based on GTK+. The appearance and interface are designed to be familiar to new users coming from other popular email clients, as well as experienced users. Almost all commands are accessible with the keyboard.
Sylpheed
Sylpheed is a lightweight e-mail client based on GTK+2. Claws Mail was forked from Sylpheed; however, Sylpheed still retains an extremely simple and minimalist appearance and configuration.
Evolution is a personal information management application that provides integrated mail, calendaring and address book functionality.
KMail is the email component of Kontact, the integrated personal information manager from KDE.
Thunderbird is an email client based upon the Gecko rendering engine. Like its sibling Firefox, it offers the user extensive customization options via third-party add-ons.
Terminal
- Alpine is a fast, easy to use email client that is suitable for both the inexperienced email user as well as for the most demanding of power users. Alpine is based on the Pine® Message System. It is released under the Apache License, Version 2.0.
- Mutt's initial interface was based largely on the ELM mail client. To a large extent, Mutt is still very ELM-like in presentation of information in menus (and in fact, ELM users will find it quite painless to switch as the default key bindings are identical). As development progressed, features found in other popular clients such as PINE and MUSH have been added, the result being a hybrid, or "mutt." There is a fork called Neomutt that has combined many community patches to traditional mutt as well as added some features for the modern user. Try out both and decide which one you want yourself.
IM (Instant Messaging) clients
Pidgin, formerly known as GAIM, is an instant messaging client developed in C. It is based upon Libpurple and offers support for the AIM, Bonjour, Gadu-Gadu, Google Talk, Groupwise, ICQ, IRC, MSN, MXit, MySpaceIM, SILC, SIMPLE, Sametime, XMPP, Yahoo!, and Zephyr chat networks out of the box. Partial or complete support for additional networks like Xfire is offered through third-party plug-ins like Gfire. It can support OTR with a plugin. Beware it stores passwords in plain text.
RetroShare is an open source decentralized communication platform. It provides secure chat, photo and video sharing using OpenPGP to authenticate peers and the OpenSSL API to encrypt all communication.
Ricochet IM is and end-to-end encrypted instant messages which uses Tor hidden services.
Tox works as an IM client as well as a VoIP client.
Internet Relay Chat (IRC) clients
HexChat is a popular replacement for the XChat IRC client, a client which offered a free binary for GNU/Linux but charges money for the Windows version. HexChat is a continuation of XChat and makes both its source code and binaries available to users of all platforms it's created for. Like its parent software, HexChat is licensed under the GNU GPL. It includes all the basic features one would need, and can be ideal both for new users and IRC veterans.
Smuxi is another IRC client and uses the GTK. It has some scripting capability and looks about the same on all systems. It doesn't have many features but it does those that it has well.
Terminal
- BitchX was originally a script for the IrcII client. It was converted to a program on its own right in 1996. It is highly customizable and capable of running scripts, so it can be used as an IRC bot too.
- Irssi is the father of rice clients and easily accessible for all systems. The author of the Metacity window manager for GNU/Linux describes his software as follows: "Boring window manager for the adult in you. Many window managers are like Marshmallow Froot Loops; Metacity is like Cheerios." Irssi is the terminal IRC client equivalent of that sentiment. Irssi is extensible through plugins.
- Weechat is Irssi with more rice, scripting languages, ideal defaults and development. It is rising in popularity as a preferred client on /g/. Weechat also includes plugin functionality.
VoIP (Voice-over-IP) clients
Ekiga is a SoftPhone, Video Conferencing and Instant Messenger application over the Internet. It is interoperable with many other standard compliant software, hardware and service providers as it uses both the major telephony standards (SIP and H.323).
Jitsi (formerly SIP Communicator) is an audio/video and chat communicator that supports protocols such as SIP, XMPP/Jabber, AIM/ICQ, Windows Live, and Yahoo!
Mangler is a client capable of connecting to Ventrilo 3.x servers. It is capable of performing almost all standard user functionality found in a Windows Ventrilo client.
Mumble is audio chat software. It is superior in audio quality and latency by always being the first client to use latest technologies, such as the Opus audio codec.
TeamSpeak is widely used for gaming. Lots of permissions/ACL tuning is available. Servers must be often licensed to use without restrictions. The client has a backdoor that allows TeamSpeak Systems GmbH. to blacklist any server and take full control. It is proprietary software, and it is thus recommended to use Mumble (by virtue of performance alone, it would still be the better choice).
Tox is an open source alternative to Skype. Straightforward and easy to use, peer-to-peer and no registration or special setup is required. End-to-end encrypted by default.
DNS
DNSCrypt adds security to the otherwise plaintext DNS lookups. Everything is encrypted, which means no more eavesdropping, and no more spoofing.
Unbound is a validating, recursive, and caching DNS server that can enforce DNSSEC, harden your DNS queries and ultimately lower your 3rd-party exposure by caching DNS queries. Can and should be used with DNSCrypt.
OpenNIC is a DNS resolving service. Best one out there by far.
File compression utilities
File compression software is widely used by various software distributors and archives to mitigate bandwidth and storage space requirements.
PeaZip is a free and open source archiver developed in free Pascal by Giorgio Tani. It is notable for its native PEA format and its support of cutting-edge compression technologies like PAQ and LPAQ that are not supported by other popular archivers. Like 7zip, it is capable of retrieving files from virtually any archive that one might encounter.
The PAQ and LPAQ methods are capable of an impressive degree of lossless compression, but the time and system resources required are equally impressive.
Terminal
- p7zip is a port of 7za.exe for POSIX systems. 7za.exe is the command line version of 7-zip.
- bzip2 is a high-quality data compressor. It typically compresses files to within 10% to 15% of the best available techniques (the PPM family of statistical compressors), whilst being around twice as fast at compression and six times faster at decompression.
- xz works in a way similar to gzip and utilizes a compression format similar to 7zip (LZMA2). In fact, .tar.xz files are compatible with 7zip.
File sharing
BitTorrent clients
- qBittorrent is written in C++ and based on qt. Has its own jackett that supports Jackett. Daemon version is called qbittorrent-nox.
- Deluge is written in python, has gtk, web and tui interfaces. It is highly extensible via its plug-ins system. Has a thin client mode feature, which allows you to switch between availible deluge daemons easily through gtk gui - remote qbittorrent, transmission or rtorrent clients are supposed to be controlled through web ui. Deluge is notable for having originated the particular method of protocol encryption that is currently in use by every major BitTorrent client.
- rtorrent is a tui bittorrent client written in C++ and based on the based libtorrent-rakshasa, often used with ruTorrent web front-end. The /g/entleman's choice, notable for not introducing back-up-botnet-np-door support.
- Transmission is a forever featureless, meant for uboontoddlers bt client that won some benchmarks, written in C. Has a native ""mac app"", official qt and gtk interfaces are semi-gui-less and very different. Has tui.
- btpd is a simple bittorrent daemon and cli, great for scripting with eg. rssdler. Use mktorrent for creating torrents.
- biglybt is written in java. Has i2p integration, as did his ancestor. Interface is ugly af, in a very bad way. They are doing something. No daemon?
- KTorrent kis ka klibktorrent-based kBitTorrent klient. Kuse konly kif kyour kde kis kkde. No daemon?
- tixati is closed-source.
FTP clients
- GNU Midnight Commander is an Orthodox File Manager that has support for FTP
Note: Most modern file managers (as well as web browsers) support the FTP protocol.
Terminal
The standard UNIX FTP command.
Direct Connect
EiskaltDC++ is a cross-platform program that uses the Direct Connect and ADC protocols. It is compatible with DC++, FlylinkDC++, LinuxDC++ and other DC clients.
Jucy is a client for the direct connect network. It allows you to chat and share files with friends.
BMDC++ is based on FreeDC++ client with a more up-to-date dcpp core.
- ncdc is a modern and lightweight direct connect client with a friendly ncurses interface.
Soulseek
Nicotine+ Is a free software equivalent to the official proprietary client for the Soulseek P2P filesharing network. It is great for music sharing and getting rare lossless files. Check it out on the /mu/ wiki.
Performance
System Monitors
- Glances is a cross-platform system monitoring tool written in Python.
- gotop is a very pretty terminal based graphical activity monitor inspired by gtop and vtop written in Go.
- htop is an interactive text-mode process viewer for Unix systems. It aims to be a better 'top'
- top (table of processes) is a task manager program found in many Unix-like operating systems that displays information about CPU and memory utilization.
CPU
- irqbalance is a daemon to help balance the cpu load generated by interrupts across all of a system's CPUs, as opposed to merely the first one (which creates bottlenecks).
- numad is a daemon that provides placement advice and process management for efficient use of CPUs and memory on NUMA systems. If you have a NUMA system you should use both.
GPU
- GreenWithEnvy is a GTK system utility designed to provide information, control the fans and overclock your NVIDIA video card and graphics processor.
tmpfs-based RAM disks
- Anything-sync-daemon is a pseudo-daemon that relocates your files of choice to tmpfs and uses rsync periodically specifically to sync them back from the RAM mounted tmpfs partition to disk.
- Profile-sync-daemon is like Anything-sync-daemon, but is used specifically to sync browser profiles.
Maintenance
Backup and sync
Rsync is a fast file transfer and synchronization tool. It is included in most GNU/Linux distributions by default and can be run from the terminal.
Unison is a mature, cross-platform and free software file synchronizer. It can sync files and directories locally (between drives) or across the network via SSH or plain TCP. It works by comparing checksums, modified dates and other properties to efficiently propagate only the changes between replicas. The GUI provides a summary of all differences and allows modification of default behavior before any action is taken. It is resilient to failures and can handle power loss, dropped network connection, etc. It is available in both GUI and terminal only versions. Both the server and client must be running the same version if using to synchronize remote storage. It has a bit of a learning curve, but everything is well documented.
Borg is a deduplicating backup program. Optionally, it supports compression and authenticated encryption.
File recovery tools
See also: Data recovery
- extundelete is data file recovery software designed to recover deleted files from an ext2, ext3, or ext4 partition using information stored in the partition journal.
TestDisk was primarily designed to help recover lost partitions and/or make non-booting disks bootable again when these symptoms are caused by faulty software, certain types of viruses or human error (such as accidentally deleting a Partition Table).
PhotoRec is file data recovery software designed to recover lost files including video, documents and archives from hard disks, CD-ROMs, and lost pictures (thus the Photo Recovery name) from digital camera memory. PhotoRec ignores the file system and goes after the underlying data, so it will still work even if your media's file system has been severely damaged or reformatted.
System information tools
CPU-G is an application that shows useful information about your hardware. It collects and displays information about your CPU, RAM, Motherboard, some general information about your system and more. It is almost exactly the same as the Windows application CPU-Z in appearance.
Multimedia
Media players
Baka MPlayer is a free and open source, cross-platform, libmpv based multimedia player. Its simple design reflects the idea for an uncluttered and enjoyable environment for watching tv shows.
Banshee can play your music and videos. Keep up with your podcasts and Internet radio. Discover new music and podcasts. Keep your portable device loaded with good stuff.
bomi is a multimedia player formerly known as CMPlayer, which is aimed for easy usage but also provides various powerful features and convenience functions. It is a fork of mpv.
MPlayer is a media player using internal codecs which can play most audio and video formats.
MPlayer2 is a fork of Mplayer with better seeking, better matroska support, improved VDPAU functionality, and various other features and bug fixes.
mpv is a fork of MPlayer/Mplayer2 with cleaner code, less bloat, better video scaling, color management, and other high quality video rendering algorithms.
SMPlayer is a frontend for MPlayer.
SMPlayer2 is a frontend for MPlayer2.
VLC is a media player and framework that plays most multimedia files as well as DVD, Audio CD, VCD, and various streaming protocols. It can also be used to stream video of nearly any format between devices. It gets a lot of hate from the /g/ crowd, but it has a clean UI, plenty of features, and good enough speed and quality for most people. Just be prepared to wait up to five minutes for the font cache to be rebuilt every now and then.
Media center and HTPC
Emby automatically converts and streams your media on-the-fly to play on any device. Features local user management.
Kodi (former XBMC) is a free and open source GPL software media center featuring a 10-foot user interface for use with televisions and remote controls. It is highly customizable via skins and addons. There are even addons available for streaming from internet services like YouTube and Twitch.tv. It plays nearly every video and music format out of the box. The built in scrapers can pull data from sites like IMDB and thetvdb to allow sorting media by actor, genre, rating, etc. It can export this data to local files for offline use.
Plex is a fork of the former XBMC (now Kodi). It has separate front-end (player) and back-end (server) components. Plex Media Server, unlike the free frontend, is a combination of free and proprietary software, with the majority of the code being proprietary. It has many of the same features as Kodi, but focuses more on its web interface. It also excels at on the fly video transcoding to allow playback over slow connections. Now powered by mpv.
Jellyfin is a fork of Emby created by the developers after it went proprietary. Tries to grab every feature that Emby has.
Media converters and rippers
Handbrake is a free and open source video transcoder with an easy to use GUI. It can rip and convert a variety of video formats, but can not break DVD or Blu-ray copyright protection.
MakeMKV can convert video from proprietary (and usually encrypted) discs into a set of MKV files, preserving most information but not changing it in any way. It can instantly stream decrypt video without intermediate conversion and decrypt Blu-rays and protected DVDs.
MKVToolNix is a set of FOSS tools by Moritz Bunkus for working with Matroska files. It can mux, split and merge mkv files with no transcoding or loss of quality. It can also add or remove audio and subtitle tracks, change track order and edit metadata.
- ProjectX can resync DVB (Digital TV broadcasts) ready for encoding.
- Youtube-dl is a command line program for downloading videos from Youtube and similar sites.
RubyRipper is a secure CD ripper similar to EAC. Note this project is no longer actively maintained.
- Morituri is a CLI only CD ripper that focuses on accuracy over speed. It has similar features to EAC including log file, AccurateRip and tagging via MusicBrainz. It is recommended by what.cd over RubyRipper.
Sound Juicer is a simple program by the GNOME devs for ripping audio CDs to FLAC, Vorbis or MP3. It can automatically tag files via MusicBrainz.
Music players
Clementine is a modern music player and library organizer inspired by Amarok 1.4, focusing on a fast and easy-to-use interface for searching and playing your music.
Strawberry is an actively maintained fork of Clementine, with more advanced configuration options (including support for alternative backends), and a variety of changes meant to make life easier for users with very large music libraries.
Qmmp (Qt-based MultiMedia Player) is a rock-solid audio player written in C++, using Qt for its GUI. It sports a clean and configurable Qt interface, in addition to a skin-based one, which can utilize themes from both Winamp and XMMS. Qmmp also supports plugins, and there are a wide variety available. It handles the wide gamut of audio formats, along with video playback through the bundled ffmpeg plugin. It also includes Winamp-like media library functionality.
DeaDBeeF (as in 0xDEADBEEF) is a simple audio player with minimal dependencies and a clean layout.
gmusicbrowser is a jukebox for large collections of MP3, OGG, FLAC, MPC and APE files, written in Perl.
Guayadeque is a music management program designed for all music enthusiasts. It is Full Featured GNU/Linux media player that can easily manage large collections and uses the Gstreamer media framework. Guayadeque boasts a configurable UI, letting the user control which panes are visible for filtering the library.
Lollypop is a free and open source graphical music player which is simple to use and has a beautiful interface. This application is based on Python / GTK+ which is made for Gnome Desktop Environment. It supports a variety of music formats like MP3, MP4, FLAC, and OGG Vorbis audio files. Lollypop music player offers to browse album covers, artists and music genre, built-in search, party mode, album art downloader, and much more. Its graphical interface is amazing and user-friendly.
Quod Libet is a GTK+-based audio player using the Mutagen tagging library. It's designed around the idea that you know how to organize your music better than we do. It lets you make playlists based on regular expressions (don't worry, regular searches work too). It lets you display and edit any tags you want in the file, for all the file formats it supports.
Rhythmbox is a GStreamer based music player for the GNOME desktop.
Terminal
- MOC (music on console) is a console audio player for GNU/Linux and BSD, designed to be powerful and easy to use.
- cmus is a standalone command line music player. It is simple and easy to use.
Music Player Daemon
MPD is a flexible, powerful daemon for playing music. While mpd doesn't directly play music to you, it provides a stream of it (locally or over the internet) to which you connect to with a client (as it's a server, not a music player). It is the mpd client that provides you with all the functionality you expect from a music player. The advantage here is that you can have multiple clients connected and listening to one instance of mpd, or you can stream over the internet. Some music players listed below will be mpd clients, which means that you may need to install mpd as well (if it doesn't come included) for them to work.
- mpc is a minimalistic terminal MPD client. Very handy for creating keyboard shortcuts for MPD.
- ncmpcpp is a feature-rich MPD client with an intuitive curses-based interface.
GMPC is a GUI client for MPD with extensive plugin support and a focus on building custom playlists easily.
Sonata is a GUI client for MPD written in QT. It has a simple interface but gets the job done.
Art/Creation
Image editors
- Raster Art
GIMP is a very powerful image editor with many advanced features, a steep learning curve, and a wide array of plugins.
Krita is a user friendly program for sketching and painting, offering an end-to-end solution for creating digital painting files from scratch.
KolourPaint is a simple MS Paint clone.
MyPaint is a graphics application with a minimal interface designed for pressure sensitive graphics tablets.
Pinta is a relatively simple image editor with an interface inspired by Paint.NET.
- Raw image editors
Darktable is a free (libre) powerful photography workflow application and raw post-production developer.
- Vector Art
InkScape is a vector graphic editor.
3D graphics
Maya offers a comprehensive creative feature set for 3D computer animation, modeling, simulation, rendering, and compositing on a highly extensible production platform. Maya now has next-generation display technology, accelerated modeling workflows, and new tools for handling complex data.
Blender is a free and open source 3D graphics suite. It supports the entirety of the 3D pipeline; modeling, rigging, animation, simulation, rendering, compositing and motion tracking, even video editing and game creation.
Audio workstations
Ardour is for people who want to record, edit, mix and master audio and MIDI projects. It supports AudioUnit, LV2, LinuxVST and LADSPA formats as well as FX plugins. Automate any parameters. Physically manipulate them via control surfaces. Distribute processing across as many (or as few) cores as you want. Best-in-industry sync to MIDI timecode and LTC. Send and receive MIDI Machine Control. Sync with JACK transport and MIDI clock. Use OSC to drive almost any operation.
Sneedacity (formerly Audacity)
Sneedacity is an easy-to-use, multi-track audio editor and recorder made by /g/ as a replacement to Audacity which now includes telemetry. It has support for LADSPA, Nyquist, VST, Audio Unit effect and VAMP analysis plug-ins.
LMMS allows you to create melodies and beats, synthesize and mix sounds, and arrange samples. You can have fun with your MIDI keyboard and much more – all in a user-friendly and modern interface. Furthermore LMMS comes with many ready-to-use instrument and effect plugins, presets and samples. Compatible with many standards such as SoundFont2, VST(i), LADSPA, GUS Patches, and MIDI. Import Hydrogen project files and FL Studio ® project files.
Rosegarden is a music composition and editing environment based around a MIDI sequencer that features a rich understanding of music notation and includes basic support for digital audio. It is an easy-to-learn, attractive application that is ideal for composers, musicians, music students, and small studio or home recording environments.
Video editing
Kdenlive is an intuitive and powerful multi-track video editor, including most recent video technologies. It supports DV, AVCHD and HDV editing. Kdenlive relies on several other open source projects, such as FFmpeg, the MLT video framework and Frei0r effects. Choose from a wide range of effects and transitions. It has the ability to add custom effects and transitions.
- Olive is a free (libre) non-linear video editor. Currently in alpha.
- AviDemux is for quick and dirty file conversion.
- OpenShot is a free and open source video editor similar to Windows Movie Maker.
- Pitivi is a lot like OpenShot, only it's not as slow and doesn't crash as much, despite having limited functionality (for now), and not supporting as many formats.
- Blender is not a video editor in itself but it can be used as one and has a lot of functionality.
Miscellaneous
- screengen is good for making thumbnails and storyboard images of video files.
Image viewer
feh is an X11 image viewer aimed mostly at console users. Unlike most other viewers, it does not have a fancy GUI, but simply displays images. It is controlled via commandline arguments and configurable key and mouse actions. It can be used as a wallpaper setter.
Geeqie is a lightweight Gtk+ based image viewer.
Gwenview is an image viewer which features simple image manipulations: rotation, mirroring, cropping, resizing and red eye reduction. When working with JPEG files, Gwenview performs lossless manipulations. It can also browse inside FTP, Windows shares, tar balls and zip files. It supports KIPI plugins. However, due to being so full-featured, it is quite heavy, and thus, not recommended for systems that are tight on resources, or if you prefer software to be slightly more in line with the Unix philosophy.
sxiv Simple X Image Viewer is a lightweight and scriptable image viewer written in C. Supports thumbnail previews.
Viewnior is a fast and simple image viewer.
XnViewMP is the enhanced version to XnView. It is a powerful media browser, viewer and converter. It is compatible with more than 500 formats. XnViewMP also comes with an easy to use yet powerful batch conversion module.
xv is the "classic" UNIX image viewer. It's non-free shareware, but the source is available. It has not been updated since 1994, but it compiles under modern UNIX. It requires minimal dependencies, but packs more features than many other image viewers. It was popular in the 90s, and is still included with OpenSUSE and Slackware. It can be used as a background-setter. Use it if you use Slack or OpenSUSE, otherwise, don't bother.
Framebuffer
Terminal emulators
GNOME-Terminal is a terminal emulator for the GNOME desktop which features a tabbed interface and profiles.
Guake is a drop down terminal emulator whose design was inspired from consoles in computer games such as Quake which slide down from the top of the screen when a key is pressed, and slide back up when the key is pressed again.
Konsole is a full featured and customizable terminal emulator for the K Desktop Environment (KDE) which supports tabs, multi-pane viewing, bookmarks, unlimited scrollback buffer, and multiple profiles.
LXTerminal is a minimalistic terminal emulator used for LXDE (Lightweight X11 Desktop Environment) with tab support.
Sakura is a terminal emulator based just on GTK and VTE.
Terminator (not to be confused with the other Terminator) is a very advanced terminal emulator featuring drag-and-drop support, tabs, multi-pane viewing, horizontal scrolling, unlimited scrollback buffer, number reinterpretation, and more. Source code can be found here.
Terminology is a relatively new terminal emulator which aims to be aesthetically pleasing but also features tabs, multi-pane viewing, and a wide array of keyboard shortcuts.
Yakuake is a drop down terminal emulator for KDE with a tabbed interface whose design was inspired from consoles in computer games such as Quake which slide down from the top of the screen when a key is pressed, and slide back up when the key is pressed again.
xterm is a terminal emulator for the X Window System. It provides DEC VT102 and Tektronix 4014 compatible terminals for programs that can't use the window system directly. This version implements ISO/ANSI colors using the "new" color model (i.e., background color erase). It also implements most of the control sequences for VT220, as well as selected features from other DEC terminals such as VT320, VT420 and VT520.
st
st is a minimalist terminal emulator with the aim of having as little code as possible, the idea of this terminal emulator is to patch in the features you want keeping the file size as low as possible, it is much favoured among ricers as it is very easy to edit anything as the config file is written in C and is easily changeable.
urxvt
rxvt-unicode (also known as urxvt) is a fast and lightweight terminal emulator with Xft and Unicode support, seen often together in i3, dwm, and Sway window manager builds.
Multiplexers
File managers
Dolphin is a full featured file manager which supports tabbed browsing, dual-panes, integrated terminal emulator, network transparency, batch file renaming, file content previews, indexed file searching, and a wide variety of plugins.
Krusader is an advanced twin panel file manager similar to Midnight or Total Commander. It is very customizable and supports most of the features of Dolphin and then some!
Nautilus is the default file manager for the GNOME Desktop environment. While it does not have very many features, it is simple, integrates extremely well with GNOME, and blends in well with most GTK3 themes.
Nemo is a complete fork of Nautilus 3.4, and is the default file manager for Cinnamon. It aims to implement many of the features which have been removed from Nautilus as well as much more.
PCManFM is the standard file manager in LXDE.
SpaceFM is a multi-panel tabbed file and desktop manager for GNU/Linux with built-in VFS, udev- or HAL-based device manager, customisable menu system, and bash integration. SpaceFM aims to provide a stable, capable file manager with significant customisation capabilities.
Thunar is a file manager for GNU/Linux and other Unix-like systems, written using the GTK+ 2 toolkit, and shipped with Xfce.
Terminal
Document readers
Evince is a PDF, PostScript, DjVu, TIFF, XPS and DVI reader. It also handles editable pdfs.
Okular combines the excellent functionalities of KPDF with the versatility of supporting different kind of documents, like PDF, Postscript, DjVu, CHM, XPS, ePub and others. It does not handle editable PDFs.
mupdf is an extremely simple PDF viewer. It does not show anything besides the document, and it is mostly controlled with the keyboard.
- apvlv is a minimalistic PDF/DJVU/UMD/TXT viewer that uses Vim-like key bindings.
- Page is Plan 9's PDF viewer which is available in plan9port.
- Xpdf is a classic X PDF viewer using Motif. It does one thing, and does it well.
- zathura is a highly customizable and functional document viewer. It provides a minimalistic and space saving interface as well as an easy usage that mainly focuses on keyboard interaction.
- FBReader is a multi-platform ebook reader. Supports popular ebook formats: ePub, fb2, mobi, rtf, html, plain text, and a lot of other formats. Can support.pdf files via additional plugin -- but is primarily designed for reading ePub eBook files.
- Sigil is a multi-platform EPUB ebook Editor, for when you might need to edit an .ePub file for reading.
IDEs
Eclipse is a feature-rich IDE with a major focus on its plugin system. Plugins are used for everything from language support (Java, C++, Python, C#, etc.) to adding additional features or aesthetics (Git integration, Vim keybindings, relative line numbers, CMake support, color schemes, etc.). It also has a reasonable set of built-in features. Some of the more notable of these include the plugin install/update tool, a highly configurable code formatter, and a customizable UI.
Geany is a text editor using the GTK2 toolkit with basic features of an integrated development environment. It was developed to provide a small and fast IDE, which has only a few dependencies from other packages. It supports many filetypes and has some nice features.
IntelliJ IDEA Community Edition
IntelliJ IDEA is the flagship Java IDE from JetBrains, and the Community Edition is FOSS. IntelliJ has all the standard IDE features, official and community plugins, and a keyboard-centric workflow with a powerful global search. They also have PyCharm Community Edition for Python, which is also FOSS.
KDevelop is a feature-full FOSS IDE for C/C++, from the KDE environment (although it can still run on other environments that aren't KDE). It has an optional dark colour scheme, built-in gdb and makefile support, optional vim keybindings, autocomplete, and a sublime text-like code minimap scroll, among many other features.
- Monodevelop for C#.Net on GNU/Linux.
Text editors
Atom is a free and open source, cross-platform text editor. It is developed by GitHub and has embedded Git control. It is billed as "a hackable text editor for the 21st Century." Upon first launching the program, you will be prompted to consent to telemetry services, which you can opt-out of.
Brackets is a free and open source, cross-platform text editor. Developed by Adobe Systems, it focuses on web development. It is written in HTML, CSS, and JavaScript. One notable feature, Live Preview, lets you view updates to your HTML/CSS in real time in-browser, but only works with Google Chrome (not open-source Chromium or any other forks).
Emacs is an extensible, customizable text editor—and more (IDE, mail client, IRC client, almost an OS). At its core is an interpreter for Emacs Lisp, a dialect of the Lisp programming language with extensions to support text editing. It has keyboard shortcuts for nearly anything imaginable, which allows for extremely efficient editing capabilities. It is normally used on a graphical window, but it can also be used on the terminal by passing it the -nw option.
gedit aims at simplicity and ease of use. Gedit is a powerful general purpose text editor.
gVim is a scriptable text editor with extensive plugin support. It introduces a modal interface, with optimized key bindings, that allows productivity beyond what is possible with a mouse in a regular editor. This makes Vim shine compared to the alternatives in terms of raw speed and efficiency of editing text, and makes it a popular choice among programmers. It is normally used from the terminal, but it can also be used with a graphical application (gVim).
Kate is an extremely extensible text editor for programmers which features split-pane view, embedded terminal emulator, bookmarking, code folding, code completion, vi input mode, regex support, batch find & replace, and swap files for recovering data on system crash. It also supports a wide array of plugins.
Leafpad is a simple, lightweight text editor focused on simplicity, and is comparable to Notepad in Windows. Leafpad is simple to use, is easily compiled, requires few libraries, and starts up quickly.
Spacemacs is a community developed configuration for Emacs that makes it easier for anyone to use this amazing developer tool. Spacemacs is a well thought out way to apply the vast and diverse power of Emacs, making it more accessible especially to those who are used to using Vi.
Sublime Text is a proprietary, but sophisticated text editor for code, markup and prose.
Textadept is a multiplatform, minimalist text editor that uses Lua as a scripting language. It just works across different platforms.
Terminal
- Emacs can be used from the terminal by passing it the -nw option.
- GNU nano is a very easy to use text editor that comes installed on most GNU/Linux systems. It has a low degree of customizability, but because of this, it's learning curve is effectively nil.
- nvi is a bug for bug compatible version of vi.
- Traditional vi is a port of the real BSD vi to newer Unix platforms.
- Vim is a powerful text editor, with focus on efficient text editing using as few keystrokes as possible.
Word processors
AbiWord is a free word processing program similar to Microsoft® Word. It is suitable for a wide variety of word processing tasks. AbiWord allows you to collaborate with multiple people on one document at the same time. It is tightly integrated with the AbiCollab.net web service, which lets you store documents online, allows easy document sharing with your friends, and performs format conversions on the fly.
WPS Office Writer is a free word processor with compatibility for Microsoft Word formats, and has a similar interface as well. There is also a paid version.
OnlyOffice is a free and open source office suite, that includes a word processor with compatibility for Microsoft Word formats. Besides the Desktop version, it can be delivered either as a SaaS solution or as an installation for deployment on a private network.
LibreOffice Writer is the word processor in the LibreOffice suite. After Oracle acquired OpenOffice, it asked community members to GTFO [1]. Since everyone despises Oracle, the developers all jumped ship as well [2] and started LibreOffice.
- Ted is a simple and easy to use word processor that saves to .rtf.
- Troff is the traditional Unix typesetting language.
- LaTeX is the typesetting language designed by Donald Knuth, extended with the use of macros.
Security
For in-depth coverage of this topic, see our article on Security.
Sandboxes
Firejail is a sandbox that uses Linux namespaces, seccomp-bpf and all the latest Linux security features to create a new, fully secure filesystem. It allows a process and all its descendants to have their own private view of the globally shared kernel resources, such as the network stack, process table, mount table. It comes with a myriad of profiles by default, which are then used on a per-software basis.
Software firewalls
- iptables/netfilter is Linux's built-in firewall solution.
- nftables is a new packet filtering framework that is part of Linux, whose sole objective is to replace the {ip,ip6,arp,eb}tables framework.
- Packet Filter (pf) is OpenBSD's firewall which has been ported to many other operating systems.
Firewall utils
- Ufw stands for Uncomplicated Firewall, and is program for managing a netfilter firewall. It provides a command line interface and aims to be uncomplicated and easy to use. Also comes with a graphical interface, Gufw.
- Arno's iptables firewall script is a highly secure front-end for iptables that extends the firewall and comes preconfigured to block all incoming connections by default. For a complete list of features, check this.
Penetration testing
- Gerix WiFi Cracker is a graphical frontend for Aircrack-ng and pyrit.
Terminal
- Aircrack-ng is an 802.11 WEP and WPA-PSK keys cracking program that can recover keys once enough data packets have been captured. It implements the standard FMS attack along with some optimizations like KoreK attacks, as well as the PTW attack, thus making the attack much faster compared to other WEP cracking tools.
- Reaver implements a brute force attack against Wifi Protected Setup (WPS) registrar PINs in order to recover WPA/WPA2 passphrases. On average Reaver will recover the target AP's plain text WPA/WPA2 passphrase in four to ten hours, depending on the AP. In practice, it will generally take half this time to guess the correct WPS pin and recover the passphrase.
Password managers
KeePassXC is a fork from the cross platform password manager KeePassX. Since KeePassX suffers from slow development and rarely gets updated, KeePassXC should be preferred. It is published under the GNU GPL. Its file format is compatible with KeePass2 and KeePassX.
Terminal
- pass is a CLI password manager. It encrypts all of your passwords with GnuPG in the ~/.password_store file. One disadvantage is that it doesn't encrypt the folders it's in, meaning that if you store a password in privatewebsite.com/username, an attacker will know you have an account on privatewebsite.com - this shouldn't be an issue if your /home is encrypted and the computer is turned off. Overall it's very convienent, easy to use, safe, and utilizes the UNIX Philiosophy. Their website provides scripts for the migration from other password managers.
- pwsafe is another UNIX password manager that manages encrypted password databases. It is compatible with the Win32 program PasswordSafe.
Emulation and compatibility
Virtualization
VirtualBox is free and open source GPL software. It was first developed by Innotek GmbH, then bought by Sun Microsystems and now continually developed by Oracle.
Minimalist
QEMU (short for Quick EMUlator) is a FOSS emulator with multiple operating modes, and multiple supported architectures. Supports KVM, Xen and more for near native performance. Libvirt can be used to manage virtual machines easily, with the terminal front-end virsh, or a GUI frontend like virt-manager. QEMU is also the backend behind gnome-boxes.
DOS emulators
Compatibility layers
Windows
(See also: ReactOS)
Wine is a compatibility layer capable of running Windows applications. Instead of simulating internal Windows logic like a virtual machine or emulator, Wine translates Windows API calls into POSIX calls on-the-fly, eliminating the performance and memory penalties of other methods and allowing you to cleanly integrate Windows applications into your desktop.
PlayOnLinux is a frontend for Wine which can manage all your different Wine versions and prefixes as well as automatically resolve dependencies for your Windows applications. There's no reason to use Wine directly if you have this available.
OS X
- Darling is a translation layer that allows you to run unmodified OS X binaries on GNU/Linux platforms. In its nature, it is similar to the well-known Wine project. At this point, it is unlikely that Darling will run your favorite OS X application.
Game console emulators
Please see our article on Gaming on GNU/Linux Platforms.
Miscellaneous
Accounting
- GnuCash is personal and small-business financial-accounting software, freely licensed under the GNU GPL.
Coloration
- Redshift adjusts your screen's color temperature towards red at night.
Notetaking
- Zim is a graphical text editor used to maintain a collection of wiki-like note pages. Each page can contain links to other pages, simple formatting and images. Pages are stored in a folder structure, like in an outliner, and can have attachments. Creating a new page is as easy as linking to a nonexistent page. All data is stored in plain text files with wiki formatting. Various plugins provide additional functionality, like a task list manager, an equation editor, a tray icon, and support for version control.
Spreadsheets
- Gnumeric is an open-source spreadsheet program.
- sc is a free command-line spreadsheet calculator software that runs in the Unix operating system and its derivatives.
Stenography
Steganography
SSH
Main article: SSH
Screensavers
See: Screensavers
Launchy helps you navigate your start menu, programs, folders and more, amazingly fast, simply by typing in the name of your program and folder. Loads instantly by simply pressing a hotkey (default is alt+space). Customizable and allows you to add other things like website bookmarks and commands.
See also
- List of recommended macOS software
- List of recommended Windows software
- List of recommended Android software
External links
- Bloatware Alternatives - in places, outdated
- Prism Break - Lists software for different platforms that respect your freedom (and points out those which do not). Maintained by the EFF.
- Usesthis-interviews - all about what hardware and what software literally whos use for their
disgusting normieprofessions. Search "site:usesthis.com vim" to pwn people you disagree with.