Utilities

Terminal

Command shells

See the main article: Command-line shell.

See also Wikipedia:Comparison of command shells.

Terminal emulators

Terminal emulators show a GUI Window that contains a terminal. Most emulate Xterm, which in turn emulates VT102, which emulates typewriter. For further background information, see Wikipedia:Terminal emulator.

For a comprehensive list, see Wikipedia:List of terminal emulators.

  • Alacritty — A cross-platform, GPU-accelerated terminal emulator.

https://github.com/alacritty/alacritty || alacritty

  • aterm — Xterm replacement with transparency support. It has been deprecated in favour of urxvt since 2008.

http://www.afterstep.org/aterm.php || atermAUR

  • cool-retro-term — A good looking terminal emulator which mimics the old cathode display.

https://github.com/Swordfish90/cool-retro-term || cool-retro-term

  • CoreTerminal — Terminal emulator based on qtermwidget. Part of C-Suite.

https://cubocore.org/ || coreterminalAUR

  • CuteCom — A graphical serial terminal.

https://gitlab.com/cutecom/cutecom || cutecomAUR

  • Deepin Terminal — Terminal emulation application for Deepin desktop.

https://www.deepin.org/en/original/deepin-terminal/ || deepin-terminal

  • Eterm — Terminal emulator intended as a replacement for xterm and designed for the Enlightenment desktop.

https://github.com/mej/Eterm || etermAUR

  • foot — Lightweight terminal emulator for Wayland with sixel support

https://codeberg.org/dnkl/foot || foot

  • Hyper — A terminal with JS/CSS support. Based on the Electron platform.

https://github.com/zeit/hyper || hyperAUR

  • Konsole — Terminal emulator included in the KDE desktop.

https://konsole.kde.org/ || konsole

  • kitty — A modern, hackable, featureful, OpenGL based terminal emulator

https://github.com/kovidgoyal/kitty || kitty

  • Liri Terminal — Material Design terminal for Liri.

https://github.com/lirios/terminal || liri-terminal

  • mlterm — A multi-lingual terminal emulator supporting various character sets and encodings in the world.

https://sourceforge.net/projects/mlterm/ || mltermAUR

  • moserial — GTK-based serial terminal for the GNOME desktop.

https://wiki.gnome.org/Apps/Moserial || moserial

  • PuTTY — Highly configurable ssh/telnet/serial console program.

https://www.chiark.greenend.org.uk/~sgtatham/putty/ || putty

  • QTerminal — Lightweight Qt-based terminal emulator.

https://github.com/qterminal/qterminal || qterminal

  • rxvt — Popular replacement for xterm.

http://rxvt.sourceforge.net/ || rxvtAUR

  • shellinabox — A web-based SSH Terminal

https://github.com/shellinabox/shellinabox || shellinabox-gitAUR

  • st — Simple terminal implementation for X.

https://st.suckless.org || stAUR

  • Station — Terminal emulation features different view modes such as split vertically and horizontally, a tabbed interface, and copy and paste commands.

https://mauikit.org/ || maui-station

  • Terminology — Terminal emulator by the Enlightenment project team with innovative features: file thumbnails and media play like a media player.

https://www.enlightenment.org/about-terminology || terminology

  • urxvt — Highly extendable (with Perl) unicode enabled rxvt-clone terminal emulator featuring tabbing, url launching, a Quake style drop-down mode and pseudo-transparency.

http://software.schmorp.de/pkg/rxvt-unicode.html || rxvt-unicode

  • wayst — Simple terminal emulator for Wayland and X11 with OpenGL rendering and minimal dependencies.

https://github.com/91861/wayst || wayst-gitAUR

  • xterm — Simple terminal emulator for the X Window System. It provides DEC VT102 and Tektronix 4014 compatible terminals for programs that cannot use the window system directly.

https://invisible-island.net/xterm/ || xterm

  • Yakuake — Drop-down terminal (Quake style) emulator based on Konsole.

https://apps.kde.org/yakuake/ || yakuake

  • zutty — A high-end terminal for low-end systems.

https://tomscii.sig7.se/zutty/ || zutty

VTE-based

VTE (Virtual Terminal Emulator) is a widget developed during early GNOME days for use in the GNOME Terminal. It has since given birth to many terminals with similar capabilities.

  • Deepin Terminal (GTK version) — Old terminal emulation application for Deepin desktop.

https://github.com/linuxdeepin/deepin-terminal-gtk || deepin-terminal-gtk

  • EasySSH — SSH Connection Manager.

https://github.com/muriloventuroso/easyssh || easysshAUR

  • Germinal — Minimalist terminal emulator which provides a borderless maximized terminal, attached to a tmux session by default, hence providing tabs and panels.

https://www.imagination-land.org/tags/germinal.html || germinalAUR

  • Gnome Console — Formerly known as King’s Cross, a simple user-friendly terminal emulator for the GNOME desktop.

https://gitlab.gnome.org/GNOME/console || gnome-console

  • GNOME Terminal — A terminal emulator included in the GNOME desktop with support for Unicode.

https://wiki.gnome.org/Apps/Terminal || gnome-terminal

  • Guake — Drop-down terminal for the GNOME desktop.

http://guake-project.org/ || guake

  • kermit — A VTE-based terminal emulator that aims to be simple, fast and effective.

https://github.com/orhun/kermit || kermitAUR

  • LXTerminal — Desktop independent terminal emulator for LXDE.

https://wiki.lxde.org/en/LXTerminal[dead link 2022-09-20 ⓘ] || lxterminal

https://www.mate-desktop.org/ || mate-terminal

  • Pantheon Terminal — A super lightweight, beautiful, and simple terminal emulator. It is designed to be setup with sane defaults and little to no configuration.

https://github.com/elementary/terminal || pantheon-terminal

  • ROXTerm — Tabbed terminal emulator with a small footprint.

https://roxterm.sourceforge.net/ || roxtermAUR

  • sakura — Terminal emulator based on GTK and VTE.

https://www.pleyades.net/david/projects/sakura || sakuraAUR

  • Terminator — Terminal emulator supporting multiple resizable terminal panels.

https://gnome-terminator.org/ || terminator

  • Termite — Keyboard-centric VTE-based terminal, aimed at use within a window manager with tiling and/or tabbing support. Unmaintained - the developers recommend switching to Alacritty.

https://github.com/thestinger/termite || termiteAUR

  • Termit — Simple VTE-based terminal emulator with Lua scripting support

https://github.com/nonstop/termit || termit-gitAUR

  • Tilda — Configurable drop down terminal emulator.

https://github.com/lanoxx/tilda/ || tilda

  • Tilix — Tiling terminal emulator for GNOME.

https://gnunn1.github.io/tilix-web/ || tilix

  • Xfce Terminal — Terminal emulator included in the Xfce desktop with support for a colorized prompt and a tabbed interface.

https://docs.xfce.org/apps/terminal/start || xfce4-terminal

KMS-based

The following terminal emulators are based on the kernel mode setting that could be invoked without X.

  • KMSCON — A KMS/DRM-based system console(getty) with an integrated terminal emulator for Linux operating systems.

https://github.com/dvdhrm/kmscon || kmscon

framebuffer-based

In the GNU/Linux world, the framebuffer can refer to a virtual device in the Linux kernel (fbdev) or the virtual framebuffer system for X (xvfb). This section mainly lists the terminal emulators based on the in-kernel virtual device, i.e. fbdev.

  • yaft — A simple terminal emulator for living without X, with UCS2 glyphs, wallpaper and 256color support.

https://github.com/uobikiemukot/yaft || yaftAUR

  • FbTerm — a fast FrameBuffer based TERMinal emulator for linux

https://salsa.debian.org/debian/fbterm || fbtermAUR

See also Wikipedia:Terminal pager.

  • less — A program similar to more, but with support for both forward and backward scrolling, as well as partial loading of files.

https://www.gnu.org/software/less/ || less

  • mcview — A pager with mouse and colour support. It is bundled with midnight commander.

https://midnight-commander.org/ || mc

  • moar — Moar is a pager. It's designed to just do the right thing without any configuration.

https://github.com/walles/moar || moarAUR

  • more — A simple and feature-light pager. It is a part of util-linux.

https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git/about/ || util-linux

  • most — A pager with support for multiple windows, left and right scrolling, and built-in colour support

http://www.jedsoft.org/most/ || most

  • Vim can also be used as a pager.

Terminal multiplexers

See also Wikipedia:Terminal multiplexer.

  • abduco — Tool for session attach and detach support which allows a process to run independently from its controlling terminal.

https://www.brain-dump.org/projects/abduco/ || abduco

  • byobu — An GPLv3 licensed addon for tmux or screen. It requires a terminal multiplexer installed.

https://byobu.org/ || byobu

  • dtach — Program that emulates the detach feature of GNU Screen.

http://dtach.sourceforge.net/ || dtachAUR

  • dvtm — dwm-style window manager in the console.

https://www.brain-dump.org/projects/dvtm/ || dvtm

  • GNU Screen — Full-screen window manager that multiplexes a physical terminal.

