能否在Byobu中启用鼠标滚轮滚动功能?

我在其他地方看到过,鼠标滚轮(以及其他鼠标事件)可以在tmux中启用滚动...这个功能是否也可以在通过tmux运行的byobu中启用,如何实现?
4个回答

如果你还有这个问题, 试试按下 ALT + F12 在我的情况下,这会启用byobu上的鼠标滚动功能。

1如果你能指出你在哪里找到这个快捷方式,那会对发帖者有所帮助。 - Charles Green
在配置中有帮助菜单。您可以通过在终端上运行byobu-config或直接按Shift+F1找到它。 - RNA
6有趣的是,关闭鼠标支持会导致滚动功能生效。有人知道为什么吗?编辑:我还发现这样做会阻止我使用鼠标选择文本... :( - alecbz
1@alecb,看起来当处于“鼠标离开”模式时,你仍然可以通过按住Shift键用鼠标选择文本。编辑:哦,刚注意到EvanLanglois的回答中也提到了这一点。 - yoniLavi

是的,这是可能的。你只需要首先进入滚动模式。
按下F7键,然后使用鼠标滚轮。最后,按ESC键退出滚动模式。
似乎有些终端仍然不允许您使用鼠标滚动。对于Gnome终端,请在配置文件首选项(标签“滚动”)中取消选择“按键滚动”选项。

11嗯,这对我来说似乎不起作用。相反,整个终端会滚动,使得byobu会话消失在屏幕上?我是不是漏掉了某些额外的设置?(使用gnome-terminal通过ssh连接到运行byobu会话的服务器) - Ashimema
4如果你按下alt-pageup,然后尝试使用滚轮...这样行吗? - Dustin Kirkland
2已确认在Konsole中工作正常。默认情况下,在Gnome终端中无效 - 必须在配置文件首选项中取消勾选“按键滚动”选项。 - gertvdijk
@DustinKirkland 很抱歉重新激活这个旧帖子,但我仍然无法使用鼠标滚轮滚动。我已经禁用了按键滚动,并且按下alt-pageup没有任何反应。我正在测试这个问题在Mint的Mate终端上(它应该与GTK2的gnome终端相似)。 - Karthik T
6@DustinKirkland,我还注意到我需要按下Enter键来退出模式,而不是你所指示的Esc键。最近可能有所更改吗? - Karthik T
我们能否将滚动会话保存在任何文本文件中,而不是进行复制/粘贴操作? - Sukupa91
这是一个独立的问题,Sushantp606。但答案是“是的”。在最新的Byobu版本(5.66)中,按下Shift-F9(或Shift-F7)。 - Dustin Kirkland
我需要Gertvdijk建议的gnome终端解决方法。现在已经标记为已解决,因为答案已经被编辑过了。 - Ashimema
5请注意,即使在禁用“按键滚动”功能后,这对我在gnome-terminal中也无效。 - alecbz
1@DustinKirkland 我也无法通过ESC键退出滚动模式,只能通过回车键。你能否编辑你的答案,包含这个信息? - nick
有人能在iTerm2中启用鼠标滚轮返回吗? - waspinator
似乎在iTerm2和Magic Touchpad上无法正常工作。 - Thamme Gowda
1按下F7和滚动不起作用。同时取消勾选“按键滚动”。这是在18.10版本的Gnome终端上发生的问题。使用Alt-F12的鼠标模式可以解决,正如其他答案中所建议的那样。如果能对这个答案进行一些更全面的更新,我会非常感激。 - slhck
1在Ubuntu 18 + Gnome终端中,我使用Alt+PageUp和PageDown键来实现了功能。 - hbobenicio


1真的很有效。 - rashok
2这才是真正的答案。这个应该得到第一名,而不是第二名! - EnzoR
1这个应该被接受为答案。 - Tran Chien

如果你只想要滚动回溯,而不想使用tmux的“鼠标模式”(这会干扰你使用鼠标进行剪切和粘贴),只需将以下内容添加到$HOME/.byobu/.tmux.conf文件中即可。
set -g terminal-overrides 'xterm*:smcup@:rmcup@'

现在你的终端回滚正常工作,不需要按任何特殊键来启用鼠标。缺点是终端只知道一个屏幕。你仍然需要使用"mouse mouse"来滚动除最近的屏幕之外的其他屏幕(例如查看长时间滚动的日志缓冲区),但如果你只想向上滚动以查看刚刚从屏幕上滚动出去的内容,这个问题可以解决!它也不知道拆分屏幕。顺便说一句,"鼠标模式"可以在你的配置文件中自动设置。你可以使用命令键(通常是Ctrl-A)后跟着]键来粘贴。鼠标选择在鼠标模式下会自动剪切,但你需要退出鼠标模式或按住Shift键才能获得通常的剪贴板行为,允许你将内容粘贴到另一个图形界面应用程序中。 推荐:由于byobu已经在自身内部使用了多个终端会话,所以您不需要在多个终端中使用它。因此,我将我的“打开终端”热键分配给了tilda。Tilda从您当前使用的任何工作区下拉(显示在所有工作区),并且它保持运行状态,因此始终可用。这与byobu很好地配合,因为现在我有一个地方来管理所有的shell会话(您可以设置tilda来运行byobu而不是普通的shell,并在意外退出shell时重新运行它)。此外,由于您正在使用byobu,您的终端会话比GUI更持久。我通过ssh登录到系统,并自动获取我的byobu会话(非常适合监视编译等操作),而byobu虚拟窗口会根据我的手机屏幕大小调整。当我改变手机方向时,桌面屏幕上的byobu窗口也会随之改变 - 简直像魔术一样!对于Windows用户来说,这非常令人印象深刻。
接下来,使用enlightenment的终端技巧来在终端作业完成时从GUI获得通知,但是dbus权限使得这个过程有些棘手。如果有人成功在byobu中实现了这个功能,请告诉我!

1奇怪的事情发生了。添加你告诉我的那行代码,第一天它可以正常工作,但后来我完全无法在Byobu上滚动。无论是用鼠标滚轮还是使用Alt + PageUp都不行。你知道发生了什么吗? - azizbro