Mycroft for Linux
Mycroft is available for Linux, and can be installed via several methods.
Currently, there are builds and/or instructions for installing Mycroft on:
Debian / Ubuntu
Arch
Mint
Prerequisites
This section of documentation assumes the following:
That you already have Linux installed on your computer
That your computer is already connected to the internet
That you are comfortable issuing basic Linux commands from a terminal or shell prompt
That your device has a built-in microphone and speakers, or, you have successfully connected microphone and speakers to your device.
That your device already has
git
installed and working. If you don't already havegit
installed, here is a great set of instructions.
Getting Started
There are multiple ways to install Mycroft for Linux.
Installing via git clone
The simplest way to install Mycroft for Linux is to clone the mycroft-core
repo to your system and run a shell script, which will install all dependencies, and Mycroft components.
The mycroft-core
repo is at https://github.com/MycroftAI/mycroft-core.
The instructions below will install Mycroft in your HOME directory.
The dev_setup.sh
script identifies, installs and configures dependencies that Mycroft needs to run.
The script will also install and configure virtualenv. virtualenv
is a tool to create isolated Python environments. It is a way to isolate an application - in this case Mycroft - from other applications. It helps to better manage both dependencies and security.
If you are running a Linux distribution other than Ubuntu, Debian, Arch or Fedora, you may need to manually install packages as instructed by dev_setup.sh
.
NOTE: The default branch for this repository is 'dev', which should be considered a work-in-progress. If you want to clone a more stable version, switch over to the 'master' branch.
You can do this by choosing the master
branch in GitHub instead of the default dev
branch as shown below.
Running Mycroft for Linux
The Mycroft for Linux installation includes two scripts that you use to control Mycroft services.
start-mycroft.sh
start-mycroft.sh
is used to start one, or all, Mycroft services. This script uses the virtualenv
created by dev_setup.sh
.
The usage of start-mycroft.sh
is:
To start all Mycroft services at once
To start individual Mycroft services
Services can also be started individually.
Stopping Mycroft services
Pairing Mycroft for Linux
Once successfully installed, you will need to pair your Mycroft for Linux Device with your home.mycroft.ai account.
Speak
Hey Mycroft, pair my device
Mycroft will Speak "I am connected to the internet and need to be paired. Your 6-digit Registration Code is XXXXXX"
Use the Registration Code to pair your Mycroft for Linux Device with home.mycroft.ai.
View the home.mycroft.ai documentation to learn how to add your Device to home.mycroft.ai.
Once paired, you can then use basic Skills.
Using Mycroft behind a proxy
Many schools, universities and workplaces run a proxy
on their network. If you need to type in a username and password to access the external internet, then you are likely behind a proxy
.
If you plan to use Mycroft behind a proxy, then you will need to do an additional configuration step.
NOTE: In order to complete this step, you will need to know the hostname
and port
for the proxy server. Your network administrator will be able to provide these details. Your network administrator may want information on what type of traffic Mycroft will be using. We use https
traffic on port 443
, primarily for accessing ReST-based APIs.
Using Mycroft behind a proxy without authentication
If you are using Mycroft behind a proxy without authentication, add the following environment variables, changing the proxy_hostname.com
and proxy_port
for the values for your network. These commands are executed from the Linux command line interface (CLI).
Using Mycroft behind an authenticated proxy
If you are behind a proxy which requires authentication, add the following environment variables, changing the proxy_hostname.com
and proxy_port
for the values for your network. These commands are executed from the Linux command line interface (CLI).
Keeping Mycroft for Linux updated
Keeping your mycroft-core
installation up to date is simple.
Change to the directory where your
mycroft-core
installation is. This is most likely at~/mycroft-core
Type
git stash
- this preserves your Mycroft configuration.git
may prompt you to set up an identity.Type
git pull
to get the latest code. By default, using agit
installation will bring down thedev
branch of the repo. If you want to pull down another branch - for instance to test it - usegit pull origin BRANCH_NAME
.Type
git stash pop
to return the configuration that was stashed withgit stash
Type
./update_dev.sh
to update yourvirtualenv
- it's a good idea to do this if you update yourmycroft-core
installation.Type
./start-mycroft.sh all
to restart the services
Removing Mycroft for Linux from your system
If you have installed mycroft-core
using the git-clone
method, then removing it requires a couple of steps.
NOTE: depending on your system, you may need to run the commands below with sudo
Remove the
mycroft-core
directory from wherever you installed it:
rm -R ~/yourpath/to/mycroft-core
Next, remove the Skills directories:
rm -R /opt/mycroft
Next, remove the Mycroft settings:
rm -R ~/.mycroft
Common issues with Mycroft for Linux
Removing and rebuilding your virtualenv
virtualenv
If your CLI won't run, it is highly likely to be an issue with the Mycroft virtual environment. The easiest solution we've found has been to remove and reinstall the virtual environment.
First, delete the existing virtual environment:
Next, we run the setup script again:
This will rebuild your
virtualenv
Installation warns about bad interpreter
When running dev_setup.sh
, if you encounter a warning about a "bad interpreter", it is likely from having a space in the installation path:
If you can't install to a path without spaces, you will have to manually verify the requirements.txt
entries are installed to your virtual environment.
Last updated