https://www.gnu.org/software/screen/ || screen

  • mtm — Simple terminal multiplexer with just four commands: change focus, split, close, and screen redraw.

https://github.com/deadpixi/mtm || mtm-gitAUR

  • tmux — BSD licensed terminal multiplexer.

https://tmux.github.io/ || tmux

  • zellij — Terminal multiplexer on steroids written in Rust

https://zellij.dev/ || zellij

  • wezterm — GPU-accelerated cross-platform terminal emulator and multiplexer implemented in Rust.

https://wezfurlong.org/wezterm/ || wezterm

Tip: Kitty, a terminal emulator, offers similar functions.

Files

File managers

See also Wikipedia:Comparison of file managers.

Console

  • Clex — File manager with full-screen user interface

http://www.clex.sk/ || clexAUR

  • CliFM — The command line file manager: full-featured, fast, extensible, and lightweight as hell.

https://github.com/leo-arch/clifm || clifmAUR

  • ded — directory editor, file manager similar to Emacs dired

https://invisible-island.net/ded/ded.html || dedAUR

  • Dired — Directory editor integrated with Emacs.

https://www.gnu.org/software/emacs/manual/html_node/emacs/Dired.html || emacs

  • fff — A simple file manager written in Bash.

https://github.com/dylanaraps/fff || fff

  • fm — A terminal based file manager.

https://github.com/knipferrc/fm || fm-gitAUR

  • joshuto — ranger-like terminal file manager written in Rust.

https://github.com/kamiyaa/joshuto || joshuto-gitAUR

  • Last File Manager — Powerful file manager written in Python 3 with a curses interface.

https://inigo.katxi.org/devel/lfm/ || lfmAUR

  • lf — Terminal file manager written in Go using server/client architecture.

https://github.com/gokcehan/lf || lf

  • Midnight Commander — Console-based, dual-paneled file manager.

https://midnight-commander.org || mc

  • nffm — "Nothing Fancy File Manager", a mouseless ncurses file manager written in C.

https://github.com/mariostg/nffm || nffm-gitAUR

  • nnn — Tiny, lightning fast, feature-packed file manager.

https://github.com/jarun/nnn || nnn

  • Pilot — File manager that comes with the Alpine email client.

https://alpine.x10host.com/[dead link 2022-09-20 ⓘ] || alpine-gitAUR

  • Ranger — Console-based file manager with vi bindings, customizability, and lots of features.

https://ranger.github.io/ || ranger

  • sfm — simple file manager for unix-like systems.

https://github.com/afify/sfm || sfmAUR

  • TUIFI Manager — A cross-platform terminal-based termux-oriented file manager (and component), meant to be used with a Uni-Curses project or as is.

https://github.com/GiorgosXou/TUIFIManager || tuifimanagerAUR

  • Vifm — Ncurses-based two-panel file manager with vi-like keybindings.

https://vifm.info || vifm

  • xplr — A hackable, minimal, fast TUI file explorer.

https://xplr.dev || xplr

Graphical

  • Caja — The file manager for the MATE desktop.

https://github.com/mate-desktop/caja || caja

  • CoreFM — Simple lightweight easy to use file manager with many features like image previews, mime-icon support, split view, auto-mounting of removable media, drag-n-drop support etc. Part of C-Suite.

https://cubocore.org/ || corefmAUR

  • Deepin File Manager — File manager developed for Deepin.

https://www.deepin.org/en/original/dde-file-manager/ || deepin-file-manager

  • Dolphin — File manager included in the KDE desktop.

https://apps.kde.org/dolphin/ || dolphin

  • fm — Small, general purpose file manager built with GTK4.

https://github.com/euclio/fm ||

  • Gentoo — A lightweight file manager for GTK.

https://sourceforge.net/projects/gentoo/ || gentooAUR

  • GNOME Files — Extensible, heavyweight file manager used by default in GNOME with support for custom scripts.

https://wiki.gnome.org/Apps/Files || nautilus

  • Index — File manager that lets you browse your system files and applications and preview your music, text, image and video files and share them with external applications.

https://apps.kde.org/index-fm/ || index-fm

  • Konqueror — File manager and web browser for the KDE desktop.

https://apps.kde.org/konqueror/ || konqueror

  • Liri Files — The file manager for Liri.

https://github.com/lirios/files || liri-files

  • Nemo — Nemo is the file manager of the Cinnamon desktop. A fork of Nautilus.

https://projects.linuxmint.com/cinnamon/ || nemo

  • Pantheon Files — File browser designed for elementary OS.

https://github.com/elementary/files || pantheon-files

  • PathFinder — File browser that comes with the FOX toolkit.

http://fox-toolkit.org/ || fox

  • PCManFM — Very fast and lightweight file manager which can also optionally manage the desktop icons and background.

https://wiki.lxde.org/en/PCManFM[dead link 2022-09-20 ⓘ] || pcmanfm, pcmanfm-gtk3

  • PCManFM-Qt — Qt port of PCManFM file manager.

https://github.com/lxqt/pcmanfm-qt || pcmanfm-qt

  • Peony — File manager for the UKUI desktop.

https://github.com/ukui/peony || peony

  • qtFM — Small, lightweight filemanager for Linux desktops based on pure Qt.

https://qtfm.eu/ || qtfmAUR

  • ROX Filer — Small and fast file manager which can optionally manage the desktop background and panels.

https://rox.sourceforge.net/ || rox

  • Thunar — File manager that can be run as a daemon with excellent start up and directory load times.

https://docs.xfce.org/xfce/thunar/start || thunar

Twin-panel

Note that some of these twin-panel file managers can also be set to have only one pane.

  • Double Commander — File manager with two panels side by side. It is inspired by Total Commander and features some new ideas.

https://doublecmd.sourceforge.io/ || GTK: doublecmd-gtk2, Qt5: doublecmd-qt5

  • emelFM2 — File manager that implements the popular two-panel design.

https://emelfm2.net/ || emelfm2

https://gcmd.github.io/ || gnome-commanderAUR

  • Krusader — Advanced twin panel (Midnight Commander style) file manager for the KDE desktop.

https://krusader.org/ || krusader

  • muCommander — A lightweight, cross-platform file manager with a dual-pane interface written in Java.

https://www.mucommander.com/ || mucommanderAUR

  • SpaceFM — GTK multi-panel tabbed file manager.

https://ignorantguru.github.io/spacefm/ || spacefmAUR

  • Sunflower — Small and highly customizable twin-panel file manager for Linux with support for plugins.

https://sunflower-fm.org/ || sunflowerAUR

  • trolCommander — Lightweight, dual-pane file manager written in Java. Fork of muCommander.

https://github.com/trol73/mucommander || trolcommanderAUR

  • Tux Commander — Windowed file manager with two panels side by side similar to popular Total Commander or Midnight Commander file managers.

http://tuxcmd.sourceforge.net/description.php || tuxcmdAUR

  • Worker — Fast, lightweight and feature-rich file manager for the X Window System.

http://www.boomerangsworld.de/cms/worker/ || workerAUR

  • Xfe — Microsoft Explorer-like file manager for X (X File Explorer).

http://roland65.free.fr/xfe/ || xfeAUR

Trash management

See Trash management#Trash creation.

File synchronization and backup

See also Synchronization and backup programs, Wikipedia:Comparison of file synchronization software, and Wikipedia:Comparison of backup software.

  • borg — Deduplicating backup program with compression and authenticated encryption that supports backing up over ssh

https://www.borgbackup.org || borg

  • Déjà Dup — Simple GTK backup program. It hides the complexity of doing backups the 'right way' (encrypted, off-site, and regular) and uses duplicity as the backend.

https://launchpad.net/deja-dup || deja-dup

  • DirSync Pro — Small, but powerful utility for file and folder synchronization.

https://dirsyncpro.org/ || dirsyncproAUR

  • Duplicati — Backup client that securely stores encrypted, incremental, compressed backups on cloud storage services and remote file servers.

https://www.duplicati.com/ || duplicati-canary-binAUR

  • duplicity — Simple command-line utility which allows encrypted compressed incremental backup to nearly any storage.

https://www.nongnu.org/duplicity/ || duplicity

  • Duply — Command-line front-end for duplicity which simplifies running it. It manages backup job settings in profiles and allows to batch execute commands.

https://www.duply.net/ || duplyAUR

  • FreeFileSync — Folder comparison and synchronization software that creates and manages backup copies of all your important files.

https://www.freefilesync.org/ || freefilesyncAUR

  • git-annex — Manage files with git, without checking the file contents into git.

https://git-annex.branchable.com/ || git-annex

  • grsync — GTK+ GUI for rsync to synchronize folders, files and make backups

https://www.opbyte.it/grsync/ || grsync

  • hsync — Command line program to sync only those files that have been renamed/moved but otherwise unchanged. It works by issuing simple move operations at the destination without actually transferring the files, and is meant to be used in conjunction with other synchronization programs that lack this capability.

