List of applications/Utilities
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.
- 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.
- 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.
- foot — Lightweight terminal emulator for Wayland with sixel support
- 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 in the world.
- 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-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.
- 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.
- GNOME Terminal — A terminal emulator included in the GNOME desktop with support for Unicode.
- 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.
- 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.
- 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.
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.
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.
- FbTerm — a fast FrameBuffer based TERMinal emulator for linux
Terminal pagers
See also Wikipedia:Terminal pager.
- more — A simple and feature-light pager. It is a part of util-linux.
- less — A program similar to more, but with support for both forward and backward scrolling, as well as partial loading of files.
- most — A pager with support for multiple windows, left and right scrolling, and built-in colour support
- mcview — A pager with mouse and colour support. It is bundled with midnight commander.
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.
- 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.
- 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.
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.
- ded — directory editor, file manager similar to Emacs dired
- 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.
- fff — A simple file manager written in Bash.
- Pilot — File manager that comes with the Alpine email client.
- Ranger — Console-based file manager with vi bindings, customizability, and lots of features.
- sfm — simple file manager for unix-like systems.
- Vifm — Ncurses-based two-panel file manager with vi-like keybindings.
- xplr — A hackable, minimal, fast TUI file explorer.
Graphical
- 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/ || corefmAUR
- Deepin File Manager — File manager developed for Deepin.
- Dolphin — File manager included in the KDE desktop.
- Gentoo — A lightweight file manager for GTK.
- GNOME Files — Extensible, heavyweight file manager used by default in GNOME with support for custom scripts.
- 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.
- 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.
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.
- 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).
Trash management
- trash-cli — A command-line interface implementing FreeDesktop.org's Trash specification.
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.
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.
- Arqiver — Simple Qt archive manager based on libarchive.
- CoreArchiver — Simple file compressing/extracting utility based on Qt and libarchive-qt. Part of C-Suite.
- 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).
- 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.
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.
- 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.
Graphical
- 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 ediff
.
Batch renamers
Console
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.
- rename.pl — Batch renamer based on perl regex.
- vidir — Rename and delete files and directories using your editor.
Graphical
- Caja-Rename — Batch renaming extension for Caja.
- CoreRenamer — Simple lightweight batch file renamer application. Part of C-Suite.
- 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
thunar -B
.
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.
- CoreHunt — Easy to use fast file searching tool with categorized search and search history. Part of C-Suite.
- 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.
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.
- fsearch — A fast file search utility for Unix-like systems based on GTK 3.
Full-text searching
See grep(1) from grep and its alternatives, which provide non-indexed full-text search.
Full-text indexers
- DocFetcher — Graphical Java desktop search application.
- 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.
Development
Code forges
- 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
- 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.
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.
- Apache Maven — Build automation tool used primarily for Java.
- 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 (part 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.
- 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.
- 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.
- https://www.eclipse.org/ || Java EE: eclipse-jeeAUR, Java: eclipse-javaAUR, C/C++: eclipse-cppAUR, PHP: eclipse-phpAUR, JavaScript and Web: eclipse-dltk-javascriptAUR
- 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.
- KDevelop — Feature-full, plugin extensible IDE for C/C++ and other programming languages.
- Komodo Edit — A free, multi-language editor.
- 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.
- MPLAB — IDE for Microchip PIC and dsPIC development.
- Netbeans — IDE for developing with Java, JavaScript, PHP, Python, Ruby, Groovy, C, C++, Scala, Clojure, and other languages.
- 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.
- 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.
- 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.
- VSCodium — Free/Libre Open Source Software Binaries of VSCode.
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.
Python IDEs
- 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
Rust IDEs
See also: [1]
- IntelliJ IDEA — IDE for Java, Groovy and other programming languages with advanced refactoring features.
- 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 Install the rust extension.
- VSCodium — Free/Libre Open Source Software Binaries of VSCode.
Educational IDEs
- 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.
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.
- 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.
- 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.
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.
GUI builders
- FLUID — FLTK GUI designer.
- Glade — Create or open user interface designs for GTK applications.
- KUIViewer — Quick viewer for Qt Designer UI File.
- Qt Designer — Tool for designing and building graphical user interfaces (GUIs) with Qt Widgets.
Hex editors
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.
- hyx — Minimalistic but powerful console 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.
JSON tools
- 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
Literate programming
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
UML modelers
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.
- 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.
- 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.
Code review
- 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.
Game development
See also Wikipedia:List of game engines.
- 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.
- Pixelorama — 2D sprite editor with animation support, made by Orama Interactive in the Godot Engine using GDScript.
- 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).
Repository managers
- 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
Text input
Character selectors
- GNOME Characters — Character map application for 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.
On-screen keyboards
- CellWriter — Grid-entry handwriting recognition input panel.
- CoreKeyboard — Simple X11 based Qt virtual keyboard with word suggestions. Part of C-Suite.
- 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
Keybinding managers
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#Disk cloning software.
Mount tools
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
/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.
- zulucrypt — A GUI frontend for cryptsetup to create, manage and mount encrypted volumes; supports encfs as well
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.
- gdu — Disk usage analyzer with console interface written in Go.
- gt5 — Diff-capable "du-browser".
- ncdu — Simple ncurses disk usage analyzer.
Graphical
- 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.
- 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.
Disk cleaning
Console
- 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.
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.
- 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.
- 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.
- 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.
- MultiSystem — GUI tool to create a USB system that can boot multiple distributions.
- 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 7/8/8.1/10 ISO to Flash Drive burning utility for Linux with MBR/GPT, BIOS/UEFI, FAT32/NTFS support
System
Task managers
- CoreStats — Simple lightweight system resource viewer to monitor the CPU, RAM, Network and Disk IO statistics. Part of C-Suite.
- Deepin System Monitor — Monitor system process status for Deepin desktop.
- GNOME System Monitor — System monitor for GNOME to view and manage system resources.
- GNOME Usage — View information about use of system resources, like memory and disk space.
- htop — Simple, ncurses interactive process viewer.
- bpytop — Htop but more lightweight with more features.
- btop — Rewrite of bpytop in C++
- Linux Process Explorer — Graphical process explorer for Linux.
- LXTask — Lightweight task manager for LXDE.
- qps — Lightweight task manager for LXQt.
- MATE System Monitor — System monitor for MATE.
- 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.
System monitors
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.
- 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.
- 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
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.
- 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
/sys/
.
- 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.
Graphical
- 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.
- QJournalctl — Qt-based graphical user interface for systemd's journalctl command.
Font viewers
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.
- KFontview — KDE application to view and install different types of fonts.
- MATE Font Viewer — Font viewer for MATE.
Help viewers
Command schedulers
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.
Shutdown timers
- 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.
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
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
Configuration management
- 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
/etc
be 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.
Virtualization
See Libvirt#Client and VirtualBox.