Skip to content
The Graphical User Interface used by the Mycroft Mark II and more
Branch: master
Clone or download
notmart Merge pull request #30 from AIIX/feature/VideoPlayer-1
Add a generic video player delegate
Latest commit 36b9c5f Jun 7, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
application include icons referred by audioplayer widget Apr 5, 2019
autotests DelegateLoader concept Mar 28, 2019
containments/mark2/package/contents/ui delete what was duplicated in mycroft-gui-mark-2 Apr 4, 2019
data Add method to stop all mycroft process May 16, 2019
documentation Add show_html and show_url examples in documentation May 24, 2019
icons rename mycroft icon Apr 1, 2019
import Add Generic VideoPlayer Delegate Jun 7, 2019
tests completely rework animations Oct 18, 2018
.gitignore Add changes for Mark II image Jan 23, 2019
CMakeLists.txt Add method to stop all mycroft process May 16, 2019
LICENSE Initial commit Nov 19, 2018
MycroftMark2.colors Refining "Foolproof" instructions Jan 2, 2019 Improved setup and utility scripts Dec 20, 2018 Improved setup and utility scripts Dec 20, 2018 Add launcher Mycroft Core and GUI Jan 3, 2019 Improved setup and utility scripts Dec 20, 2018 ommit message for your changes. Lines starting Mar 8, 2019

Mycroft GUI

- NOTE:  This is pre-Alpha and likely to break at any time!

The KDE-based visual interface for working with Mycroft. For more on the Mycroft Skill side, see the initial Mycroft Core GUI PR.

Getting Started

Foolproof Setup Instructions(tm)

  1. Download and Install VirtualBox
  2. Download an ISO from KDE Neon Developer Edition, Git Unstable. Any build >= 2057.
  3. Open VirtualBox and create a Neon installation TODO: More detailed installations?
  4. Within the VM, open a terminal session and type:
    • cd ~
    • sudo apt-get install git -y
    • git clone
    • cd mycroft-gui
    • bash
  5. (Optional) Customize Plasma settings for GUI debugging purposes
    • Disable screensaver
      • Click the > icon, type: Screen Locking
      • Untick "Lock screen automatically after:"
      • Click OK
  6. Run and configure
    • mycroft-gui-app
    • Click on the hamburger menu in the lower left
    • Select 'Settings'
    • Enter the IP address of your device. If your device is at, enter 'ws://'
    • Close

Normal use

  1. Invoke using mycroft-gui-app
  2. Click Start button in the middle of the window Note: Boot your device or run ./ all && ./ enclosure prior to doing this.
  3. Talk to your Mycroft!

After any code changes (if you are developing) or git pull, simply rerun bash to rebuild.

QML synchronization

At this point, the paths to skill QML on the Mycroft must precisely match the path on the mycroft-gui-app host machine. The simplest way to achieve this is to run rsync. This simple script can perform this synchronization, hanldling synchronization with different devices (e.g. for a developer who does work both at home and at an office).

function is_online() {
    ping -q -w 1 -c 1 "$1" > /dev/null
    if [ $? -eq 0 ]; then
        rsync -av pi@$1:/opt/mycroft/skills/ /opt/mycroft/skills/
        echo "Synched!"
        return 0
        return 1

# Attempt sync with office Mark 1
if [ $? -ne 0 ]; then
    # Attempt sync with house Mark 1


  • For a Mark 1, but sure to disable the firewall on the Raspberry Pi. You can do this via sudo ufw disable
  • Generally, the GUI interaction is managed by an enclosure-specific skill that orchestrates things. For example, the Mark 2 uses skill-mark-2.
  • Lightweight debugging can be done from Mycroft's CLI. You can see commands being sent to GUI clients by hitting Ctrl+G within the CLI
  • Multiple GUIs can safely run against a single Mycroft Core instance.

Debugging Tips

  • Debug output can be seen by running the mycroft-enclosure directly from inside an SSH session. On a Mark 1:
    • SSH to the Mark 1
    • sudo service mycroft-enclosure-client stop
    • sudo su mycroft
    • mycroft-enclosure-client This will start the client and show Debug() messages on the console.

Skill Testing

cd /opt/mycroft/skills
git clone -b newapi
cd #
cd mycroft-core
source .venv/bin/activate
cd /opt/mycroft/skills/skill-wikidata
pip install -r requirements.txt
You can’t perform that action at this time.