https://ambrevar.bitbucket.io/hsync/ || hsyncAUR

  • rclone — Command line program to sync files and directories to and from Amazon S3, Dropbox, Google Drive, Microsoft OneDrive, Yandex Disk and many other cloud storage services as well as between local paths.

https://rclone.org/ || rclone

  • restic — Fast, secure, efficient backup program that supports backing up to many cloud services.

https://restic.net/ || restic

  • rsync — File transfer program that uses the "rsync algorithm" which provides a very fast method for bringing remote files into sync. It does this by sending just the differences in the files across the link, without requiring that both sets of files are present at one of the ends of the link beforehand. Has multiple frontends available.

https://rsync.samba.org/ || rsync

  • SparkleShare — File sharing and collaboration application written in C#. It can sync with any Git server over SSH.

https://www.sparkleshare.org/ || sparkleshare

  • Syncthing — Continuous file synchronization program. It synchronizes files between two or more computers in a simple way without advanced configuration.

https://syncthing.net/ || syncthing

  • Syncany — Cloud storage and filesharing application with a focus on security and abstraction of storage.

https://www.syncany.org/ || syncanyAUR

  • Synkron — Application that helps you keep your files and folders always updated. You can easily sync your documents, music or pictures to have their latest versions everywhere.

https://synkron.sourceforge.net/ || synkronAUR

  • Tarsnap — Secure, efficient proprietary online backup service.

https://www.tarsnap.com/ || tarsnap

  • Timeshift — A system restore tool for Linux.

https://github.com/teejee2008/timeshift || timeshiftAUR

  • Unison — File synchronization tool that allows two replicas of a collection of files and directories to be stored on different hosts (or different disks on the same host), modified separately, and then brought up to date by propagating the changes in each replica to the other.

https://www.cis.upenn.edu/~bcpierce/unison/ || unison

  • YARsync — A Python wrapper around rsync, providing file synchronization and backup with an interface similar to git.

https://github.com/ynikitenko/yarsync || yarsyncAUR

Archiving and compression tools

For archiving and compression command-line tools, see Archiving and compression.

Archive managers

  • 360zip — A proprietary archiving tool.

https://yasuo.360.cn/ || 360zipAUR

  • Ark — Archiving tool included in the KDE desktop.

https://apps.kde.org/ark/ || ark

  • Arqiver — Simple Qt archive manager based on libarchive.

https://github.com/tsujan/Arqiver || arqiver-gitAUR

  • CoreArchiver — Simple file compressing/extracting utility based on Qt and libarchive-qt. Part of C-Suite.

https://cubocore.org/ || corearchiverAUR

  • Deepin Archive Manager — Fast and lightweight application for creating and extracting archives.

https://github.com/linuxdeepin/deepin-compressor || deepin-compressor

  • Engrampa — Archive manager for MATE

https://github.com/mate-desktop/engrampa || engrampa

https://wiki.gnome.org/Apps/FileRoller || file-roller

  • LXQt File Archiver — Simple and lightweight desktop-agnostic Qt file archiver.

https://github.com/lxqt/lxqt-archiver || lxqt-archiver

  • p7zip-gui — The GUI belonging to the p7zip software.

https://p7zip.sourceforge.net/ || p7zip-guiAUR

  • PeaZip — Open source file and archive manager.

https://peazip.github.io/peazip-linux.html || GTK: peazip-gtk2-binAUR, Qt: peazip-qt-binAUR

  • Xarchiver — Lightweight desktop independent archive manager built with GTK.

https://github.com/ib/xarchiver || GTK 3: xarchiver, GTK 2: xarchiver-gtk2

Comparison, diff, merge

See also Wikipedia:Comparison of file comparison tools.

For managing pacnew/pacsave files, specialised tools exist. See Pacnew and Pacsave files#Managing .pac* files.

Console

See diff(1) from diffutils and its alternatives.

  • colordiff — A Perl script wrapper for 'diff' that produces the same output but with pretty 'syntax' highlighting.

https://www.colordiff.org/ || colordiff

  • diff-highlight — Perl script to highlight changed parts within pairable lines of diff -u output

https://github.com/git/git/tree/master/contrib/diff-highlight || git

  • diffr — A Rust utility to pretty-print diff with highlighting at word-level for ease of review.

https://github.com/mookid/diffr || diffrAUR

  • ydiff — A Python wrapper to get highlighted diff output from stdin or VCS-tracked file/dirs, in either unfied or side-by-side view.

https://github.com/ymattw/ydiff || ydiffAUR

  • delta — A diff viewer written in Rust with syntax highlighting.

https://github.com/dandavison/delta || git-delta

  • diff-so-fancy — A diff output decorator. It does not calculate the diff, it only decorates it.

https://github.com/so-fancy/diff-so-fancy || diff-so-fancy

  • difftastic — Compares files using their syntax trees

https://difftastic.wilfred.me.uk || difftastic

Graphical

  • DiffPDF — Compare the text or the visual appearance of each page in two PDF files.

https://gitlab.com/eang/diffpdf || diffpdf

  • Diffuse — Small and simple text merge tool written in Python.

https://diffuse.sourceforge.net/ || diffuse

  • KDiff3 — File and directory diff and merge tool for the KDE desktop.

https://apps.kde.org/kdiff3/ || kdiff3

  • Kompare — GUI front-end program for viewing and merging differences between source files. It supports a variety of diff formats and provides many options to customize the information level displayed.

https://apps.kde.org/kompare/ || kompare

  • Meld — Visual diff and merge tool that can compare files, directories, and version controlled projects.

https://meldmerge.org/ || meld

  • xxdiff — A graphical browser for file and directory differences.

https://furius.ca/xxdiff/ || xxdiffAUR

Vim and Emacs provide merge functionality with vimdiff and ediff.

Batch renamers

Console

See rename(1) from util-linux.

  • edir — Rename, delete, and copy files and directories using your editor (enhanced vidir).

https://github.com/bulletmark/edir || edirAUR

  • f2 — Cross-platform command-line tool for batch renaming files and directories quickly and safely, can also rename files based on audio tags.

https://github.com/ayoisaiah/f2 || f2AUR

  • nomino — A batch rename utility for developers.

https://github.com/yaa110/nomino || nominoAUR

  • rename.pl — Batch renamer based on perl regex.

https://search.cpan.org/~pederst/rename/ || perl-rename

  • vidir — Rename and delete files and directories using your editor.

https://linux.die.net/man/1/vidir || vidirAUR

Graphical

  • Caja-Rename — Batch renaming extension for Caja.

https://tari.in/www/software/caja-rename || caja-renameAUR

  • CoreRenamer — Simple lightweight batch file renamer application. Part of C-Suite.

https://cubocore.org/ || corerenamerAUR

  • GPRename — GTK batch renamer for files and directories.

http://gprename.sourceforge.net || gprename

  • KRename — Very powerful batch file renamer for the KDE desktop.

https://apps.kde.org/krename/ || krename

  • metamorphose2 — wxPython based batch renamer with support for regular expressions, renaming multimedia files according to their metadata, etc.

http://file-folder-ren.sourceforge.net || metamorphose2AUR

  • Thunar Bulk Rename — Change the name of multiple files at once using some criterion that applies to at least one of the files. Run with thunar -B.

https://docs.xfce.org/xfce/thunar/bulk-renamer/start || thunar

File searching

This section lists utilities for file searching based on filename, file path or metadata. For full-text searching, see the next section.

See also Wikipedia:List of search engines#Desktop search engines.

Console

See find(1) from findutils and its alternatives.

Graphical

  • Catfish — Versatile file searching tool by Xfce, can be powered by find, locate and Zeitgeist.

https://launchpad.net/catfish-search || catfish

  • CoreHunt — Easy to use fast file searching tool with categorized search and search history. Part of C-Suite.

https://cubocore.org/ || corehuntAUR

  • Czkawka — GTK file searching utility with advanced features, it can also find similar images and videos.

https://github.com/qarmin/czkawka || czkawka-guiAUR

  • GNOME Search Tool — GNOME utility to search for files, depends on GNOME/Files.

https://gitlab.gnome.org/GNOME/gnome-search-tool || gnome-search-toolAUR

  • KFind — Search tool for KDE to find files by name, type or content. Has internal search and supports locate.

https://apps.kde.org/kfind/ || kfind

  • MATE Search Tool — MATE utility to search for files.

https://github.com/mate-desktop/mate-utils || mate-utils

  • regexxer — Interactive search and replace tool featuring Perl-style regular expressions.

http://regexxer.sourceforge.net/ || regexxer

  • Searchmonkey — Powerful GUI search utility for matching regex patterns.

https://sourceforge.net/projects/searchmonkey/ || searchmonkey-gtkAUR

File indexers

These programs index your files to allow for quick searching.

  • Basenji — Volume indexing tool designed for easy and fast indexing of CD/DVD and other type of volume collections.

https://github.com/pulb/basenji || basenjiAUR

  • fsearch — A fast file search utility for Unix-like systems based on GTK 3.

