Ausblenden der Maus nach einigen Sekunden Leerlauf auf dem X-Display

9

Ich habe eine Kiosk-Anwendung auf Ubuntu Server 14.04.3 mit Google Chrome und X-Anzeige (xorg und xsession).

Derzeit habe ich ein Skript zum Ausblenden der Maus nach 2 Sekunden Leerlauf und wenn der Benutzer versucht, die Maus zu bewegen, wird sie angezeigt. Ich nutze einfach das cursor:noneeingespritzte unsichtbare Overlay und entferne dieses Overlay bei Bedarf.

Es scheint, als würde der Code beim Booten des Kiosks wie erwartet ausgeführt und ich kann das eingefügte Overlay sehen, aber da die Maus nur "geladen" wurde, verschwindet sie nicht, bis ich auch nur eine kleine Bewegung damit mache. Es scheint, als würde der Browser die Maus erst erkennen, wenn ich auch nur eine kleine Bewegung damit mache, was dazu führt, dass die Maus in der Mitte des Bildschirms angezeigt wird. Da das Problem nicht mit meinem Code zusammenhängt, scheint es gut zu funktionieren.

Was ich tun möchte, ist, dass wenn die Maus 2 Sekunden lang nicht bewegt wurde, sie ausgeblendet wird. Wenn der Benutzer versucht, die Maus zu bewegen, zeigen Sie sie erneut an. Die Lösung muss sofort nach dem Booten des X-Displays funktionieren. Wenn ich also das X-Display starte, befindet sich die Maus in der Mitte des Bildschirms, und selbst wenn ich sie beim Booten nicht berühre, verschwindet sie nach 2 Sekunden Leerlauf. Ich denke, ich muss dies erreichen, indem ich am X-Display bastele, anstatt mich auf meinen Code zu verlassen, da die Maus beim Neustart des Kiosks nicht erkannt wird.

Ist so etwas mit X-Display möglich?

kfirba
quelle

Antworten:

14

Es gibt eine Anwendung namens unclutter, die dies erledigt. Installieren Sie es, indem Sie in einem Terminalfenster Folgendes eingeben:

sudo apt-get install unclutter

Nach der Installation können Sie das Zeitlimit in der folgenden Datei auf 2 Sekunden ändern:

/etc/default/unclutter

und ändern Sie die folgende Zeile:

EXTRA_OPTS="-idle 1 -root"

zu

EXTRA_OPTS="-idle 2 -root"

Dies startet auch automatisch, wenn das System hochfährt.

Geben Sie Folgendes ein, damit es jetzt ohne Neustart des Systems gestartet werden kann:

nohup unclutter -idle 2 &

BEARBEITEN:

Wenn es für die Installation nicht gefunden wird, bearbeiten Sie Ihre /etc/apt/sources.listDatei und stellen Sie sicher, dass die folgenden Zeilen nicht auskommentiert #sind:

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

Wenn sie auskommentiert sind, entfernen Sie das #am Anfang der Zeile, führen Sie es aus, um sudo apt-get updatedie Repositorys zu aktualisieren, und führen Sie das erneut aus sudo apt-get install unclutter.

Wenn ich die folgenden Befehle ausführe, können wir sehen, dass die unclutterAnwendung aus den trusty universeRepositorys stammt.

:~$ 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/

Hoffe das hilft!

Terrance
quelle
Ich werde es mir ansehen! Ich kann nicht glauben, dass eine so einfache Lösung direkt vor meiner Nase lag :) Übrigens, wenn Sie "Startup erstellen" sagen, meinen Sie damit, eine Datei innerhalb des init.dOrdners zu erstellen ?
Kfirba
@kfirba Aktualisiert für Autostart-Fähigkeiten.
Terrance
Danke, dass du das bearbeitet hast! Ich werde mich in Kürze mit den Ergebnissen bei Ihnen
melden
@kfirba Ich bin froh, dass ich dir helfen konnte! =)
Terrance
Ich kann Unclutter aus irgendeinem Grund nicht installieren ... Ich tippe sudo apt-get install unclutterund es heißt, dass es kein Unclutter-Paket gibt. Irgendwelche Ideen, wie ich das beheben kann?
Kfirba