在X显示器上闲置几秒钟后隐藏鼠标


9

我有一个在Google Chrome和X显示器(xorg和xsession)的Ubuntu Server 14.04.3上运行的自助服务终端应用程序。

目前,我有一些脚本可以在空闲2秒钟后隐藏鼠标,并且当用户尝试移动鼠标时它会出现。我只是简单地利用cursor:none注入的不可见叠加层,并在需要时删除该叠加层。

看来,当我启动信息亭时,代码将按预期执行,并且可以看到插入的叠加层,但是由于鼠标只是“加载”的,因此即使我稍作移动也不会消失。似乎浏览器直到我进行很小的移动都无法检测到鼠标,这导致鼠标显示在屏幕中间。由于问题与我的代码无关,因为它似乎可以正常执行。

我想做的是,如果鼠标没有移动2秒钟,请将其隐藏。当用户尝试移动鼠标时,再次显示它。该解决方案必须在启动X显示器后立即起作用,因此,当我启动X显示器时,鼠标位于屏幕的中间,即使我在启动时未触摸鼠标,它也会在闲置2秒钟后消失。我想我需要通过修补X显示器而不是依靠我的代码来实现此目的,因为在自动启动信息亭时未检测到鼠标。

用X显示器可以做这样的事情吗?

Answers:


14

有一个名为的应用程序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文件,请编辑您的文件,并确保以下行未被注释掉#

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 <ubuntu-devel-discuss@lists.ubuntu.com>
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 <abe@debian.org>
Homepage: ftp://ftp.x.org/contrib/utilities/

希望这可以帮助!


我会看看!我不敢相信这么简单的解决方案就在我的脑海底下:)顺便说一句,当您说“创建启动”时,您的意思是在init.d文件夹中创建文件吗?
kfirba 2015年

@kfirba更新了自动启动功能。
Terrance 2015年

感谢您编辑!我们很快会告诉您结果的结果:)
kfirba 2015年

@kfirba很高兴我可以为您提供帮助!=)
Terrance

由于某种原因,我无法安装整洁的文件...输入sudo apt-get install unclutter,并说没有整洁的软件包。有什么想法我可以解决这个问题吗?
kfirba
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.