List of applications/Utilities
See the main article: Command-line shell.
See also Wikipedia:Comparison of command shells.
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.
- aterm — Xterm replacement with transparency support. It has been deprecated in favour of urxvt since 2008.
- cool-retro-term — A good looking terminal emulator which mimics the old cathode display.
- CoreTerminal — Terminal emulator based on qtermwidget. Part of C-Suite.
- https://cubocore.org/[dead link 2023-05-07 ⓘ] || coreterminalAUR
- CuteCom — A graphical serial terminal.
- Deepin Terminal — Terminal emulation application for Deepin desktop.
- Eterm — Terminal emulator intended as a replacement for xterm and designed for the Enlightenment desktop.
- Hyper — A terminal with JS/CSS support. Based on the Electron platform.
- kitty — A modern, hackable, featureful, OpenGL based terminal emulator
- Liri Terminal — Material Design terminal for Liri.
- mlterm — A multi-lingual terminal emulator supporting various character sets and encodings, variable-width fonts and bidi rendering.
- moserial — GTK-based serial terminal for the GNOME desktop.
- PuTTY — Highly configurable ssh/telnet/serial console program.
- QTerminal — Lightweight Qt-based terminal emulator.
- rxvt — Popular replacement for xterm.
- shellinabox — A web-based SSH Terminal
- 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.
- Terminology — Terminal emulator by the Enlightenment project team with innovative features: file thumbnails and media play like a media player.
- urxvt — Highly extendable (with Perl) unicode enabled rxvt-clone terminal emulator featuring tabbing, url launching, a Quake style drop-down mode and pseudo-transparency.
- wayst — Simple terminal emulator for Wayland and X11 with OpenGL rendering and minimal dependencies.
- 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.
- Yakuake — Drop-down terminal (Quake style) emulator based on Konsole.
- zutty — A high-end terminal for low-end systems.
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.
- EasySSH — SSH Connection Manager.
- Germinal — Minimalist terminal emulator which provides a borderless maximized terminal, attached to a tmux session by default, hence providing tabs and panels.
- GNOME Console — Formerly known as King’s Cross, a simple user-friendly terminal emulator for the GNOME desktop. Part of gnome.
- GNOME Terminal — A terminal emulator included in the GNOME desktop with support for Unicode. Part of gnome-extra.
- Guake — Drop-down terminal for the GNOME desktop.
- kermit — A VTE-based terminal emulator that aims to be simple, fast and effective.
- LXTerminal — Desktop independent terminal emulator for LXDE.
- https://wiki.lxde.org/en/LXTerminal[dead link 2022-09-20 ⓘ] || lxterminal
- MATE terminal — A fork of Wikipedia:GNOME terminal for the MATE desktop.
- Pantheon Terminal — A super lightweight, beautiful, and simple terminal emulator. It is designed to be setup with sane defaults and little to no configuration.
- ROXTerm — Tabbed terminal emulator with a small footprint.
- sakura — Terminal emulator based on GTK and VTE.
- Terminator — Terminal emulator supporting multiple resizable terminal panels.
- 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.
- Termit — Simple VTE-based terminal emulator with Lua scripting support
- Tilda — Configurable drop down terminal emulator.
- Tilix — Tiling terminal emulator for GNOME.
- Xfce Terminal — Terminal emulator included in the Xfce desktop with support for a colorized prompt and a tabbed interface.
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.
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.
- Fbterm — a fast FrameBuffer based TERMinal emulator for linux
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.
- mcview — A pager with mouse and colour support. It is bundled with midnight commander.
- moar — Moar is a pager. It's designed to just do the right thing without any configuration.
- more — A simple and feature-light pager. It is a part of util-linux.
- most — A pager with support for multiple windows, left and right scrolling, and built-in colour support
See also Wikipedia:Terminal multiplexer.
- abduco — Tool for session attach and detach support which allows a process to run independently from its controlling terminal.
- byobu — An GPLv3 licensed addon for tmux or screen. It requires a terminal multiplexer installed.
- dtach — Program that emulates the detach feature of GNU Screen.
- dvtm — dwm-style window manager in the console.
- GNU Screen — Full-screen window manager that multiplexes a physical terminal.
- mtm — Simple terminal multiplexer with just four commands: change focus, split, close, and screen redraw.
- tmate — A fork of tmux aiming to help with remote access and pair programming.
- tmux — BSD licensed terminal multiplexer.
- zellij — Terminal multiplexer on steroids written in Rust
- wezterm — GPU-accelerated cross-platform terminal emulator and multiplexer implemented in Rust.
See also Wikipedia:Comparison of file managers.
- 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.
- ded — directory editor, file manager similar to Emacs dired
- fff — A simple file manager written in Bash.
- fm — A terminal based file manager.
- joshuto — ranger-like terminal file manager written in Rust.
- Last File Manager — Powerful file manager written in Python 3 with a curses interface.
- lf — Terminal file manager written in Go using server/client architecture.
- Midnight Commander — Console-based, dual-paneled file manager.
- nffm — "Nothing Fancy File Manager", a mouseless ncurses file manager written in C.
- nnn — Tiny, lightning fast, feature-packed file manager.
- 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.
- sfm — simple file manager for unix-like systems.
- 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.
- Vifm — Ncurses-based two-panel file manager with vi-like keybindings.
- xplr — A hackable, minimal, fast TUI file explorer.
- Caja — The file manager for the MATE desktop.
- 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/[dead link 2023-05-07 ⓘ] || corefmAUR
- Deepin File Manager — File manager developed for Deepin.
- Dolphin — File manager included in the KDE desktop.
- fm — Small, general purpose file manager built with GTK4.
- Gentoo — A lightweight file manager for GTK.
- GNOME Files — Extensible, heavyweight file manager used by default in GNOME with support for custom scripts. Part of gnome.
- 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.
- Konqueror — File manager and web browser for the KDE desktop.
- Liri Files — The file manager for Liri.
- Nemo — Nemo is the file manager of the Cinnamon desktop. A fork of Nautilus.
- Pantheon Files — File browser designed for elementary OS.
- PathFinder — File browser that comes with the FOX toolkit.
- 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.
- Peony — File manager for the UKUI desktop.
- 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.
- Thunar — File manager that can be run as a daemon with excellent start up and directory load times.
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
- GNOME Commander — A dual-paned file manager for the GNOME Desktop.
- Krusader — Advanced twin panel (Midnight Commander style) file manager for the KDE desktop.
- muCommander — A lightweight, cross-platform file manager with a dual-pane interface written in Java.
- SpaceFM — GTK multi-panel tabbed file manager.
- Sunflower — Small and highly customizable twin-panel file manager for Linux with support for plugins.
- trolCommander — Lightweight, dual-pane file manager written in Java. Fork of muCommander.
- Tux Commander — Windowed file manager with two panels side by side similar to popular Total Commander or Midnight Commander file managers.
- Worker — Fast, lightweight and feature-rich file manager for the X Window System.
- Xfe — Microsoft Explorer-like file manager for X (X File Explorer).
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
- 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.
- DirSync Pro — Small, but powerful utility for file and folder synchronization.
- Duplicati — Backup client that securely stores encrypted, incremental, compressed backups on cloud storage services and remote file servers.
- duplicity — Simple command-line utility which allows encrypted compressed incremental backup to nearly any storage.
- 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.
- git-annex — Manage files with git, without checking the file contents into git.
- grsync — GTK+ GUI for rsync to synchronize folders, files and make backups
- 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.
- 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.
- restic — Fast, secure, efficient backup program that supports backing up to many cloud services.
- 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.
- SparkleShare — File sharing and collaboration application written in C#. It can sync with any Git server over SSH.
- Syncthing — Continuous file synchronization program. It synchronizes files between two or more computers in a simple way without advanced configuration.
- Syncany — Cloud storage and filesharing application with a focus on security and abstraction of storage.
- 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.
- Tarsnap — Secure, efficient proprietary online backup service.
- Timeshift — A system restore tool for Linux.
- 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.
- YARsync — A Python wrapper around rsync, providing file synchronization and backup with an interface similar to git.
Archiving and compression tools
For archiving and compression command-line tools, see Archiving and compression.
- 360zip — A proprietary archiving tool.
- https://yasuo.360.cn/ || 360zipAUR
- Ark — Archiving tool included in the KDE desktop.
- Arqiver — Simple Qt archive manager based on libarchive.
- CoreArchiver — Simple file compressing/extracting utility based on Qt and libarchive-qt. Part of C-Suite.
- https://cubocore.org/[dead link 2023-05-07 ⓘ] || corearchiverAUR
- Deepin Archive Manager — Fast and lightweight application for creating and extracting archives.
- Engrampa — Archive manager for MATE
- GNOME Archive Manager — Archive manager included in the GNOME desktop (previously File Roller). Part of gnome-extra.
- LXQt File Archiver — Simple and lightweight desktop-agnostic Qt file archiver.
- p7zip-gui — The GUI belonging to the p7zip software.
- 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.
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.
- diff-highlight — Perl script to highlight changed parts within pairable lines of
- diffr — A Rust utility to pretty-print diff with highlighting at word-level for ease of review.
- ydiff — A Python wrapper to get highlighted diff output from stdin or VCS-tracked file/dirs, in either unfied or side-by-side view.
- delta — A diff viewer written in Rust with syntax highlighting.
- diff-so-fancy — A diff output decorator. It does not calculate the diff, it only decorates it.
- difftastic — Compares files using their syntax trees
- DiffPDF — Compare the text or the visual appearance of each page in two PDF files.
- Diffuse — Small and simple text merge tool written in Python.
- KDiff3 — File and directory diff and merge tool for the KDE desktop.
- 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.
- Meld — Visual diff and merge tool that can compare files, directories, and version controlled projects.
- xxdiff — A graphical browser for file and directory differences.
Vim and Emacs provide merge functionality with vimdiff and
See rename(1) from util-linux.
- edir — Rename, delete, and copy files and directories using your editor (enhanced vidir).
- f2 — Cross-platform command-line tool for batch renaming files and directories quickly and safely, can also rename files based on audio tags.
- nomino — A batch rename utility for developers.
- rename.pl — Batch renamer based on perl regex.
- vidir — Rename and delete files and directories using your editor.
- Caja-Rename — Batch renaming extension for Caja.
- CoreRenamer — Simple lightweight batch file renamer application. Part of C-Suite.
- https://cubocore.org/[dead link 2023-05-07 ⓘ] || corerenamerAUR
- GPRename — GTK batch renamer for files and directories.
- KRename — Very powerful batch file renamer for the KDE desktop.
- metamorphose2 — wxPython based batch renamer with support for regular expressions, renaming multimedia files according to their metadata, etc.
- 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
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.
See find(1) from findutils and its alternatives.
- Catfish — Versatile file searching tool by Xfce, can be powered by find, locate and Zeitgeist.
- CoreHunt — Easy to use fast file searching tool with categorized search and search history. Part of C-Suite.
- https://cubocore.org/[dead link 2023-05-07 ⓘ] || corehuntAUR
- Czkawka — GTK file searching utility with advanced features, it can also find similar images and videos.
- GNOME Search Tool — GNOME utility to search for files, depends on GNOME/Files.
- KFind — Search tool for KDE to find files by name, type or content. Has internal search and supports locate.
- MATE Search Tool — MATE utility to search for files.
- regexxer — Interactive search and replace tool featuring Perl-style regular expressions.
- Searchmonkey — Powerful GUI search utility for matching regex patterns.
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.
- fsearch — A fast file search utility for Unix-like systems based on GTK 3.
- angrysearch — Linux file search tool with instant results as you type.
See grep(1) from grep and its alternatives, which provide non-indexed full-text search.
- DocFetcher — Graphical Java desktop search application.
- MeiliSearch — Lightning Fast, Ultra Relevant, and Typo-Tolerant Search Engine.
- Namazu — A Full-Text Search Engine
- Recoll — Full text search tool based on Xapian, has CLI and GUI.
- Tracker — All-in-one indexer, search tool and metadata database, used by GNOME Documents, Music, Photos and Videos.
- Zeitgeist — Event aggregation framework for the user's activities and notifications (files opened, websites visited, conversations had, etc.), has several third-party front-ends.
- GitLab — Project management and code hosting application.
- Gitea — Painless self-hosted Git service. Community managed fork of Gogs.
Code forge clients
- git-open — Open a repository website (GitHub, GitLab, Bitbucket) in your browser
- github-cli — GitHub's official command line tool
- hub — Command line interface for GitHub
- hut — Command line interface for Sourcehut
- lab — A hub-like tool for GitLab
- snippet — A terminal based interface to create a new GitLab snippet
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.
- CVS — Concurrent Versions System, a client-server revision control system.
- Darcs — Distributed revision control system that was designed to replace traditional, centralized source control systems such as CVS and Subversion.
- Fossil — Distributed VCS with bug tracking, wiki, forum, and technotes.
- Git — Distributed revision control and source code management system with an emphasis on speed.
- Mercurial — Distributed version control system written in Python and similar in many ways to Git.
- Subversion — Full-featured centralized version control system originally designed to be a better CVS.
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.
- Apache Maven — Build automation tool used primarily for Java.
- Bazel — An open-source tool that allows for the automated building and testing of software.
- CMake — Family of tools designed to build, test and package software.
- 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.
- Gradle — Powerful build system for the JVM.
- 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.
- Anjuta — Versatile IDE with project management, an application wizard, an interactive debugger, a source editor, version control support and many more tools.
- https://anjuta.org/ || anjutaAUR
- 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.
- 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.
- CLion — A cross-platform IDE for C and C++.
- CodeLite — Open source and cross-platform C/C++/PHP and Node.js IDE written in C++ .
- Eclipse — IDE for Java, C/C++, PHP, Perl and Python with subversion support and task management.
- Eric — Full-featured Python and Ruby IDE written in PyQt5.
- Gambas — IDE based on a Basic interpreter with object extensions.
- Geany — Small and lightweight IDE with many supported many programming and markup languages including C, Java, PHP, HTML, Python, Perl, Pascal.
- GNOME Builder — Tool to write and contribute to great GNOME-based applications. Part of gnome-extra.
- KDevelop — Feature-full, plugin extensible IDE for C/C++ and other programming languages.
- Komodo Edit — A free, multi-language editor.
- Lapce — Lightning-fast and Powerful Code Editor written in Rust.
- 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.
- LiteIDE — Simple Go IDE.
- Lite XL — A lightweight, simple, fast, feature-filled, and extremely extensible text editor written in C, and Lua, adapted from lite.
- https://lite-xl.com/ || lite-xlAUR
- MPLAB — IDE for Microchip PIC and dsPIC development.
- Qt Creator — Lightweight, cross-platform C++ integrated development environment with a focus on Qt.
- 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.
- VSCodium — Free/Libre Open Source Software Binaries of VSCode.
- ZeroBrane Studio — IDE with debugging support for Lua 5.1, Lua 5.2, Lua 5.3, LuaJIT, and other Lua engines.
- 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.
- Ninja-IDE — IDE for Python development.
- 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.
- 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
- KTurtle — Educational programming environment that aims to make learning how to program as easily as possible. Part of kde-education.
- Processing — Playground for teaching non-programmers the fundamentals of computer programming in a visual context.
- 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.
- 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. Part of gnome-extra.
- 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.
- Data Display Debugger — Graphical front-end for command-line debuggers such as GDB.
- Desed — TUI-based debugger for sed. Features variable and regex preview, setting breakpoints and stepping back and forth.
- D-Feet — Easy to use D-Bus debugger to inspect D-Bus interfaces of running programs and invoke methods on those interfaces.
- D-Spy — Easy to use D-Bus debugger. It's like d-feet, but written in C and blisteringly fast. Part of gnome-extra.
- GammaRay — Qt-application inspection and manipulation tool.
- GDBFrontend — Easy, flexible and extensible graphical debugger.
- 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.
- Massif-Visualizer — Visualizer for Valgrind Massif data files.
- Nemiver — Easy to use standalone C/C++ debugger (GDB front-end) that integrates well in the GNOME environment.
- Qt QDbusViewer — Tool to introspect D-Bus objects and messages.
- 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. Part of gnome-extra.
Lexing and parsing
Lex and Yacc are part of POSIX.
- flex — A tool for generating text-scanning programs, alternative to Lex.
- Berkeley Yacc — Berkeley reimplementation of the Unix parser generator Yacc.
- GNU Bison — The GNU general-purpose parser generator, alternative to byacc.
And then there are also:
- ANTLR — Parser generator, written in Java, for parsing structured text or binary files.
- LPeg — Pattern-matching library, based on PEGs, for Lua.
- peg/leg — Recursive-descent parser generators for C.
- Ragel — Compiles finite state machines from regular languages into executable C, C++, Objective-C, or D code.
- FLUID — FLTK GUI designer.
- Glade — Create or open user interface designs for GTK applications. Part of gnome-extra.
- KUIViewer — Quick viewer for Qt Designer UI File.
- Qt Designer — Tool for designing and building graphical user interfaces (GUIs) with Qt Widgets.
See also Wikipedia:Comparison of hex editors.
- Bless — High quality, full featured hex editor.
- GHex — Hex editor for GNOME, which allows the user to load data from any file, view and edit it in either hex or ascii. Part of gnome-extra.
- 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.
- Okteta — KDE hex editor for viewing and editing the raw data of files.
- Reverse Engineer's Hex Editor — Hex editor with features for analyzing and annotating binary file formats
- wxHexEditor — Hex editor for large files with advanced features such as raw memory and disk editing capabilities.
- gron — gron transforms JSON into discrete assignments to make it easier to grep.
- jid — JSON incremental digger
- jo — A command to create JSON.
- jq — Command-line JSON processor
- jshon — A JSON parser for the shell.
- the Elvish shell has built-in support for JSON
See also Wikipedia:Literate programming.
- Noweb — A Simple, Extensible Tool for Literate Programming build against ICON libs and texlive
- nuweb — A Simple Literate Programming Tool
See also Wikipedia:List of Unified Modeling Language tools.
- ArgoUML — UML modeling tool with support for all standard UML 1.4 diagrams.
- Eclipse Modeling Tools — Tools and runtimes for building model-based applications.
- Gaphor — Simple modeling tool for UML.
- Modelio — Modeling environment supporting the main standards: UML, BPMN, MDA, SysML.
- Papyrus — Model-based engineering tool based on Eclipse.
- PlantUML — Tool to create UML diagrams from a plain text language.
- PlantUML QEditor — PlantUML editor written in Qt.
- Umbrello — Unified Modelling Language (UML) diagram program based on KDE Technology.
- https://umbrello.kde.org/[dead link 2023-05-07 ⓘ] || umbrello
- UML Designer — Graphical tool based on Eclipse to edit and visualize UML models.
- 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.
- Violet — Very easy to learn and use UML editor that draws nice-looking diagrams.
API documentation browsers
- Devhelp — Developer tool for browsing and searching API documentation. Part of gnome-extra.
- Doc Browser — API documentation browser with support for DevDocs and Hoogle.
- Qt Assistant — Tool for viewing on-line documentation in Qt help file format.
- quickDocs — Fast developer docs reader for reading Valadoc and DevDocs.
- Zeal — Offline API documentation browser for software developers.
- https://zealdocs.org/ || zealAUR
Issue tracking systems
- Bugzilla — Bug tracker from Mozilla.
- Flyspray — Lightweight, web-based bug tracking system written in PHP
- MantisBT — Web-based issue tracking system
- Redmine — A flexible project management web application. Written using the Ruby on Rails, it is cross-platform and cross-database.
- Trac — Trac Integrated SCM & Project Management using Apache & Subversion.
See also Git server#Advanced web applications.
- Gerrit — A web-based code review tool built on top of the Git version control system
- GitLab also supports code reviews.
See also Wikipedia:List of tools for code review.
See also Wikipedia:List of game engines.
- Allegro — A cross-platform library mainly aimed at video game and multimedia programming.
- GDevelop — Game creator designed to be used by everyone - no programming skills required.
- Godot — Advanced, feature-packed, multi-platform 2D and 3D game engine. Create games with ease, using Godot's unique approach to game development.
- LibreSprite — Animated sprite editor and pixel art tool lets you create 2D animations for videogames.
- LÖVE — Lua based game development environment.
- Pixelorama — 2D sprite editor with animation support, made by Orama Interactive in the Godot Engine using GDScript.
- 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.
- 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).
- Nexus 2 — Nexus 2 Repository Manager (OSS)
- Nexus 3 — Nexus 3 Repository OSS
- Artifactory — Artifactory is an advanced Binary Repository Manager for use by build tools, dependency management tools and build servers
- emote — A modern emoji picker written in GTK3.
- GNOME Characters — Character map application for GNOME. Part of gnome.
- gucharmap — GTK 3 character selector for GNOME.
- KCharSelect — Tool to select special characters from all installed fonts and copy them into the clipboard. Part of kde-utilities.
- CellWriter — Grid-entry handwriting recognition input panel.
- CoreKeyboard — Simple X11 based Qt virtual keyboard with word suggestions. Part of C-Suite.
- https://cubocore.org/[dead link 2023-05-07 ⓘ] || corekeyboardAUR
- eekboard — Easy to use virtual keyboard toolkit.
- Florence — Extensible scalable on-screen virtual keyboard for GNOME that stays out of your way when not needed.
- Maliit Keyboard — Virtual keyboard useful for KDE Plasma-Wayland
- Onboard — Onscreen keyboard useful for tablet PC users and for mobility impaired users.
- qtvkbd — Virtual keyboard written in Qt, a fork of kvkbd.
- QVKbd — Virtual keyboard written in Qt.
- Squeekboard — GTK 3 virtual keyboard for Wayland, written in Rust/C.
- theShell On Screen Keyboard — Touchscreen keyboard for theShell.
- xvkbd — Virtual keyboard for X window system.
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.
- xxkb — A lightweight keyboard layout indicator and switcher.
- gxkb — X11 keyboard layout indicator and switcher.
- qxkb — A keyboard switcher written in Qt.
- X Neural Switcher — A text analyser, it detects the language of the input and corrects the keyboard layout if needed.
- https://xneur.ru/ || gxneurAUR
See the main article: Input method.
See Partitioning#Partitioning tools.
See File systems#Types of file systems.
See Disk cloning.
See also udisks#Mount helpers.
- 9mount — Mount 9p filesystems.
- cryptmount — Mount an encrypted file system as a regular user.
- 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.
- ldm — A lightweight daemon that mounts drives automagically using udev
- pmount — Mount source as a regular user to an automatically created destination
- 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.
- zulucrypt — A GUI frontend for cryptsetup to create, manage and mount encrypted volumes; supports encfs as well
Disk usage display
- duc — A library and suite of tools for inspecting disk usage.
- https://duc.zevv.nl/[dead link 2023-05-20 ⓘ] || ducAUR
- dust — A more intuitive version of du in rust.
- gdu — Disk usage analyzer with console interface written in Go.
- gt5 — Diff-capable "du-browser".
- ncdu — Simple ncurses disk usage analyzer.
- Filelight — Disk usage analyzer that creates an interactive map of concentric, segmented rings that help visualise disk usage on your computer.
- GNOME Disk Usage Analyzer — Disk usage analyzer for the GNOME desktop to check folder sizes and available disk space. Part of gnome.
- Graphical Disk Map — Disk usage analyzer that draws a map of rectangles sized according to file or dir sizes.
- fsview (part of Konqueror) — KDE based disk usage analyzer that draws a map of rectangles sized according to file or dir sizes.
- MATE Disk Usage Analyzer — Disk usage analyzing tool for MATE Desktop.
- qdirstat — Qt-based directory statistics (KDirStat/K4DirStat without any KDE - from the original KDirStat author).
Disk health status
See S.M.A.R.T.#GUI applications.
File recovery tools
See File recovery#List of utilities.
- Czkawka CLI — Simple, fast and free app to remove unnecessary files from your computer.
- duff — A command-line utility for quickly finding duplicates in a given set of files.
- fclones — Very fast duplicate file Finder written in rust.
- fdupes — Program for identifying or deleting duplicate files residing within specified directories.
- jdupes — Identify and take actions upon duplicate files.
- rdfind — Command line tool that finds duplicate files. It compares files based on their content.
- rmlint — Tool to quickly find (and optionally remove) duplicate files and other lint.
- 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.
- Czkawka GUI — Simple, fast and free app to remove unnecessary files from your computer. Looks similar to FSlint.
- dupeGuru — GUI tool to find duplicate files in a system.
- FSlint — A utility to find and clean various forms of lint on a filesystem.
- GConf Cleaner — cleans up the unknown/invalid GConf keys that still sitting down on your GConf database.
- Shredder — Graphical user interface for rmlint.
- Sweeper — System cleaning utility for KDE.
Disk image writing
See also Wikipedia:List of tools to create Live USB systems.
- Bytewalk — Bytewalk is a firmware extraction tool and binwalk fork.
- Deepin Boot Maker — Tool to make boot disk for Deepin OS.
- Fedora Media Writer — Tool that helps users put Fedora images on their portable drives such as flash disks.
- GNOME MultiWriter — Write an ISO file to multiple USB devices at once. Part of gnome-extra.
- Image Burner — Simple imageburner designed for elementary OS.
- ISOImageWriter — Tool to write a .iso file to a USB disk.
- LiveUSB Install — Install various Linux distributions and operating systems on removable flash drive or external disk drive.
- MultiBootUSB — Install multiple live distributions on a USB disk non-destructively and has an option to uninstall them.
- Popsicle — Utility for flashing multiple USB devices in parallel, written in Rust.
- SUSE Studio ImageWriter — Utility for writing raw disk images & hybrid isos to USB keys.
- UNetbootin — Installs Linux/BSD distributions to a partition or USB drive.
- Usbimager — Minimal GUI application to write compressed disk images to USB drives.
- 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
- CoreStats — Simple lightweight system resource viewer to monitor the CPU, RAM, Network and Disk IO statistics. Part of C-Suite.
- https://cubocore.org/[dead link 2023-05-07 ⓘ] || corestatsAUR
- Deepin System Monitor — Monitor system process status for Deepin desktop.
- GNOME Usage — View information about use of system resources, like memory and disk space.
- htop — Simple, ncurses interactive process viewer.
- bashtop — A Linux resource monitor written in bash.
- bpytop — Htop but more lightweight with more features.
- btop — Rewrite of bpytop in C++
- bottom — A cross-platform graphical process/system monitor.
- gtop — A system monitoring dashboard for the terminal.
- Linux Process Explorer — Graphical process explorer for Linux.
- LXTask — Lightweight task manager for LXDE.
- https://wiki.lxde.org/en/LXTask[dead link 2022-09-20 ⓘ] || lxtask
- qps — Lightweight task manager for LXQt.
- MATE System Monitor — System monitor for MATE.
- Plasma System Monitor — Advanced and customizable system monitor for KDE.
- Stacer — System optimizer and application monitor that helps users to manage entire system with different aspects, its an all in one system utility.
- Task Manager — GTK2/GTK3 based process manager with basic system resource monitor for Xfce.
See also Category:Monitoring.
- Conky — Lightweight, scriptable system monitor.
- 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.
- 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.
- CoreFreq — Low-level CPU monitor with BIOS like functionalities.
- dstat — Versatile resource statistics tool.
- Fsniper — Daemon to run scripts based on changes in files monitored by inotify.
- glances — CLI curses-based monitoring tool in Python.
- hitome — A quick & dirty system monitor that's light on resources.
- kmon — Linux kernel manager and activity monitor.
- Nagstamon — Status monitor that connects to multiple Nagios, Icinga, Opsview, Centreon, Op5 Monitor/Ninja, Checkmk and Thruk monitoring servers.
- netdata — Web-based real-time performance monitor.
- Telegraf — Agent written in Go for collecting, processing, aggregating, and writing metrics.
- Sysstat — Collection of resource monitoring tools: iostat, isag, mpstat, pidstat, sadf, sar.
- xosview — System monitor that resembles gr_osview from SGI IRIX.
- zps — A small utility for listing and reaping zombie processes on GNU/Linux.
Hardware sensor monitoring
See lm_sensors#Graphical front-ends.
System information viewers
- 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.
- archey3 — Python script to display system infomation alongside the Arch Linux logo.
- dmidecode — It reports information about your system's hardware as described in your system BIOS according to the SMBIOS/DMI standard.
- hwdetect — Simple script to list modules that are exported in
- hwinfo — Powerful hardware detection tool come from openSUSE.
- hw-probe — Tool to probe for hardware, check operability and find drivers with the help of Linux Hardware Database.
- inxi — A script to get system information.
- neofetch — A fast, highly customizable system info script that supports displaying images with w3m.
- nmon — Console based application for monitoring various system components.
- pfetch — A pretty system information tool written in POSIX sh.
- screenfetch — Similar to archey but has an option to take a screenshot. Written in bash.
- GPU-Viewer — GUI to glxinfo, vulkaninfo, clinfo and es2_info; written in Python with GTK.
- hardinfo — A small application that displays information about your hardware and operating system, it looks like the Device Manager in Windows.
- 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.
- lshw — A small tool to provide detailed information on the hardware configuration of the machine with CLI and GTK interfaces.
- KInfoCenter — Centralized and convenient overview of system information for KDE.
- USBView — Display the topology of devices on the USB bus.
System log viewers
- GNOME Logs — Viewer for the systemd journal. Part of gnome.
- KSystemLog — System log viewer tool for KDE.
- MATE System Log — System log viewer for MATE.
- 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[dead link 2023-05-06 ⓘ] || pacmanlogviewer
- QJournalctl — Qt-based graphical user interface for systemd's journalctl command.
See also Wikipedia:Font management software.
- Deepin Font Manager — A font management tool for Deepin desktop.
- Font Manager — Simple font management for GTK desktop environments.
- Fonty Python — Manage, view and find your fonts.
- GNOME Fonts — Font viewer for GNOME. Part of gnome.
- KFontview — KDE application to view and install different types of fonts.
- MATE Font Viewer — Font viewer for MATE.
See also Cron.
- FcronQ — Fcron GUI, an advanced periodic command scheduler.
- GNOME Schedule — Graphical interface to crontab and at for GNOME.
- KCron — Tool for KDE to run applications in the background at regular intervals. It is a graphical interface to the Cron command.
- 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.
- GShutdown — Advanced shutdown utility which allows you to schedule the shutdown or the restart of your computer, or logout your actual session.
- Hsiu-Ming's Timer — Graphical shutdown timer, which enables you to shutdown, turn off monitor, reboot or play sound after a period of time.
- 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.
See Time synchronization.
See Xrandr#Graphical front-ends.
See Backlight#Backlight utilities.
See ICC profiles#Utilities and Backlight#Color correction.
See Power management#Userspace tools.
See Systemd#GUI configuration tools.
See GRUB/Tips and tricks#GUI configuration tools.
- aconfmgr — Package to track, manage, and restore the configuration of an Arch Linux system.
- Ansible — IT automation engine that automates cloud provisioning, configuration management, application deployment, intra-service orchestration, and many other IT needs.
- 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
/etcbe stored in a VCS repository.
- Puppet — IT automation software that helps system administrators manage infrastructure throughout its lifecycle, from provisioning and configuration to patch management and compliance.
See Libvirt#Client and VirtualBox.