Personal assistants like Siri and Google Now can be pretty useful, but there's nothing like that for your Linux computer. Or at least, that used to be the case. There's Sinus, a Siri-like utility for Mac users, but now it's Linux's turn with Betty.

What's Betty?

Betty is a personal assistant similar to Siri and Google Now that can take commands that are written in plain English and execute them for you. There are loads of different commands it supports, which we'll get into a bit later on. The only "downside" is that it's limited to the terminal, and doesn't take voice commands like Google Now and Siri do. Don't let that scare you away though -- it's still extremely useful and easy to use.

Once Betty is installed, you can do all sorts of things with it. You can tell it to count how many words are in a file, change various configurations, find files, do Internet queries (and even download files), do file and directory operations such as change permissions and compress/uncompress, do various user commands, control music applications, and plenty more.

For each command that you give Betty, it will tell you which command it's using to fulfill your request, as well as give you the output of said command. Not only does this make using the terminal a lot easier, but it can also be used as a teaching tool, so long as you pay attention to the commands it uses.

Around publication time of this article, Betty will only be about two months old. Therefore, it's not capable of doing literally whatever you want just yet, but as you can see it already supports a large number of commands. The more time you give it, the more commands it will support. And waiting shouldn't take long either -- adding commands is pretty easy for the developers and there are already more than a handful of people that are contributing to the project.

What Betty Can Do

Here are some examples of Betty in action:

betty_webqueries

Here's an example of some web queries that Betty can perform. In order for them to work, you'll first need to run the command:

        betty turn web mode on
    

.

betty_localstuff

There are plenty of things you can do with Betty that relate to your computer. It can also make changes (like permissions, uncompress, deletion) and not just perform informational commands.

betty_story

I tried this one just because I felt like it, and it worked!

Installation of Betty

The hardest part about using Betty is really the installation. Sadly, there isn't a simple PPA that you can add to install Betty and be finished.

betty_install

First, you'll need to install its dependencies with the command:

        sudo apt-get install ruby curl git
    

Since Betty is written in Ruby, installing the ruby package allows it to run. The curl package is needed whenever Betty wants to perform certain tasks related to the Internet, such as downloading a file. Finally, git is needed in just a moment in order to make downloading Betty easier. Then run:

        cd && git clone https://github.com/pickhardt/betty
    

This will download the Betty code into a new folder in your Home folder. Lastly, run this command:

        echo "alias betty=\"~/betty/main.rb\"" >> ~/.bashrc && source ~/.bashrc
    

This will insert something into your .bashrc file which allows you to simply type "betty" into the terminal and have the system know what to look for.

So again, it's not the easiest way to install a program, but at least you won't have to do more than just copy and paste some commands.

Share Your Thoughts On Betty

I'm excited to see how far Betty comes when it has plenty more commands than it currently supports. For the time being, you can check Betty's Github page for the mostly complete (but non-exhaustive) list of supported Betty commands. Or, you can just play around with it and see what works!

How would you use Betty? What would you like to see it do that it can't right now? Could Betty sway your non-geek friends to try Linux? Let us know in the comments!