https://github.com/cboxdoerfer/fsearch || fsearch-gitAUR

  • angrysearch — Linux file search tool with instant results as you type.

https://github.com/DoTheEvo/ANGRYsearch || angrysearchAUR

Full-text searching

See grep(1) from grep and its alternatives, which provide non-indexed full-text search.

Full-text indexers

  • Baloo — KDE's file indexing and search solution, has a CLI and is used by KRunner.

https://community.kde.org/Baloo || baloo

  • DocFetcher — Graphical Java desktop search application.

https://docfetcher.sourceforge.net || docfetcherAUR

  • MeiliSearch — Lightning Fast, Ultra Relevant, and Typo-Tolerant Search Engine.

https://www.meilisearch.com/ || meilisearch

  • Namazu — A Full-Text Search Engine

http://www.namazu.org/ || namazu

  • Recoll — Full text search tool based on Xapian, has CLI and GUI.

https://lesbonscomptes.com/recoll/ || recoll

  • Tracker — All-in-one indexer, search tool and metadata database, used by GNOME Documents, Music, Photos and Videos.

https://gnome.pages.gitlab.gnome.org/tracker/ || tracker3

  • Zeitgeist — Event aggregation framework for the user's activities and notifications (files opened, websites visited, conversations had, etc.), has several third-party front-ends.

https://launchpad.net/zeitgeist-project || zeitgeist

Development

Code forges

  • GitLab — Project management and code hosting application.

https://gitlab.com/gitlab-org/gitlab-foss || gitlab

  • Gitea — Painless self-hosted Git service. Community managed fork of Gogs.

https://gitea.io || gitea

  • Onedev — A self-hosted Git server with CI/CD and Kanban

https://code.onedev.io/onedev/server || onedevAUR

Code forge clients

  • git-open — Open a repository website (GitHub, GitLab, Bitbucket) in your browser

https://github.com/paulirish/git-open || git-openAUR

  • github-cli — GitHub's official command line tool

https://github.com/cli/cli || github-cli

  • hub — Command line interface for GitHub

https://hub.github.com || hub

  • lab — A hub-like tool for GitLab

https://zaquestion.github.io/lab/ || lab-binAUR

  • snippet — A terminal based interface to create a new GitLab snippet

https://gitlab.com/zj/snippet || snippetAUR

Version control systems

See also Wikipedia:Comparison of revision control software.

  • Bazaar — Distributed version control system that helps you track project history over time and to collaborate easily with others.

https://bazaar.canonical.com/ || bzrAUR

  • CVS — Concurrent Versions System, a client-server revision control system.

http://cvs.nongnu.org/ || cvs

  • Darcs — Distributed revision control system that was designed to replace traditional, centralized source control systems such as CVS and Subversion.

http://darcs.net/ || darcs

  • Fossil — Distributed VCS with bug tracking, wiki, forum, and technotes.

https://www.fossil-scm.org/ || fossil

  • Git — Distributed revision control and source code management system with an emphasis on speed.

https://git-scm.com/ || git

  • Mercurial — Distributed version control system written in Python and similar in many ways to Git.

https://www.mercurial-scm.org/ || mercurial

  • Subversion — Full-featured centralized version control system originally designed to be a better CVS.

https://subversion.apache.org/ || subversion

Build automation

See also Wikipedia:List of build automation software.

  • Apache Ant — Java library and command-line tool whose mission is to drive processes described in build files as targets and extension points dependent upon each other.

https://ant.apache.org/ || ant

  • Apache Maven — Build automation tool used primarily for Java.

https://maven.apache.org/ || maven

  • Bazel — An open-source tool that allows for the automated building and testing of software.

https://bazel.build/ || bazel

  • CMake — Family of tools designed to build, test and package software.

https://cmake.org/ || cmake

  • GNU make — GNU make utility to maintain groups of programs.

https://www.gnu.org/software/make/ || make (dependency of base-devel)

  • Meson — Extremely fast and user friendly build system.

https://mesonbuild.com/ || meson

  • Gradle — Powerful build system for the JVM.

https://gradle.org/ || gradle

  • Phing — PHP program designed to automate tasks of all kinds.

https://www.phing.info/ || phingAUR

Integrated development environments

See also Wikipedia:Comparison of integrated development environments.

For PHP specific list, see PHP#Development tools.

  • Android Studio — The official Android development environment based on IntelliJ IDEA.

https://developer.android.com/studio/index.html || android-studioAUR

  • Anjuta — Versatile IDE with project management, an application wizard, an interactive debugger, a source editor, version control support and many more tools.

http://anjuta.org/ || anjutaAUR

  • Aptana Studio — IDE based on Eclipse, but geared towards web development, with support for HTML, CSS, Javascript, Ruby on Rails, PHP, Adobe AIR and others.

http://www.aptana.com/ || aptana-studioAUR

  • Bluefish — Powerful editor targeted towards programmers and webdevelopers, with many options to write websites, scripts and programming code. It supports many programming and markup languages.

https://bluefish.openoffice.nl/ || bluefish

  • Code::Blocks — C, C++ and Fortran IDE built to meet the most demanding needs of its users. It is designed to be very extensible and fully configurable.

https://codeblocks.org/ || codeblocks

  • CLion — A cross-platform IDE for C and C++.

https://www.jetbrains.com/clion/ || clionAUR

  • CodeLite — Open source and cross-platform C/C++/PHP and Node.js IDE written in C++ .

https://codelite.org/ || codeliteAUR

  • Eclipse — IDE for Java, C/C++, PHP, Perl and Python with subversion support and task management.

https://www.eclipse.org/ || Java EE: eclipse-jeeAUR, Java: eclipse-javaAUR, RCP: eclipse-rcpAUR, C/C++: eclipse-cppAUR, PHP: eclipse-phpAUR, JavaScript and Web: eclipse-dltk-javascriptAUR

  • Eric — Full-featured Python and Ruby IDE written in PyQt5.

https://eric-ide.python-projects.org/ || ericAUR

  • Gambas — IDE based on a Basic interpreter with object extensions.

https://gambas.sourceforge.net/en/main.html || gambas3-ide

  • Geany — Small and lightweight IDE with many supported many programming and markup languages including C, Java, PHP, HTML, Python, Perl, Pascal.

https://geany.org/ || geany

  • GNOME Builder — Tool to write and contribute to great GNOME-based applications.

https://wiki.gnome.org/Apps/Builder || gnome-builder

  • KDevelop — Feature-full, plugin extensible IDE for C/C++ and other programming languages.

https://www.kdevelop.org/ || kdevelop

https://www.activestate.com/products/komodo-edit/ || komodo-editAUR

  • Lazarus — Delphi (Object Pascal) compatible IDE for Rapid Application Development. It has variety of components ready for use and a graphical form designer to easily create complex graphical user interfaces.

https://www.lazarus-ide.org/ || lazarus

  • LiteIDE — Simple Go IDE.

https://github.com/visualfc/liteide || liteide

  • MPLAB — IDE for Microchip PIC and dsPIC development.

https://www.microchip.com/mplabx || microchip-mplabx-binAUR

  • Netbeans — IDE for developing with Java, JavaScript, PHP, Python, Ruby, Groovy, C, C++, Scala, Clojure, and other languages.

https://netbeans.org/ || netbeans

  • PhpStorm — JetBrains PhpStorm is a commercial, cross-platform IDE for PHP built on JetBrains' IntelliJ IDEA platform, providing an editor for PHP, HTML and JavaScript with on-the-fly code analysis, error prevention and automated refactorings for PHP and JavaScript code.

https://www.jetbrains.com/phpstorm/ || phpstormAUR, phpstorm-eapAUR

  • Qt Creator — Lightweight, cross-platform C++ integrated development environment with a focus on Qt.

https://www.qt.io/ide/ || qtcreator

  • Theia — Eclipse Theia is a free and open-source IDE for desktop and web applications. It is implemented in TypeScript, is based on Visual Studio Code, and emphasizes extensibility. It can be run as a web or a desktop application.

https://theia-ide.org/ || theia-electronAUR

  • Visual Studio Code — Visual Studio Code is a cross-platform, free and open-source text editor developed by Microsoft, written in JavaScript and TypeScript. It supports a variety of languages thanks to its extensions.

https://code.visualstudio.com/ || code, visual-studio-code-binAUR

  • VSCodium — Free/Libre Open Source Software Binaries of VSCode.

https://vscodium.com/ || vscodiumAUR

  • ZeroBrane Studio — IDE with debugging support for Lua 5.1, Lua 5.2, Lua 5.3, LuaJIT, and other Lua engines.

https://studio.zerobrane.com/ || zerobrane-studioAUR

Java IDEs

  • BlueJ — Fully featured Java IDE used mainly for educational and beginner purposes.

https://bluej.org/ || bluejAUR

  • IntelliJ IDEA — IDE for Java, Groovy and other programming languages with advanced refactoring features.

https://www.jetbrains.com/idea/ || intellij-idea-community-edition

Python IDEs

