机の中に眠っていたLeap Motionを数年ぶりに使ってみようと思う。

Ubuntuに Leap Motion SDKをインストールした作業メモです。

環境

  • Ubuntu 16.04
  • Leap Motion SDK 2.3.1

SetUp

公式サイトからLinux用のSDKをダウンロード

cd Downloads
tar xvzf Leap_Motion_SDK_Linux_2.3.1.tgz
cd LeapDeveloperKit_2.3.1+31549_linux
sudo dpkg -i Leap-2.3.1+31549-x64.deb

エラーが発生した。leap deamonがない。

Failed to start leapd.service: Unit leapd.service not found.
dpkg: パッケージ leap の処理中にエラーが発生しました (--install):
 サブプロセス インストール済みの post-installation スクリプト はエラー終了ステータス 5 を返しました
ureadahead (0.100.0-19) のトリガを処理しています ...
ureadahead will be reprofiled on next reboot
処理中にエラーが発生しました:
 leap

解決策がForumにあった。パッチを当てればいいらしい。(パッチは結局失敗する、後述)

        Download the .tgz file from https://www.leapmotion.com/setup120, extract, and download the patch file to /tmp/patch:
        tar xzf Leap_Motion_Setup_Linux_2.3.1.tgz
        cd Leap_Motion_Installer_Packages_release_public_linux
        wget -O /tmp/patch https://gist.githubusercontent.com/jmwilson/8e6c579eac5fa7fa9f0d/raw/0b597ceb1f8184952bf067267ac4171691949068/patch
    
        Extract the .deb file into a new leap directory and enter it:
        dpkg-deb --raw-extract Leap-2.3.1+31549-x64.deb leap
        cd leap
    
        Patch the contents of the current directory:
        patch -p2 </tmp/patch
    
        Go back to the parent directory and build a new .deb file:
        cd ..
        fakeroot dpkg-deb --build leap (this can take a while...)
    
        Install the patched .deb:
        sudo dpkg --install leap.deb

patchを当てても動かなかった。他の人も同様の症状がでているみたい。

解決策がforumにあった。

    1 - After the install failure, I simply uninstalled with:
    
    sudo dpkg -r leap
    
    2 - Now, with no leap installed yet, I followed the post above and just created the file as mentioned there (I used the terminal to write the following command, to use the nano text editor as root user):
    
    sudo nano /lib/systemd/system/leapd.service
    
    3 - I pasted that content (reproduced here for easiness):
    (also please note that on Ubuntu terminal, you paste with CTRL+SHIFT+V instead of just CTRL+V)
    
    # Found by Kevin Cole 2014.11.22 at
    # https://github.com/atejeda/leap-fedora-rpm
    #
    # Remember to:
    #
    #   ln -s /lib/systemd/system/leapd.service /etc/systemd/system/leapd.service
    #   systemctl daemon-reload
    #
    [Unit]
    Description=LeapMotion Daemon
    After=syslog.target
    [Service]
    Type=simple
    ExecStart=/usr/sbin/leapd
    [Install]
    WantedBy=multi-user.target
    
    4 - Saved (CTRL+O then ENTER), and exited (CTRL+X)
    
    5 - Still using the terminal, executed the two commands from that same post, BUT I included the sudo prefix to run them as root user:
    
    sudo ln -s /lib/systemd/system/leapd.service /etc/systemd/system/leapd.service
    sudo systemctl daemon-reload
    
    6 - All is right now and we can properly install. So, I just installed the original package:as in the official Leap guide:
    
    sudo dpkg --install Leap-2.3.1+31549-x64.deb
    
    (please just note that Im using a x64 Ubuntu, so I installed the 64 bits package)
    
    7 - Done!!!

これでうまくいった!

確認

LeapControlPanelを起動する。ツールバーにLeap Motionのアイコンがでて、緑色になった。

試しに、Diagnostic Visualizerを起動してみる。手が正しくトラッキングされていることが分かる。