Flameshot is a popular, free, and user-friendly screenshot tool. Although it is available for almost every platform, it is most suited for Linux, as you get both a GUI and CLI version. Using Flameshot on Linux allows you to take screenshots from within the command line interface, as well as make annotations. As such, it is a very powerful yet versatile tool for those who love mouse-free operations.
Flameshot is equally user-friendly as it has a very simple interface and is easy to use. Furthermore, being an open-source project, users can check the source code or even develop the app on their own. Being a versatile tool, Flameshot offers more than simple screenshots. You can also use it to make a detailed visual instructional or for highlighting important information, with the help of various annotation tools. Thus, Flameshot is a must-have tool for any Linux user. If you want to install Flameshot on Linux, just follow the guide we have provided below.
What Is Flameshot?
As mentioned above, Flameshot is an open-source screenshot app with lots of features to make your life simpler. It is not just a simple screenshot app. You can use the provided annotation tools to make your work much easier. While using Flameshot, users can capture the entire screen or custom select a particular area with ease, that too from within the command line. It also has a user-friendly GUI. Furthermore, the app has a ton of annotation tools such as options to add text, arrows, shapes, or highlight any part of the screenshot. Thus, it can also be used as a valid visual aid for most work.
Features Of Flameshot
Before we move on to the installation section, let us talk about the various features of Flameshot:
Highly customizable
First, the app is highly customizable. You can change the interface color, button layout and placement, keyboard shortcuts, destination folder, and much more, simply by accessing the configuration dialog from within the CLI.
In-app screenshot editing
Next, you can take screenshots and edit them within the app. You can add objects like a text box, arrows, other shapes, borders, or even highlight particular text. There are other options as well, such as a count number, a solid color box, and so on.
Simple & intuitive
You don’t have to worry when you’re using Flameshot. The app offers a very simple and easy-to-use user interface. Furthermore, you need to simply launch the app, drag the area you want to screenshot, and make any annotations on the go, that’s it.
Upload to online platforms
You can also use Flameshot to directly upload any screenshots you have taken to websites like Imgur. Furthermore, you can copy the URL and share it anywhere you want.
Command-line interface (CLI)
Lastly, the app also offers a CLI so that you can use it without exiting the terminal. You can use the command line interface to use Flameshot as the subject of key binds.
Install Flameshot On Linux
Now, let us start with installing Flameshot on Linux. There are several methods you can choose from. These are as follows:
Method 1. Install Flameshot Using Native Repositories
This method is distro-specific, and one of the easiest ones available. All you have to do is install Flameshot using your native package managers, as it is available with most distros. However, do remember that Flameshot only maintains the official version with AUR (Arch Linux), whereas the other packages are maintained via their specific distributors.
Arch Linux
To install Flameshot on Arch Linux, follow the steps below:
Step 1. First, install the required dependency:
pacman -S cmake qt5-base
Step 2. Now, install Flameshot:
pacman --sync flameshot
Debian/Ubuntu
The same process is true for Debian or any other distro listed here:
Step 1. Start by installing the dependencies:
sudo apt install libqt5dbus5, libqt5network5, libqt5core5a, libqt5widgets5, libqt5gui5, openssl, ca-certificates
Step 2. Then, install the app:
apt install flameshot
Fedora
sudo dnf install qt5-qtbase
dnf install flameshot
RHEL/CentOS
For RHEL or CentOS (version 9) you need to first enable EPEL and then use EPEL to install Flameshot:
Step 1. First, enable the EPEL repo:
For RHEL 9
subscription-manager repos --enable codeready-builder-for-rhel-9-$(arch)-rpms && dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
On CentOS Stream 9
dnf config-manager --set-enabled crb && dnf install https://dl.fedoraproject.org/pub/epel/epel{,-next}-release-latest-9.noarch.rpm
Step 2. Now, install Flameshot
sudo dnf install flameshot
Older Version of CentOS
If you are running an older version of CentOS, then:
Step 1. You need to first enable the EPEL repository:
sudo yum install epel-release
Step 2. Then, update the package list:
sudo yum update
Step 3. Lastly, install Flameshot:
sudo yum install flameshot
NixOS
nix-env --install --attr nixos.flameshot
OpenSUSE
zypper install flameshot
Void Linux
xbps-install flameshot
Solus
eopkg install flameshot
Method 2. Using An AppImage To Install Flameshot
This method is also favored as it can be used with literally any Linux distribution.
Step 1. First, navigate to the folder where you want to install the app:
mkdir --parents ~/Applications/Flameshot
cd ~/Applications/Flameshot
Step 2. Now, delete any older AppImage of Flameshot:
rm Flameshot-*x86_64.AppImage
Step 3. After that, download the latest Flameshot AppImage
Step 3.1- For this, you can either download the TAR file from the official website.
Step 3.2- Or, clone it from Git:
curl --remote-name \
--remote-header-name \
--location $(curl -s https://api.github.com/repos/flameshot-org/flameshot/releases/latest \
| grep -Po 'https://github.com/flameshot-org/flameshot/releases/download/[^}]*\.AppImage' \
| uniq)
Step 4. Once the download is done, execute it:
chmod +x Flameshot-*.x86_64.AppImage
Step 5. Now simply run the app:
./Flameshot-*.x86_64.AppImage
Method 3. Installing Flameshot via Snap
Although Flameshot is not yet available on Snap, it will soon, and when it does, you can install it using the following commands:
Step 1. First, install Snap on your device:
sudo apt install snapd
Step 2. Then, install Flameshot via Snap.
sudo snap install flameshot
Method 4. Using Docker To Install Flameshot On Linux
Next up, you can use Docker to create a Docker File for Flameshot and then use it to run the app:
Step 1. First, install Docker on your Linux device.
For Ubuntu/Debian
sudo apt update
sudo apt install docker.io
For Fedora
sudo dnf install docker
For Arch Linux
sudo pacman -S docker
Step 2. Then, start the Docker service
sudo systemctl enable --now docker
Step 3. Since Flameshot doesn’t have an official Docker image, so you’ll need to run it from a container. Thus, use X11 forwarding for graphical applications to create one.
Step 3.1- First, install the dependencies:
sudo apt-get && apt-get install -y\
flameshot \
libx11-xcb1 \
libxrandr2 \
libxinerama1 \
libxkbcommon-x11-0 \
libglu1-mesa \
&& apt-get clean
# Entry point to run Flameshot
CMD ["flameshot", "gui"]
Step 3.2- Now, build the Docker Image
docker build -t flameshot-docker
Step 3.3- After that, set up X11 forwarding, so the Flameshot GUI can run on your local machine.
xhost +local:docker
docker run -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix flameshot-docker
Step 4. Now, use Flameshot normally.
Method 5. Install Flameshot Using Flatpak
Step 1. Install Flatpak on your device:
For Debian/Ubuntu
sudo apt install flatpak
For CentOS/Fedora/RHEL
sudo dnf install flatpak
Step 2. Then, add the Flathub repository:
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
Step 3. Lastly, install Flameshot from Flathub:
flatpak install flathub org.flameshot.Flameshot
Method 6. Compile Flameshot From Source
You can also compile Flameshot from the source code. All you have to do is:
Step 1. First, install the dependencies:
On Debian/Ubuntu
apt install g++ cmake extra-cmake-modules build-essential qtbase5-dev qttools5-dev-tools qttools5-dev libqt5dbus5 libqt5network5 libqt5core5a libqt5widgets5 libqt5gui5 libqt5svg5-dev
For Fedora
dnf install gcc-c++ cmake qt5-qtbase-devel qt5-linguist qt5-qtsvg-devel
On Arch Linux
pacman -S cmake base-devel git qt5-base qt5-tools hicolor-icon-theme qt5-svg
Remember, you can get the source code from GitHub. Then you could either clone the repository or download the ZIP file. Downloading the ZIP file would be easier if you want to build a specific version. However, if you want more control, then using the git repo is much easier.
Step 1. First, create a folder:
mkdir --parents ~/tmp/flameshot_source/
cd ~/tmp/flameshot_source/
Step 2.1- Either download the ZIP file:
curl --remote-name https://github.com/flameshot-org/flameshot/archive/refs/heads/master.zip
Step 2.2- Or, clone the Git repository:
git clone https://github.com/flameshot-org/flameshot.git
Step 3. Now, compile the build:
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local ../
make
sudo make install