https://ninja-ide.org/ || ninja-ideAUR

  • PyCharm — Python IDE with support for code analysis, debugging, unit testing, version control and web development with Django.

https://www.jetbrains.com/pycharm/ || community edition: pycharm-community-edition, professional edition: pycharm-professionalAUR, edu edition: pycharm-eduAUR

  • Spyder — Scientific Python Development Environment providing MATLAB-like features.

https://github.com/spyder-ide/spyder || spyder

  • Thonny — Python IDE for beginners.

https://thonny.org/ || thonnyAUR

  • WingIDE — Proprietary Python development environment. It is fully featured and meant for professional use.

https://wingware.com/ || wingideAUR

Educational IDEs

  • KTurtle — Educational programming environment that aims to make learning how to program as easily as possible. Part of kde-education.

https://apps.kde.org/kturtle/ || kturtle

  • Processing — Playground for teaching non-programmers the fundamentals of computer programming in a visual context.

https://processing.org/ || processingAUR

  • Scratch — Programming system and content development tool for educational and entertainment purposes, such as creating interactive projects and simple sprite-based games. It is used primarly by unskilled users (such as children) as an entry to event-driven programming.

https://scratch.mit.edu/ || scratch

Debuggers

  • Accerciser — Interactive Python accessibility explorer. It uses the AT-SPI library to inspect, examine, and interact with widgets, allowing you to check if an application is providing correct information to assistive technologies and automated testing frameworks.

https://wiki.gnome.org/Apps/Accerciser || accerciser

  • Bustle — Draws sequence diagrams of D-Bus activity. It shows signal emissions, method calls and their corresponding returns, with time stamps for each individual event and the duration of each method call.

https://www.freedesktop.org/wiki/Software/Bustle/ || bustle-gitAUR

https://www.gnu.org/software/ddd/ || dddAUR

  • Desed — TUI-based debugger for sed. Features variable and regex preview, setting breakpoints and stepping back and forth.

https://github.com/SoptikHa2/desed || desedAUR

  • D-Feet — Easy to use D-Bus debugger to inspect D-Bus interfaces of running programs and invoke methods on those interfaces.

https://wiki.gnome.org/Apps/DFeet || d-feet

  • GammaRay — Qt-application inspection and manipulation tool.

https://www.kdab.com/development-resources/qt-tools/gammaray/ || gammaray

  • GDBFrontend — Easy, flexible and extensible graphical debugger.

https://github.com/rohanrhu/gdb-frontend || gdb-frontend-binAUR

  • KCachegrind — Profile data visualization tool, used to determine the most time consuming execution parts of program.

https://apps.kde.org/kcachegrind/ || KDE: kcachegrind, Qt: qcachegrind

  • KDbg — Graphical user interface to GDB, the GNU debugger. It provides an intuitive interface for setting breakpoints, inspecting variables, and stepping through code.

https://www.kdbg.org/ || kdbg

  • Massif-Visualizer — Visualizer for Valgrind Massif data files.

https://apps.kde.org/massif-visualizer/ || massif-visualizer

  • Nemiver — Easy to use standalone C/C++ debugger (GDB front-end) that integrates well in the GNOME environment.

https://wiki.gnome.org/Apps/Nemiver || nemiverAUR

  • Qt QDbusViewer — Tool to introspect D-Bus objects and messages.

https://doc.qt.io/qt-5/qdbusviewer.html || qt5-tools

  • scanmem — Debugging utility designed to isolate the address of an arbitrary variable in an executing process.

https://github.com/scanmem/scanmem || CLI: scanmem, GUI: gameconqueror

  • Sysprof — Profiling tool that helps in finding the functions in which a program uses most of its time.

https://wiki.gnome.org/Apps/Sysprof || sysprof

Lexing and parsing

Lex and Yacc are part of POSIX.

  • flex — A tool for generating text-scanning programs, alternative to Lex.

https://github.com/westes/flex || flex

  • Berkeley Yacc — Berkeley reimplementation of the Unix parser generator Yacc.

https://invisible-island.net/byacc/ || byacc

  • GNU Bison — The GNU general-purpose parser generator, alternative to byacc.

https://www.gnu.org/software/bison/ || bison

And then there are also:

  • ANTLR — Parser generator, written in Java, for parsing structured text or binary files.

https://www.antlr.org/ || antlr4

  • LPeg — Pattern-matching library, based on PEGs, for Lua.

http://www.inf.puc-rio.br/~roberto/lpeg/ || lua-lpeg, lua52-lpeg, lua51-lpeg

  • peg/leg — Recursive-descent parser generators for C.

https://www.piumarta.com/software/peg/ || peg

  • Ragel — Compiles finite state machines from regular languages into executable C, C++, Objective-C, or D code.

https://www.colm.net/open-source/ragel/ || ragel

GUI builders

  • FLUID — FLTK GUI designer.

https://www.fltk.org/ || fltk

  • Glade — Create or open user interface designs for GTK applications.

https://glade.gnome.org/ || glade

  • KUIViewer — Quick viewer for Qt Designer UI File.

https://apps.kde.org/kuiviewer/ || kde-dev-utils

  • Qt Designer — Tool for designing and building graphical user interfaces (GUIs) with Qt Widgets.

https://doc.qt.io/qt-5/qtdesigner-manual.html || qt5-tools

Hex editors

See also Wikipedia:Comparison of hex editors.

  • Bless — High quality, full featured hex editor.

https://web.archive.org/web/20170503150524/http://home.gna.org/bless/ || bless

  • GHex — Hex editor for GNOME, which allows the user to load data from any file, view and edit it in either hex or ascii.

https://wiki.gnome.org/Apps/Ghex || ghex

  • hyx — A minimalistic (< 2300 lines of C) but powerful (hex/ASCII, insert/replace/delete, copy/paste, undo/redo, search, colors, vim-inspired controls) Linux terminal hex editor.

https://yx7.cc/code/ || hyxAUR

  • ImHex — A hex editor for reverse engineers, programmers, and people who value their retinas when working at 3 AM.

https://imhex.werwolv.net/ || imhexAUR

  • Okteta — KDE hex editor for viewing and editing the raw data of files.

https://apps.kde.org/okteta/ || okteta

  • Reverse Engineer's Hex Editor — Hex editor with features for analyzing and annotating binary file formats

https://github.com/solemnwarning/rehex || rehexAUR

  • wxHexEditor — Hex editor for large files with advanced features such as raw memory and disk editing capabilities.

https://www.wxhexeditor.org/ || wxhexeditorAUR

JSON tools

  • gron — gron transforms JSON into discrete assignments to make it easier to grep.

https://github.com/tomnomnom/gron || gron

  • jid — JSON incremental digger

https://github.com/simeji/jid || jidAUR

  • jo — A command to create JSON.

https://github.com/jpmens/jo || jo-gitAUR

  • jq — Command-line JSON processor

https://stedolan.github.io/jq/ || jq

  • jshon — A JSON parser for the shell.

http://kmkeen.com/jshon/ || jshon

  • the Elvish shell has built-in support for JSON

Literate programming

See also Wikipedia:Literate programming.

  • Noweb — A Simple, Extensible Tool for Literate Programming build against ICON libs and texlive

https://www.cs.tufts.edu/~nr/noweb/ || nowebAUR

  • nuweb — A Simple Literate Programming Tool

http://nuweb.sourceforge.net/ || nuwebAUR

UML modelers

See also Wikipedia:List of Unified Modeling Language tools.

  • ArgoUML — UML modeling tool with support for all standard UML 1.4 diagrams.

https://argouml-tigris-org.github.io/ || argoumlAUR

  • Eclipse Modeling Tools — Tools and runtimes for building model-based applications.

https://www.eclipse.org/ || eclipse-modeling-toolsAUR

  • Gaphor — Simple modeling tool for UML.

https://github.com/gaphor/gaphor || python-gaphorAUR

  • Modelio — Modeling environment supporting the main standards: UML, BPMN, MDA, SysML.

https://www.modelio.org/ || modelio-binAUR

  • Papyrus — Model-based engineering tool based on Eclipse.

https://www.eclipse.org/papyrus/ || papyrusAUR

  • PlantUML — Tool to create UML diagrams from a plain text language.

https://plantuml.com || plantuml

  • PlantUML QEditor — PlantUML editor written in Qt.

https://github.com/borco/plantumlqeditor || plantumlqeditor-gitAUR

  • Umbrello — Unified Modelling Language (UML) diagram program based on KDE Technology.

https://umbrello.kde.org/ || umbrello

  • UML Designer — Graphical tool based on Eclipse to edit and visualize UML models.

https://www.umldesigner.org/ || umldesignerAUR

  • UMLet — UML tool with a simple user interface: draw UML diagrams fast, build sequence and activity diagrams from plain text, export diagrams to eps, pdf, jpg, svg, and clipboard, share diagrams using Eclipse, and create new, custom UML elements.

https://umlet.com/ || umletAUR

  • UML/INTERLIS-editor — Facilitate the application of the model driven approach to a greater number of users.

