Try using Terra-Pinyin (地球拼音) which runs on rime (中州韻) which runs on either ibus or fcitx. It allows you to input using "-" to represent 1st tone, "/" to represent 2nd tone, ">" to represent 3rd tone, "\" to represent 4th tone.
I honestly don't remember the entire install process, but I give an outline as best as I can remember (but I may be wrong in some places). I use Ubuntu 18, so it may be different for you.
Open Language Support, click Install/Remove Languages, add Chinese (Simplified) and/or Chinese (Traditional).
Open Input Method, press OK, Yes, choose ibus (if it isn't already selected), press OK.
Open the terminal, run
sudo apt-get install ibus-rime
Open settings, go to Language and Region, under Input Sources click the plus sign, click Chinese (China), click Chinese (Rime), then click add.
Restart your computer.
After restarting and logging in, in the top right, there should be a button that lets you swap between English and Chinese (Rime) input. If you switch to Chinese (Rime), you should be able to type in Chinese, using Luna-Pinyin (朙月拼音) however you will not yet be able to use tones in your input.
You may or may not need to run
sudo apt-get install librime-data-terra-pinyin (I'm not sure if it comes preinstalled)
Finally, follow the instructions here to add terra-pinyin to Rime: https://wiki.archlinux.org/index.php/Rime
To summarize those instructions:
Go to home. Press ctrl-H to show hidden files. go into .config, then into ibus, then into rime.
Create the file
Inside it, write
- schema: terra_pinyin
(including the indentation), then save the file.
In the rime menu in the top right, switch to Chinese (Rime), then 3 options should appear. Press the second option (this will put your changes into effect).
Finally, you should have Terra-Pinyin (地球拼音) running.
Typing "ta-" will give you a bunch of first tone choices, typing "ta/" will give you a bunch of second tone choices, typing ta< will give you a bunch of third tone choices and typing "ta\" will give you a bunch of fourth tone choices.