How to Take Screenshots Using Shots on Elementary OS and Ubuntu

In this article we are going to introduce a node.js and electron based application called shots, which is used to take screenshots on linux desktop. This package offers quite few more features compared to Ubuntu's built in screenshot tool. So lets start by installing perequisites.

Install prerequisites

We are going to install shots to Ubuntu, but you can as well use Elementary OS, Mint or other Ubuntu derivative. The program builds upon Electron, HTML, CSS, PostCSS, JavaScript, NodeJs and PHP technologies.

So first and foremost we are going to install dependencies. We obviously need nodejs, also nodejs-legacy, npm and git

sudo apt install nodejs nodejs-legacy npm git

How Install shots

After this is done, we will clone the repository

git clone shots

Then enter the directory

cd shots/

And there we use command npm install to have it installed and configured

npm install

How Run shots Tool

We can run it from terminal with following command (still being in the repository dir)

npm run && npm start

It will give you output in terminal similar to this

Lifecycle scripts included in shots:
electron .

available via `npm run-script`:
electron . --debug
rimraf build/out
npm run compile && build --dir
npm run compile && build
npm run compile && build

> shots@1.0.4 start /home/miki/shots
> electron .

And in system tray you should get shots icon like this

The blue icon, second from the left is one we are looking for.

Setting the app

To use the app you first need setup where are the shots are going to be saved. Right click on the blue icon above select New and on the menu above select Edit and then settings. There you should make the setting look like this:

By default, the shots app only saves screenshots on remote server and gives you link to the clipboard. Server is and you can replace it with your own server but we are not going to do that instead we will have this server plus local copy. So it is last option.

Using the app

To make a screenshot we only need to select New from drop down menu from the systray icon. It will take the screenshot and load the picture. After that you can use features of the program in order to edit the picture before saving. Editing features that are present in the program are Arrow, Crop, Pen, Rect, Emoji, Blur and Text.

Arrow tool will help you point at some part of of the screenshot, and normally you would generally want to add text to the arrow. After taking a snap by right clicking the snaps icon and selecting New, you just right click anywhere on the picture. The drop down menu will appear like this

In the drop down menu we normally select arrow and then we only need to set arrow like this:


We have gone through all the tools of shots application. This simple application will be more useful than default screenshot functionality. For example, you don't have to save the shot and open GIMP to edit it and add some arrow with text or blur. Instead, you add it before saving, and you have the picture both on remote server and on local disk.

Leave a Comment