http://www.umleditor.org/ || umleditorAUR

  • Violet — Very easy to learn and use UML editor that draws nice-looking diagrams.

https://sourceforge.net/projects/violet/ || violetumleditorAUR

API documentation browsers

  • Devhelp — Developer tool for browsing and searching API documentation.

https://wiki.gnome.org/Apps/Devhelp || devhelp

  • Doc Browser — API documentation browser with support for DevDocs and Hoogle.

https://github.com/qwfy/doc-browser || doc-browser-gitAUR

  • Qt Assistant — Tool for viewing on-line documentation in Qt help file format.

https://doc.qt.io/qt-5/qtassistant-index.html || qt5-tools

  • quickDocs — Fast developer docs reader for reading Valadoc and DevDocs.

https://github.com/mdh34/quickDocs || quickdocsAUR

  • Zeal — Offline API documentation browser for software developers.

https://zealdocs.org/ || zealAUR

Issue tracking systems

  • Bugzilla — Bug tracker from Mozilla.

https://www.bugzilla.org || bugzilla

  • Flyspray — Lightweight, web-based bug tracking system written in PHP

https://www.flyspray.org/ || flyspray

  • MantisBT — Web-based issue tracking system

https://www.mantisbt.org/ || mantisbtAUR

  • Redmine — A flexible project management web application. Written using the Ruby on Rails, it is cross-platform and cross-database.

https://www.redmine.org || redmine

  • Trac — Trac Integrated SCM & Project Management using Apache & Subversion.

https://trac.edgewall.org/ || tracAUR

See also Git server#Advanced web applications.

Code review

  • Gerrit — A web-based code review tool built on top of the Git version control system

https://www.gerritcodereview.com/ || gerritAUR

  • GitLab also supports code reviews.

See also Wikipedia:List of tools for code review.

Game development

See also Wikipedia:List of game engines.

  • Allegro — A cross-platform library mainly aimed at video game and multimedia programming.

https://liballeg.org/ || allegro

  • GDevelop — Game creator designed to be used by everyone - no programming skills required.

https://gdevelop-app.com/ || gdevelopAUR

  • Godot — Advanced, feature-packed, multi-platform 2D and 3D game engine. Create games with ease, using Godot's unique approach to game development.

https://godotengine.org/ || godot

  • LibreSprite — Animated sprite editor and pixel art tool lets you create 2D animations for videogames.

https://github.com/LibreSprite/LibreSprite || librespriteAUR

  • LÖVE — Lua based game development environment.

https://love2d.org/ || love

  • Pixelorama — 2D sprite editor with animation support, made by Orama Interactive in the Godot Engine using GDScript.

https://orama-interactive.itch.io/pixelorama || pixelorama-binAUR

  • TIC-80 — Fantasy computer/console.

https://tic80.com/ || tic-80-gitAUR

  • Tiled — General purpose 2D level editor with powerful tile map editing features. It is built to be easy to use and is suitable for many type of games.

https://www.mapeditor.org/ || tiled

  • Unity — Unity is a flexible and powerful development platform for creating multi-platform 3D and 2D games. Proprietary, but a free version is available for certain use-cases (see here for more details).

https://unity3d.com/unity || unityhubAUR

Repository managers

This article or section needs language, wiki syntax or style improvements. See Help:Style for reference.

  • Nexus 2 — Nexus 2 Repository Manager (OSS)

https://www.sonatype.com/nexus-repository-oss || nexusAUR

  • Nexus 3 — Nexus 3 Repository OSS

https://www.sonatype.com/nexus-repository-oss || nexus-ossAUR

  • Artifactory — Artifactory is an advanced Binary Repository Manager for use by build tools, dependency management tools and build servers

https://bintray.com/jfrog/product/JFrog-Artifactory-Oss/view || artifactory-ossAUR

Text input

Character selectors

  • emote — A modern emoji picker written in GTK3.

https://github.com/tom-james-watson/Emote || emoteAUR

  • GNOME Characters — Character map application for GNOME.

https://gitlab.gnome.org/GNOME/gnome-characters || gnome-characters

  • gucharmap — GTK 3 character selector for GNOME.

https://wiki.gnome.org/Apps/Gucharmap || gucharmap

  • KCharSelect — Tool to select special characters from all installed fonts and copy them into the clipboard. Part of kde-utilities.

https://apps.kde.org/kcharselect/ || kcharselect

On-screen keyboards

  • CellWriter — Grid-entry handwriting recognition input panel.

https://github.com/risujin/cellwriter || cellwriterAUR

  • CoreKeyboard — Simple X11 based Qt virtual keyboard with word suggestions. Part of C-Suite.

https://cubocore.org/ || corekeyboardAUR

  • eekboard — Easy to use virtual keyboard toolkit.

https://github.com/ueno/eekboard || eekboardAUR

  • Florence — Extensible scalable on-screen virtual keyboard for GNOME that stays out of your way when not needed.

https://sourceforge.net/projects/florence/ || florenceAUR

  • Maliit Keyboard — Virtual keyboard useful for KDE Plasma-Wayland

https://maliit.github.io/ || maliit-keyboard

  • Onboard — Onscreen keyboard useful for tablet PC users and for mobility impaired users.

https://launchpad.net/onboard || onboard

  • qtvkbd — Virtual keyboard written in Qt, a fork of kvkbd.

https://github.com/Alexander-r/qtvkbd || qtvkbdAUR

  • QVKbd — Virtual keyboard written in Qt.

https://github.com/KivApple/qvkbd || qvkbd

  • Squeekboard — GTK 3 virtual keyboard for Wayland, written in Rust/C.

https://gitlab.gnome.org/World/Phosh/squeekboard || squeekboardAUR

  • theShell On Screen Keyboard — Touchscreen keyboard for theShell.

https://github.com/vicr123/ts-kbd || ts-kbdAUR

  • xvkbd — Virtual keyboard for X window system.

http://t-sato.in.coocan.jp/xvkbd/ || xvkbdAUR

Keyboard layout switchers

  • fbxkb — A NETWM compliant keyboard indicator and switcher. It shows a flag of current keyboard in a systray area and allows you to switch to another one.

http://fbxkb.sourceforge.net/ || fbxkbAUR

  • xxkb — A lightweight keyboard layout indicator and switcher.

https://sourceforge.net/projects/xxkb/ || xxkb

  • gxkb — X11 keyboard layout indicator and switcher.

https://github.com/zen-tools/gxkb || gxkb

  • qxkb — A keyboard switcher written in Qt.

https://github.com/disels/qxkb || qxkbAUR

  • X Neural Switcher — A text analyser, it detects the language of the input and corrects the keyboard layout if needed.

https://xneur.ru/ || gxneurAUR

Keybinding managers

See Keyboard shortcuts#Xorg.

Input methods

See the main article: Input method.

Disks

Partitioning tools

See Partitioning#Partitioning tools.

Formatting tools

See File systems#Types of file systems.

Cloning tools

See Disk cloning.

Mount tools

See also udisks#Mount helpers.

  • 9mount — Mount 9p filesystems.

http://sqweek.net/code/9mount/ || 9mountAUR

  • cryptmount — Mount an encrypted file system as a regular user.

https://sourceforge.net/projects/cryptmount/ || cryptmountAUR

  • KDiskFree — Displays information about hard disks and other storage devices. It also allows to mount and unmount drives and view them in a file manager.

https://apps.kde.org/kdf/ || kdf

  • ldm — A lightweight daemon that mounts drives automagically using udev

https://github.com/LemonBoy/ldm || ldmAUR

  • pmount — Mount source as a regular user to an automatically created destination /media/source_name.

Debian:pmount || pmountAUR

  • pmount-safe-removal — Mount removable devices as regular user with safe removal

https://mywaytoarch.tumblr.com/post/13111098534/pmount-safe-removal-of-usb-device || pmount-safe-removalAUR

  • udevil — Mounts removable devices as a regular user, show device info, and monitor device changes. Only depends on udev and glib.

https://ignorantguru.github.io/udevil || udevilAUR

  • ws — Mount Windows network shares (CIFS and VFS).

https://sourceforge.net/projects/winshares/ || wsAUR

  • zulucrypt — A GUI frontend for cryptsetup to create, manage and mount encrypted volumes; supports encfs as well

https://mhogomchungu.github.io/zuluCrypt/ || zulucryptAUR

Disk usage display

Console

  • duc — A library and suite of tools for inspecting disk usage.

https://duc.zevv.nl/ || ducAUR

  • dust — A more intuitive version of du in rust.

https://github.com/bootandy/dust || dust

  • gdu — Disk usage analyzer with console interface written in Go.

https://github.com/Dundee/gdu || gdu

  • gt5 — Diff-capable "du-browser".

http://gt5.sourceforge.net || gt5AUR

  • ncdu — Simple ncurses disk usage analyzer.

https://dev.yorhel.nl/ncdu || ncdu

Graphical

  • Filelight — Disk usage analyzer that creates an interactive map of concentric, segmented rings that help visualise disk usage on your computer.

