在Ubuntu中启用水平滚动

在Ubuntu 13.04+ (Raring/Saucy/Trusty) (GNOME 3.8+) 的鼠标和触摸板设置中,没有选项可以启用水平滚动。

Mouse & Touchpad Settings

没有水平滚动,即使启用了"两指滚动"或"内容跟随手指"。
这怎么可能呢?
5个回答

有一个方法通过 dconf 编辑器; 所以:
1. 通过 Dash 打开 dconf 编辑器; 2. 转到 org > gnome > settings-daemon > peripherals > touchpad; 3. 在截图中看到的地方勾选 horiz-scroll-enabled。

Enable horizontal scrolling

编辑: Dconf编辑器在13.04上预装,那是我第一次遇到这个问题;但在13.10和14.04上更容易使用gsettings,请参见Samuel Cavazos的答案

12谢谢!我还是不明白为什么要从控制面板中移除那个选项:/ - mid_kid
4是的,我也是这么认为。看起来这是关于GNOME项目的,其中功能性被简化所取代! - AliNajafies
1至少他们没有让事情变得不可能 ;) - mid_kid
1这是我希望Stack Overflow框架允许多次点赞的时刻;)谢谢! - lu1s
@AliNa 我批准了一项编辑,对你的发现表示赞赏。 - Braiam
优秀的答案还包括禁用水平滚动,或者横向滚动(在这里添加一些关键词)。 - three
3如果没有触摸板键怎么办?顺便说一下,我的笔记本电脑有触摸板。v16.04 - Waldemar Wosiński
在16.04版中,我认为他们将触摸板设置放到了其他地方,请尝试使用dconf Editor,在org - gnome - desktop - peripherals - touchpad进行浏览,所有的触摸板设置都在这里。 - stanleyhunk

另一种方法:在命令行中运行此命令
synclient HorizTwoFingerScroll=1

如果我禁用了双指滚动,它是否也支持边缘滚动? - AliNajafies
我认为边缘滚动是由其他选项控制的:VertEdgeScrollHorizEdgeScroll - Dmitry Pashkevich
4在Lubuntu 14.04上,无论是dconf编辑器还是gsettings都对我没用,但这个命令可以:synclient HorizEdgeScroll=1 - iynque
2@iynque 在Xubuntu 16.04上也适用。你如何使这个变成永久的? - sanwablo
我使用的是Lubuntu 17.04,出现了一个错误提示:找不到synaptics属性。没有加载synaptics驱动程序? - kiltek
有人知道如何在开机时保持这个设置吗?我已经将命令添加到启动应用程序中,但我觉得这种方法不太好。 - Calixte
这使得它仅适用于触摸板,而不适用于鼠标滚轮按钮,在Ubuntu 16.04中。 - SaidbakR
在 DeepIN 15.9 中运行得非常好。 - Ruvenss
@Calixte 将其添加到启动应用程序(在菜单中),或者添加到 /etc/rc.local - datashaman

或者只需跑一下
gsettings set org.gnome.settings-daemon.peripherals.touchpad horiz-scroll-enabled "true"

在终端中

如果你的目标相反,即关闭水平滚动条,这个技巧同样有效。只需将变量设置为“false”而不是“true”。 - Bryson S.
它说要设置键的值。什么都没有发生。 - dustbindiva
在终端中运行命令 "Ran gsettings set org.gnome.settings-daemon.peripherals.touchpad horiz-scroll-enabled "true"",但没有任何反应。 - dustbindiva
5$ gsettings set org.gnome.settings-daemon.peripherals.touchpad horiz-scroll-enabled "true"
没有这样的模式 'org.gnome.settings-daemon.peripherals.touchpad'
- Ondra Žižka
这个命令可能已经不起作用了。自从我发布这篇文章以来,Ubuntu已经发生了很多变化,而且我已经转移到了另一个发行版。 - Samuel Cavazos
2我在使用 Lubuntu 17.04,并且也收到了“没有此架构 'org.gnome.settings-daemon.peripherals.touchpad'”的错误信息。 - kiltek

配置您的Linux键绑定,使Shift+鼠标滚轮发送水平滚动事件:
安装xbindkeys和xautomation 编辑~/.xbindkeysrc.scm并写入: ; 将shift + 垂直滚动绑定到水平滚动事件 (xbindkey '(shift "b:4") "xte 'mouseclick 6'") (xbindkey '(shift "b:5") "xte 'mouseclick 7'")

运行 xbindkeys

另外,对于 Firefox 17+,打开 about:config 并设置:

  • general.autoScroll = true
  • mousewheel.with_shift.action = 1
  • 可选地,配置滚动速度:mousewheel.with_shift.delta_multiplier_x = 300

来源:https://coderwall.com/p/xnez3g/horizontal-scroll-with-mouse-under-linux

我已经将两者都搞定了。虽然对于 xbindkeys,有些应用程序会坚持其自己的行为,例如 Firefox。


太棒了,非常感谢你,你是最棒的。 - zwolin
1适用于我的Ubuntu 23.04。 - Ľubomír Mlích
升级到23.10后停止工作 :-( - undefined
23.10的问题只出现在Firefox浏览器上,可以通过设置mousewheel.with_shift.action = 4来解决。 知识来源:https://support.mozilla.org/zu/questions/1358257 - undefined

在MATE桌面变体中,我发现以下dconf路径可行:
/org/mate/desktop/peripherals/touchpad/horizontal-two-finger-scrolling
如果您还没有dconf编辑器,您需要运行sudo apt install dconf-editor 启动dconf编辑器,然后搜索"horizontal-two",应该足够具体以找到它:

Screenshot of changing /org/mate/desktop/peripherals/touchpad/horizontal-two-finger-scrolling setting

我正在使用一台装有Ubuntu (MATE) 18.04操作系统的笔记本电脑,配备了Synaptics触摸板。
Yonn Trimoreau表示,在Cinnamon上,以下dconf路径应该有效:
/org/cinnamon/settings-daemon/peripherals/touchpad/horizontal-scrolling
您可以安装相同的dconf-editor,然后搜索"horizontal-scrolling"并将其设置为开启状态。

2sudo apt install dconf-editor - jperelli
1关于Cinnamon:org.cinnamon.settings-daemon.peripherals.touchpad.horizontal-scrolling - Yonn Trimoreau
@YonnTrimoreau在编辑我的回答时,为了包含你的备注,我已经留给他自由。如果你看到任何需要修改或改进的地方,请随意编辑我的回答。 - Azendale
在Cinnamon 20.1上运行得很好,关闭dconf-editor后,Firefox立即开始水平滚动。让我困惑的是为什么默认值不是True。 - Henrique de Sousa