Ubuntu 16 和 FireFox 中的触摸屏滚动

Hac*_*k-R 47 firefox touchscreen

我注意到触摸屏在 Ubuntu 16 台式机(在触摸屏笔记本电脑上)上的 FireFox 中不起作用,这是一个主要的问题,因为我是一个 FireFox 人,而浏览器是我使用个人计算机的 90%。请注意,它适用于非 Linux FireFox,适用于 Ubuntu 上的 Chrome/Chromium。

我对此做了一些研究,发现很多人在 2 到 3 年前都有同样的抱怨。在这些情况下,共识通常是 FireFox 只是缺乏一些必要的技术来支持这一点(有人说是 GTK 3,有人说是别的)。但是他们声称这个问题已经在预发布的 FF v50 中得到解决。现在 FF 50 出来了,我正在运行它,但它仍然无法正常工作。

有什么我可以添加的,我可以使用的 Alpha/Beta/Dev/Nightly 版本,或者我可以对 Ubuntu 本身做些什么来让它工作?

小智 48

这对我有用(firefox 57.0.4,Arch Linux):

  1. about:config在 Firefox 中打开设置dom.w3c_touch_events.enabled=1(默认为 2)。

  2. 编辑/etc/security/pam_env.conf和添加MOZ_USE_XINPUT2 DEFAULT=1

  3. 重新启动并重新启动火狐

(另请参阅如何让 Firefox 识别触摸屏上的多点触控手势?

  • 不需要编辑`about:config`,设置环境变量就足够了。在FF60上。 (14认同)
  • 这有效,除非您也想禁用手势进行缩放。使用两指滚动很烦人,并且在滚动时它会放大/缩小内容。您可以通过在 `browser.gesture.pinch.in` 和 `browser.gesture.pinch.out` 的值末尾添加 `-disable` 来实现,例如 `cmd_fullZoomReduce-disable` (3认同)

Ian*_*cks 38

在别处找到了这个解决方案:如果我从命令行启动 firefox

env MOZ_USE_XINPUT2=1 firefox
Run Code Online (Sandbox Code Playgroud)

然后触摸屏滚动对我有用。为避免必须从命令行启动 firefox,您可以编辑 Unity 应用启动器执行代码以包含此代码。默认.desktop位于/usr/share/applications但我们会将其复制到我们的主文件夹,以便我们所做的更改不会被包管理器在更新时覆盖。

cp /usr/share/applications/firefox.desktop ~/.local/share/applications/
gedit ~/.local/share/applications/firefox.desktop
Run Code Online (Sandbox Code Playgroud)

找到该部分中的Exec[Desktop Entry]并将其更改为

Exec=env MOZ_USE_XINPUT2=1 firefox %u
Run Code Online (Sandbox Code Playgroud)

如果您愿意,也可以更改其他 exec 行。这些会影响右键单击菜单中的选项。

编辑: 在某些时候这停止工作(我想是因为我安装了一个扩展)。要修复它,我必须about:config在浏览器中,右键单击,添加一个新的布尔值browser.tabs.remote.force-enable设置为 true。警告:不推荐这样做,可能会破坏内容。

  • 还有一种(公认非常愚蠢的)替代方法来处理设置 `MOZ_USE_XINPUT2` - 只需将 `MOZ_USE_XINPUT2 DEFAULT=1` 添加到 `/etc/security/pam_env.conf` 然后再也不用担心(可能) (4认同)
  • 结合XINPUT2=1,你可能还需要去`about:config`设置`dom.w3c_touch_events.enabled=1`(默认为2)。根据我的经验,这启用了两指滚动,而一根手指仍然选择文本。 (3认同)
  • 请注意,您需要确保启用了一个名为 e10s 的东西。要确定您是否这样做,请打开“about:support”并查找“Multiprocess Windows”。 (3认同)
  • 您应该将 .desktop 文件的副本放在您用户的`~/.local/share/applications/` 文件夹中,而不是这样,并在那里根据您的喜好进行更改,就像没有 sudo 的普通用户一样。 (3认同)
  • 我强烈建议永远不要更改像 `/usr/share/applications/*.desktop` 中的启动器这样的包管理文件,因为它们不仅会影响系统上的所有用户并且需要 root 权限才能更改,它们还会最可能会在下一次软件更新时再次恢复。以 root 身份启动 GUI 应用程序(如 `sudo gedit`)也很糟糕,因为它很容易弄乱主目录中文件的所有权(例如缓存、该应用程序的设置),并在您再次尝试正常使用时破坏它。 (2认同)