https://apps.kde.org/filelight/ || filelight

https://wiki.gnome.org/Apps/DiskUsageAnalyzer || baobab

  • Graphical Disk Map — Disk usage analyzer that draws a map of rectangles sized according to file or dir sizes.

http://gdmap.sourceforge.net/ || gdmapAUR

  • fsview (part of Konqueror) — KDE based disk usage analyzer that draws a map of rectangles sized according to file or dir sizes.

https://docs.kde.org/trunk5/en/konqueror/konqueror/view-extensions.html || konqueror

  • MATE Disk Usage Analyzer — Disk usage analyzing tool for MATE Desktop.

https://github.com/mate-desktop/mate-utils || mate-utils

  • qdirstat — Qt-based directory statistics (KDirStat/K4DirStat without any KDE - from the original KDirStat author).

https://github.com/shundhammer/qdirstat || qdirstatAUR

Disk health status

See S.M.A.R.T.#GUI applications.

File recovery tools

See File recovery#List of utilities.

Disk cleaning

Console

  • Czkawka CLI — Simple, fast and free app to remove unnecessary files from your computer.

https://github.com/qarmin/czkawka || czkawka-cliAUR

  • duff — A command-line utility for quickly finding duplicates in a given set of files.

https://github.com/elmindreda/duff || duffAUR

  • fclones — Very fast duplicate file Finder written in rust.

https://github.com/pkolaczk/fclones || fclonesAUR

  • fdupes — Program for identifying or deleting duplicate files residing within specified directories.

https://github.com/adrianlopezroche/fdupes || fdupes

  • jdupes — Identify and take actions upon duplicate files.

https://github.com/jbruchon/jdupes || jdupesAUR

  • rdfind — Command line tool that finds duplicate files. It compares files based on their content.

https://github.com/pauldreik/rdfind || rdfindAUR

  • rmlint — Tool to quickly find (and optionally remove) duplicate files and other lint.

https://github.com/sahib/rmlint || rmlint

Graphical

  • BleachBit — Frees disk space and guards your privacy; frees cache, deletes cookies, clears Internet history, shreds temporary files, deletes logs, and discards junk you did not know was there.

https://www.bleachbit.org/ || bleachbit

  • Czkawka GUI — Simple, fast and free app to remove unnecessary files from your computer. Looks similar to FSlint.

https://github.com/qarmin/czkawka || czkawka-guiAUR

  • dupeGuru — GUI tool to find duplicate files in a system.

https://dupeguru.voltaicideas.net/ || dupeguruAUR

  • FSlint — A utility to find and clean various forms of lint on a filesystem.

https://www.pixelbeat.org/fslint/ || fslintAUR

  • GConf Cleaner — cleans up the unknown/invalid GConf keys that still sitting down on your GConf database.

https://code.google.com/archive/p/gconf-cleaner/ || gconf-cleanerAUR

  • Shredder — Graphical user interface for rmlint.

https://github.com/sahib/rmlint || rmlint-shredder

  • Sweeper — System cleaning utility for KDE.

https://apps.kde.org/sweeper/ || sweeper

Disk image writing

See also Wikipedia:List of tools to create Live USB systems.

Warning: Some disk image writing tools are known to be adware, for example etcher.

  • Bytewalk — Bytewalk is a firmware extraction tool and binwalk fork.

https://gitlab.com/bytesweep/bytewalk || bytewalkAUR

  • Deepin Boot Maker — Tool to make boot disk for Deepin OS.

https://www.deepin.org/en/original/deepin-boot-maker/ || deepin-boot-maker

  • Fedora Media Writer — Tool that helps users put Fedora images on their portable drives such as flash disks.

https://github.com/FedoraQt/MediaWriter || mediawriterAUR

  • GNOME MultiWriter — Write an ISO file to multiple USB devices at once.

https://wiki.gnome.org/Apps/MultiWriter || gnome-multi-writer

  • Image Burner — Simple imageburner designed for elementary OS.

https://github.com/artemanufrij/imageburner || imageburnerAUR

  • ISOImageWriter — Tool to write a .iso file to a USB disk.

https://community.kde.org/ISOImageWriter || isoimagewriterAUR

  • LiveUSB Install — Install various Linux distributions and operating systems on removable flash drive or external disk drive.

http://live.learnfree.eu/ || live-usb-installAUR

  • MultiBootUSB — Install multiple live distributions on a USB disk non-destructively and has an option to uninstall them.

https://github.com/mbusb/multibootusb/ || multibootusbAUR

  • MultiSystem — GUI tool to create a USB system that can boot multiple distributions.

http://liveusb.info/ || multisystemAUR

  • Popsicle — Utility for flashing multiple USB devices in parallel, written in Rust.

https://github.com/pop-os/popsicle || popsicleAUR

  • SUSE Studio ImageWriter — Utility for writing raw disk images & hybrid isos to USB keys.

https://github.com/openSUSE/imagewriter || imagewriterAUR

  • UNetbootin — Installs Linux/BSD distributions to a partition or USB drive.

https://unetbootin.github.io/ || unetbootinAUR

  • Usbimager — Minimal GUI application to write compressed disk images to USB drives.

https://gitlab.com/bztsrc/usbimager || usbimagerAUR

  • WoeUSB — Simple tool to create USB stick windows installer from an ISO image or a real DVD. (Fork of WinUSB).

https://github.com/WoeUSB/WoeUSB || woeusbAUR, woeusb-ngAUR

  • windows2usb — Windows ISO to Flash Drive burning utility for Linux with MBR/GPT, BIOS/UEFI, FAT32/NTFS support

https://github.com/ValdikSS/windows2usb || windows2usb-gitAUR

System

Task managers

  • CoreStats — Simple lightweight system resource viewer to monitor the CPU, RAM, Network and Disk IO statistics. Part of C-Suite.

https://cubocore.org/ || corestatsAUR

  • Deepin System Monitor — Monitor system process status for Deepin desktop.

https://www.deepin.org/en/original/deepin-system-monitor/ || deepin-system-monitor

  • GNOME System Monitor — System monitor for GNOME to view and manage system resources.

https://wiki.gnome.org/Apps/SystemMonitor || gnome-system-monitor

  • GNOME Usage — View information about use of system resources, like memory and disk space.

https://wiki.gnome.org/Apps/Usage || gnome-usage

  • htop — Simple, ncurses interactive process viewer.

http://htop.sourceforge.net/ || htop

  • bashtop — A Linux resource monitor written in bash.

https://github.com/aristocratos/bashtop || bashtop

  • bpytop — Htop but more lightweight with more features.

https://github.com/aristocratos/bpytop || bpytop

  • btop — Rewrite of bpytop in C++

https://github.com/aristocratos/btop || btop

  • bottom — A cross-platform graphical process/system monitor.

https://github.com/ClementTsang/bottom || bottom

  • gtop — A system monitoring dashboard for the terminal.

https://github.com/aksakalli/gtop || gtop

  • KSysGuard — System monitor for KDE to monitor running processes and system performance.

https://apps.kde.org/ksysguard/ || ksysguard

  • Linux Process Explorer — Graphical process explorer for Linux.

https://github.com/wolfc01/procexp || procexpAUR

  • LXTask — Lightweight task manager for LXDE.

https://wiki.lxde.org/en/LXTask[dead link 2022-09-20 ⓘ] || lxtask

  • qps — Lightweight task manager for LXQt.

https://github.com/lxqt/qps || qpsAUR

  • MATE System Monitor — System monitor for MATE.

https://github.com/mate-desktop/mate-system-monitor || mate-system-monitor

  • Plasma System Monitor — Advanced and customizable system monitor for KDE.

https://apps.kde.org/plasma-systemmonitor/ || plasma-systemmonitor

  • Stacer — System optimizer and application monitor that helps users to manage entire system with different aspects, its an all in one system utility.

https://oguzhaninan.github.io/Stacer-Web/ || stacerAUR

  • Task Manager — GTK2/GTK3 based process manager with basic system resource monitor for Xfce.

https://goodies.xfce.org/projects/applications/xfce4-taskmanager || xfce4-taskmanager

System monitors

See also Category:Monitoring.

  • Conky — Lightweight, scriptable system monitor.

https://github.com/brndnmtthws/conky || conky

  • Collectd — Simple, extensible system monitoring daemon based on rrdtool. It has a small footprint and can be set up either stand-alone or as a server/client application.

https://collectd.org/ || collectdAUR

  • collectl — Collectl is a light-weight performance monitoring tool capable of reporting interactively as well as logging to disk. It reports statistics on cpu, disk, infiniband, lustre, memory, network, nfs, process, quadrics, slabs and more in easy to read format.

https://collectl.sourceforge.net/ || collectlAUR

  • CoreFreq — Low-level CPU monitor with BIOS like functionalities.

https://github.com/cyring/CoreFreq/ || corefreq-clientAUR

  • dstat — Versatile resource statistics tool.

