UBUNTU-14.04 – 在 X 显示器上闲置几秒钟后隐藏鼠标
我有一个在 Ubuntu Server 14.04.3 上运行的 kiosk 应用程序,带有 Google Chrome 和 X 显示(xorg 和 xsession)。
目前,我有一些脚本可以在空闲 2 秒后隐藏鼠标,当用户尝试移动鼠标时,它就会出现。我只是cursor:none
在注入的不可见叠加层上利用 ,并在需要时删除该叠加层。
似乎当我启动 kiosk 时,代码按预期执行,我可以看到插入的覆盖层,但由于鼠标刚刚“加载”,它不会消失,直到我用它做一点点移动。似乎浏览器没有检测到鼠标,直到我用它做了一个很小的移动,导致鼠标显示在屏幕中间。由于问题与我的代码无关,因为它似乎执行得很好。
我想要做的是,如果鼠标在 2 秒内没有移动,则将其隐藏。当用户尝试移动鼠标时,再次显示它。该解决方案必须在启动 X 显示器后立即生效,因此当我启动 X 显示器时,鼠标位于屏幕中间,即使我在启动时不触摸它,它也会在闲置 2 秒后消失。我想我需要通过修改 X 显示而不是依赖我的代码来实现这一点,因为在自助服务终端刚启动时没有检测到鼠标。
有可能用 X 显示器做这样的事情吗?
有一个名为的应用程序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/