web-dev-qa-db-ja.com

Xディスプレイで数秒間アイドル状態になった後にマウスを非表示にする

Google ChromeとXディスプレイ(xorgとxsession)を備えたUbuntu Server 14.04.3でキオスクアプリケーションを実行しています。

現在、アイドル状態が2秒続いた後にマウスを非表示にし、ユーザーがマウスを動かそうとすると表示されるスクリプトがあります。挿入された非表示オーバーレイでcursor:noneを活用し、必要に応じてそのオーバーレイを削除します。

キオスクを起動すると、コードは期待どおりに実行され、オーバーレイが挿入されているのを見ることができますが、マウスが「ロード」されただけなので、少し動かしても消えません。ブラウザを少し動かしてもマウスが画面の中央に表示されるまで、ブラウザはマウスを検出しないようです。問題は私のコードに関係ないので、うまく実行できるようです。

私がやりたいのは、マウスが2秒間動かされなかった場合、それを隠すことです。ユーザーがマウスを動かそうとすると、もう一度マウスを表示します。ソリューションはXディスプレイを起動した直後に動作する必要があるため、Xディスプレイを起動するとマウスは画面の中央にあり、起動時にタッチしなくても2秒間アイドル状態になると消えます。キオスクが新しく起動されたときにマウスが検出されないため、コードに依存する代わりにXディスプレイをいじってこれを達成する必要があると思います。

Xディスプレイでそのようなことをすることは可能ですか?

8
kfirba

それを行うunclutterというアプリケーションがあります。ターミナルウィンドウで次のように入力してインストールします。

Sudo apt-get install unclutter

インストール後、次のファイルでタイムアウトを2秒に変更できます。

/etc/default/unclutter

次の行を変更します。

EXTRA_OPTS="-idle 1 -root"

EXTRA_OPTS="-idle 2 -root"

これは、システムの起動時にも自動起動します。

システムを再起動せずにすぐに起動するには、次のように入力します。

Nohup unclutter -idle 2 &

編集:

インストール用に見つからない場合は、/etc/apt/sources.listファイルを編集し、次の行がコメントアウトされていないことを確認してください# out:

deb http://us.archive.ubuntu.com/ubuntu/ trusty universe
deb-src http://us.archive.ubuntu.com/ubuntu/ trusty universe
deb http://us.archive.ubuntu.com/ubuntu/ trusty-updates universe
deb-src http://us.archive.ubuntu.com/ubuntu/ trusty-updates universe

コメントアウトされている場合は、行の先頭の#を削除し、Sudo apt-get updateを実行してリポジトリを更新してから、Sudo apt-get install unclutterを再実行します。

以下のコマンドを実行すると、unclutterアプリケーションがtrusty universeリポジトリーからのものであることがわかります。

:~$ apt-cache showpkg unclutter
Package: unclutter
Versions: 
8-19 (/var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_trusty_universe_binary-AMD64_Packages) (/var/lib/dpkg/status)
 Description Language: 
                 File: /var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_trusty_universe_binary-AMD64_Packages
                  MD5: f0e9ff67c42a9d3dc35bb595d2f84a7b
 Description Language: en
                 File: /var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_trusty_universe_i18n_Translation-en
                  MD5: f0e9ff67c42a9d3dc35bb595d2f84a7b

:~$ dpkg -s unclutter
Package: unclutter
Status: install ok installed
Priority: optional
Section: x11
Installed-Size: 76
Maintainer: Ubuntu Developers <[email protected]>
Architecture: AMD64
Version: 8-19
Depends: debconf (>= 0.5) | debconf-2.0, libc6 (>= 2.3.4), libx11-6
Conffiles:
 /etc/X11/Xsession.d/90unclutter 9b47a483264cfc6a155fbd65cd8a3e6e
Description: hides the mouse cursor in X after a period of inactivity
 unclutter hides your X mouse cursor when you don't need it, to prevent it
 from getting in the way. You have only to move the mouse to restore the
 mouse cursor.
Original-Maintainer: Axel Beckert <[email protected]>
Homepage: ftp://ftp.x.org/contrib/utilities/

お役に立てれば!

13
Terrance