Solaar: Logitech Unifying を Linux で使う
Logitech (日本では ロジクール ) は PC 用のキーボードやマウスといったヒューマンインタフェースデバイス (以下 HID) を製造・販売するメーカーとして有名ですが、 2009 年ごろより Unifying という超小型 USB ワイヤレスレシーバに対応した HID 製品を多数販売しています。
Unifying が使える環境は公称では Windows か OSX のみなのですが、実際には Linux などでもサポート外ながら使うことができます。この記事では Linux でそれを可能にする Solaar というソフトウェアについて紹介したいと思います。
Logitech Unifying と Solaar の紹介
いまワイヤレス HID といえば Bluetooth 接続が主流な気もしますが、PC の世界では Bluetooth 接続だと OS 起動前の BIOS 設定などで難儀することがいまだに多いため、私は昔ながらの USB 接続に見える専用レシーバを利用した製品を選んで使っています。中でも Logitech の Unifying デバイスは次の点で優れており、特に愛用しています。
- レシーバーのサイズがとても小さい
- ひとつのレシーバーに対して最大 6 つの HID をペアリングして同時に使える
- いちどペアリング設定できれば他の機器や OS に持っていっても追加のソフトウェアなしで使用可能
- レシーバの抜き差しや HID の電源 ON/OFF 後のデバイス認識も待たせることなく高速
ただひとつの問題は、この Unifying デバイスのペアリングを行うには Logitech の SetPoint (Windows) ないし Logitech Control Center (OSX) というプロプラエタリソフトウェアが必要だということです。
Logitech からは Linux 版のソフトウェアは用意されていないため、ペアリングしようにも Windows または OSX マシンに Logitech ソフトウェアをインストールし Unifying レシーバを接続して設定するしかありません。そしてこの Logitech ソフトウェアはあまり出来がよくなく、 Logitech のフォーラムでもたびたび問題が指摘されており、なるべくインストールしたくない代物でした。
この Unifying を Linux などのフリーな環境で使えるようにしようという試みは 2 年ほど前からあったようですが、その後のリバースエンジニアリングなどの努力の結果、Linux カーネル 3.2 にて Unifying レシーバを制御するドライバが追加され、またその管理ツールとして Solaar というソフトウェアが登場しました。 Solaar のライセンスは GPLv2 です。
Solaar を使えばプロプラエタリな環境に頼ることなく Linux で Unifying デバイスのペアリングや状態取得、設定が完結できます。余計な機能もなくシンプルで、 GUI/CUI を備えた完成度の高いソフトウェアとなっておりおすすめです。
Solaar のインストール
Solaar は Linux 3.2 以降の hid_logitech_dj
ドライバが利用可能なカーネルで動作します。 Debian では wheezy 以降、Ubuntu なら precise (12.04) 以降のカーネルが必要となります。
インストールは Debian/Ubuntu では作者によるバイナリパッケージが用意されており簡単にできます。 Debian 公式パッケージになってくれると楽なのですが、まだそうなってはいないため (スポンサー募集 も出ているが止まっている?) 最初に APT リポジトリの追加が必要です。
Debian/Ubuntu 以外のディストリビューションのバイナリパッケージについても Web に書かれてますので参照してください。
Debian では /etc/apt/sources.list.d/solaar.list
というファイルを作り次の apt-line を追加します。このリポジトリは残念ながら署名されていません。パッケージのインストール時に警告が出ますがインストールは各自の責任で進めてください。
deb http://pwr.github.io/Solaar/packages/ ./ deb-src http://pwr.github.io/Solaar/packages/ ./
Ubuntu では PPA が用意されているため次のコマンドで簡単に設定できます。
$ sudo add-apt-repository ppa:daniel.pavel/solaar
リポジトリの追加ができたら solaar
ないし solaar-gnome3
パッケージをインストールします。
$ sudo apt-get update $ sudo apt-get install solaar $ sudo apt-get install solaar-gnome3 (Unity や Gnome Desktop を使っている場合)
Unifying デバイスへのアクセスには /dev/hidraw*
を使います。いまどきの consolekit/systemd を使用するデスクトップ環境であれば、デスクトップログインユーザは自動的にこれらのデバイスが扱えるように設定されます。
そうでないデスクトップ環境を使っていたり SSH などでリモートログインしたユーザも使えるようにしたい場合は、デバイスのアクセス権限を plugdev
グループに出すこともできます。この設定にするためには次のようにして solaar の debconf 設定を変更し、さらに solaar を使用するユーザを adduser
などで plugdev
グループに追加してください。
$ sudo dpkg-reconfigure -plow solaar $ sudo adduser yaegashi plugdev
ログイン中のユーザを plugdev
グループに追加した場合は再度ログインが必要になります。
Solaar の使い方
Solaar の GUI の使い方に特に難しいところはないし、ツールチップによる説明も出るので、触ってみればわかるでしょう。
/usr/bin/solaar
を起動するとデスクトップの通知領域にアイコンが出現します。デバイスノードにアクセスできないなどの警告が出る場合は Unifying レシーバを抜き差ししてみてください。
アイコンクリックして Unifying デバイスを選べば、次のような GUI が現れます。Unifying レシーバとそれにペアリングされた Unyfing HID が階層表示され、各 HID についてはワイヤレス接続の有無や電池の残量などが表示されています。
Unifying レシーバを選んで Pair new device
ボタンを押し、デバイスの電源を OFF/ON にすれば、即座にペアリングが完了します。また Unifying HID を選んで Unpair
ボタンを押せば、そのデバイスのペアリングを解除して別の Unifying レシーバにペアリングすることができます。
面白いのはひとつのレシーバに 4 つ以上の HID をペアリングしたときに、同時に接続中状態になるのはなぜか最大で 3 つまでということでしょう。接続・切断は高速に行われるため、ユーザがそれに気づくことは (本当に 4 つ以上の HID を同時に操作しているのでない限り) ありません。
また solaar パッケージには /usr/bin/solaar-cli
という CUI 版プログラムも同梱されています。使い方は -h
オプションで表示されるヘルプメッセージを参照してください。基本的には次のように -D
オプションで Unifying レシーバのデバイスノードを指定し show
config
pair
unpair
のいずれかのコマンドと引数を指定して使用します。
$ solaar -h usage: solaar [-h] [-d] [-V] optional arguments: -h, --help show this help message and exit -d, --debug print logging messages, for debugging purposes (may be repeated for extra verbosity) -V, --version show program's version number and exit $ solaar-cli -D /dev/hidraw2 show Unifying Receiver [/dev/hidraw2:A69E9D13] with 4 devices 1: Wireless Touchpad [Wireless Touch:1F508D50] offline 2: Wireless Keyboard K360 [K360:BCF55D1A] 3: Wireless Mouse M325 [M325:0720BA9E] offline 4: Wireless Mouse M510 [M510:AD4E14C3] $ solaar-cli -D /dev/hidraw2 config 4 [AD4E14C3:mouse] # Wireless Mouse M510 # Smooth Scrolling # possible values: on/true/t/yes/y/1 or off/false/f/no/n/0 # smooth-scroll = ? (failed to read from device) # Side Scrolling # possible values: on/true/t/yes/y/1 or off/false/f/no/n/0 # side-scroll = ? (failed to read from device) $ solaar-cli -D /dev/hidraw2 pair Pairing: turn your new device on (timing out in 20 seconds). Paired device 5: M560 [402D:M560:702CBDEB] $ solaar-cli -D /dev/hidraw2 unpair 5 Unpaired 5: M560 [M560:702CBDEB]
まとめ
Logitech Unifying デバイスの状況と、それを Linux で管理するためのソフトウェア Solaar について紹介しました。
Solaar があれば安心して Linux でも Unifying 製品が使えると思いたいところですが、実は製品によってはハードウェア的に Windows 以外では使い物にならない仕様のものが存在するので、そちらでまた別の注意が必要となります。タッチ UI 対応の Windows 8 登場が契機となって Microsoft など他社製品でもそういうデバイスが増えている気がします。
私もこれまでそういう製品をいくつか掴んでしまい後悔したので、のちほど別の記事でそれらをレビューとともに紹介したいと思います。
2014/01/31 追記: マウス製品レビュー を書きました。
2013/11/04 11:27:00 JST