http://dag.wiee.rs/home-made/dstat/ || dstat

  • Fsniper — Daemon to run scripts based on changes in files monitored by inotify.

https://github.com/l3ib/fsniper || fsniperAUR

  • GKrellM — Simple, flexible system monitor package for GTK with many plug-ins.

https://billw2.github.io/gkrellm/gkrellm.html || gkrellm

  • glances — CLI curses-based monitoring tool in Python.

https://nicolargo.github.io/glances/ || glances

  • hitome — A quick & dirty system monitor that's light on resources.

https://github.com/artefact2/hitome || hitome-gitAUR

  • kmon — Linux kernel manager and activity monitor.

https://github.com/orhun/kmon || kmon

  • Nagstamon — Status monitor that connects to multiple Nagios, Icinga, Opsview, Centreon, Op5 Monitor/Ninja, Checkmk and Thruk monitoring servers.

https://github.com/orhun/kmon || nagstamonAUR

  • netdata — Web-based real-time performance monitor.

https://github.com/firehol/netdata/wiki || netdata

  • Telegraf — Agent written in Go for collecting, processing, aggregating, and writing metrics.

https://docs.influxdata.com/telegraf/latest/ || telegrafAUR

  • Paramano — Light battery monitor and a CPU frequency scaler. Forked from trayfreq

https://github.com/phillid/paramano || paramanoAUR

  • Sysstat — Collection of resource monitoring tools: iostat, isag, mpstat, pidstat, sadf, sar.

http://sebastien.godard.pagesperso-orange.fr/ || sysstat

  • xosview — System monitor that resembles gr_osview from SGI IRIX.

https://www.pogo.org.uk/~mark/xosview/ || xosviewAUR

  • zps — A small utility for listing and reaping zombie processes on GNU/Linux.

https://github.com/orhun/zps || zps

Hardware sensor monitoring

See lm_sensors#Graphical front-ends.

System information viewers

Console

  • alsi — A system information tool for Arch Linux. It can be configured for every other system without even touching the source code of the script.

https://trizenx.blogspot.com/2012/08/alsi.html || alsiAUR

  • archey3 — Python script to display system infomation alongside the Arch Linux logo.

https://lclarkmichalek.github.io/archey3 || archey3

  • dmidecode — It reports information about your system's hardware as described in your system BIOS according to the SMBIOS/DMI standard.

https://www.nongnu.org/dmidecode/ || dmidecode

  • hwdetect — Simple script to list modules that are exported in /sys/.

https://github.com/archlinux/svntogit-packages/blob/packages/hwdetect/trunk/hwdetect || hwdetect

  • hwinfo — Powerful hardware detection tool come from openSUSE.

https://github.com/openSUSE/hwinfo || hwinfo

  • hw-probe — Tool to probe for hardware, check operability and find drivers with the help of Linux Hardware Database.

https://github.com/linuxhw/hw-probe || hw-probeAUR

  • inxi — A script to get system information.

https://github.com/smxi/inxi || inxi

  • neofetch — A fast, highly customizable system info script that supports displaying images with w3m.

https://github.com/dylanaraps/neofetch || neofetch

  • nmon — Console based application for monitoring various system components.

https://nmon.sourceforge.net/ || nmon

  • pfetch — A pretty system information tool written in POSIX sh.

https://github.com/dylanaraps/pfetch || pfetchAUR

  • screenfetch — Similar to archey but has an option to take a screenshot. Written in bash.

https://github.com/KittyKatt/screenFetch || screenfetch

Graphical

  • GPU-Viewer — GUI to glxinfo, vulkaninfo, clinfo and es2_info; written in Python with GTK.

https://github.com/arunsivaramanneo/GPU-Viewer || gpu-viewerAUR

  • hardinfo — A small application that displays information about your hardware and operating system, it looks like the Device Manager in Windows.

https://www.berlios.de/software/hardinfo/ || hardinfoAUR

  • i-Nex — An application that gathers information for hardware components available on your system and displays it using an user interface similar to the popular Windows tool CPU-Z.

http://i-nex.linux.pl/ || i-nex-gitAUR

  • lshw — A small tool to provide detailed information on the hardware configuration of the machine with CLI and GTK interfaces.

https://ezix.org/project/wiki/HardwareLiSter || lshw

  • KInfoCenter — Centralized and convenient overview of system information for KDE.

https://userbase.kde.org/KInfoCenter || kinfocenter

  • USBView — Display the topology of devices on the USB bus.

http://www.kroah.com/linux/usb/ || usbview

System log viewers

  • GNOME Logs — Viewer for the systemd journal. Part of gnome.

https://wiki.gnome.org/Apps/Logs || gnome-logs

  • KSystemLog — System log viewer tool for KDE.

https://apps.kde.org/ksystemlog/ || ksystemlog

  • MATE System Log — System log viewer for MATE.

https://github.com/mate-desktop/mate-utils || mate-utils

  • Pacman Log Viewer — Tool used to inspect pacman log file, in particular it lists installed, removed and upgraded packages letting you to filter by package's name and/or date.

https://www.opendesktop.org/content/show.php?content=150484 || pacmanlogviewer

  • QJournalctl — Qt-based graphical user interface for systemd's journalctl command.

https://github.com/pentix/qjournalctl || qjournalctl

Font viewers

See also Wikipedia:Font management software.

  • Deepin Font Manager — A font management tool for Deepin desktop.

https://www.deepin.org/en/original/deepin-font-manager/ || deepin-font-manager

  • Font Manager — Simple font management for GTK desktop environments.

https://fontmanager.github.io/ || font-manager

  • Fonty Python — Manage, view and find your fonts.

https://savannah.nongnu.org/projects/fontypython || fontypythonAUR

  • GNOME Fonts — Font viewer for GNOME.

https://gitlab.gnome.org/GNOME/gnome-font-viewer || gnome-font-viewer

  • KFontview — KDE application to view and install different types of fonts.

https://kde.org/ || plasma-desktop

  • MATE Font Viewer — Font viewer for MATE.

https://github.com/mate-desktop/mate-control-center || mate-utils

Help viewers

See man page#Installation.

Command schedulers

See also Cron.

  • FcronQ — Fcron GUI, an advanced periodic command scheduler.

http://fcronq.xavion.name/ || fcronqAUR

  • GNOME Schedule — Graphical interface to crontab and at for GNOME.

http://gnome-schedule.sourceforge.net/ || gnome-scheduleAUR

  • KCron — Tool for KDE to run applications in the background at regular intervals. It is a graphical interface to the Cron command.

https://apps.kde.org/kcron/[dead link 2022-09-20 ⓘ] || kcron

  • KTimer — Little tool for KDE to execute programs after some time. It allows you to enter several tasks and to set a timer for each of them. The timers for each task can be started, stopped, changed, or looped.

https://apps.kde.org/ktimer/ || ktimer

Shutdown timers

  • GShutdown — Advanced shutdown utility which allows you to schedule the shutdown or the restart of your computer, or logout your actual session.

https://gshutdown.tuxfamily.org/ || gshutdownAUR

  • Hsiu-Ming's Timer — Graphical shutdown timer, which enables you to shutdown, turn off monitor, reboot or play sound after a period of time.

https://cges30901.github.io/hmtimer-website/ || hmtimerAUR

  • KShutdown — Graphical shutdown utility, which allows you to turn off or suspend a computer at a specified time. It features various time and delay options, command-line support, and notifications.

https://kshutdown.sourceforge.io/ || kshutdown

Clock synchronization

See Time synchronization.

Screen management

See Xrandr#Graphical front-ends.

Backlight management

See Backlight#Backlight utilities.

Color management

See ICC profiles#Utilities and Backlight#Color correction.

Printer management

See CUPS#GUI applications.

Bluetooth management

See Bluetooth#Front-ends.

Power management

See Power management#Userspace tools.

System management

See Systemd#GUI configuration tools.

Boot management

See GRUB/Tips and tricks#GUI configuration tools.

Package management

See pacman tips#Utilities.

Configuration management

  • aconfmgr — Package to track, manage, and restore the configuration of an Arch Linux system.

https://github.com/CyberShadow/aconfmgr || aconfmgr-gitAUR

  • Ansible — IT automation engine that automates cloud provisioning, configuration management, application deployment, intra-service orchestration, and many other IT needs.

https://www.ansible.com/ || ansible

  • cdist — Simple configuration management system with Arch Linux support.

https://www.cdi.st/ || cdistAUR

  • Chef — Automation Software for Continuous Delivery of Secure Applications and Infrastructure.

https://www.chef.io/ || chef-workstationAUR, chef-clientAUR

  • etckeeper — Collection of tools to let /etc be stored in a VCS repository.

https://etckeeper.branchable.com/ || etckeeper

  • Puppet — IT automation software that helps system administrators manage infrastructure throughout its lifecycle, from provisioning and configuration to patch management and compliance.

https://puppet.com/ || puppet

Virtualization

See Libvirt#Client and VirtualBox.

Compatibility layers

See Wine (Windows) and Darling (MacOS).

Last updated