byobu 硬状态行在更新时滚动屏幕
Posted
技术标签:
【中文标题】byobu 硬状态行在更新时滚动屏幕【英文标题】:byobu Hard Status line scrolls the screen when updating 【发布时间】:2012-05-30 15:50:13 【问题描述】:想要给 byobu 一个外观,作为某种屏幕“更新”。我从
开始byobu
而不是位于屏幕底部的状态行,每次更新时它都会推送到前一行下方的另一行。不久,屏幕(腻子)就充满了状态行回声。
我该如何阻止这种情况?
在 win7 上运行 puttytray v0.62 到 ubuntu 12.04
【问题讨论】:
你能粘贴byobu -v的输出吗? (这里是byobu的维护者) @Dustin Kirkland ~$ byobu -v byobu 版本 5.17 tmux 1.6 @DustinKirkland 并没有阻止它。这是输出屏幕:i.imgur.com/uyFYi.png 你看不到的是,随着状态时间的更新,每一行都会每秒添加一次。底线“34”是34秒。关闭时钟状态只会在负载或其他内容更新时添加一行。 @DustinKirkland 刚才的奇怪行为。 . .我不知何故失去了一个有几个屏幕的会话。当我启动 byobu 时,它按预期显示了屏幕状态行。我按下 ctrl-A 并得到了行为选择器,这是出乎意料的,但无论如何。我选择了“屏幕”行为并被退回到 byobu,但使用 tmux 状态行。它的行为正常(不滚动)并且使用了正确的字符,而不是难以辨认的高 ascii 字符。以为我会报告这个。可能有助于 t-shoot。 当您看到这种行为时,能否请您粘贴这两个命令的输出,“echo $LANG”和“locale charmap”。谢谢! 【参考方案1】:Putty 默认为 ISO-8859-1 的翻译编码,而 Ubuntu 发送 UTF-8 编码。
在加载、保存或删除存储的会话窗口中单击您的服务器。然后点击加载按钮。
接下来,在左侧的类别面板中单击: 窗口 -> 翻译
将“接收到的数据假定在哪个字符集中”下的下拉菜单更改为 UTF-8。
完成此操作后,单击“类别”面板顶部的“会话”,然后单击“存储的会话”区域中的“保存”。
我并不是说这是正确的解决方法。我只是告诉你们是什么为我解决了这个问题,而不必对服务器做任何疯狂的事情。
干杯!
【讨论】:
小提示,您也可以启用UTF-8作为默认编码,以及所有其他设置:只需打开窗口不加载任何内容,进行更改(例如默认编码) ,然后返回并点击保存,而不在会话名称字段中输入任何内容。从那时起,这就是你的新默认值。 我发现设置 Window > Translation > UTF-8 可以解决很多不同的 putty 显示问题。【参考方案2】:这似乎是默认 byobu 后端的问题。默认情况下,Ubuntu 12.04 中的 byobu 使用 tmux
作为后端。您可以通过运行byobu-select-backend
并选择屏幕(选项 2)来更改此设置。
虽然不能解决 tmux 为何在 PuTTY 会话中执行此操作,但它解决了您的屏幕滚动问题。
【讨论】:
谢谢,正是我需要知道的 非常适合我。已经为此苦苦挣扎了一段时间。【参考方案3】:UTF-8 设置可以创造奇迹。我通常将它与 Terminal => Keyboard => "Function keys and kepad" 从 "ESC[n~" 到 "Xterm R6" 一起设置,并将其保存为 Putty 中的默认配置。最后一个选项可以在 Byobu 中使用 F 键功能。没有它几乎没用。
【讨论】:
【参考方案4】:我在 debian 测试/SID 服务器上遇到了类似的问题,这是系统上多个分离的屏幕会话松动的问题。 ps aufx |grep -i screen
应该找到孤立的屏幕会话。
我尝试了sudo byobu-select-backend
并且 tmux 也是 Debian 测试的默认设置,我选择了“屏幕”,但是当我尝试$ byobu
时,同样的滚动行为随之而来。
所以我以普通用户的身份运行$ byobu-select-backend
并再次选择了“屏幕”。
这一次,运行 byobu 向我展示了分离的屏幕会话,因此我可以选择它们并轻轻关闭它们。
【讨论】:
【参考方案5】:@phanku 的回答,即终端的编码应该设置为 UTF-8,使我能够解决从 Mac OS X 访问 byobu 会话(在 Ubuntu 12.04 上)时 OP 描述的相同问题iterm 借助 Michael Hendrick 描述 setting iTerm to UTF-8 的帖子:
-
菜单:查看 -> 显示会话信息
Session 选项卡:将 Encoding 从“Western (ASCII)”更改为“Unicode (UTF-8)”。
【讨论】:
【参考方案6】:对我来说,问题与如何设置兼容性有关:
在终端中,转到:
右键单击,选择“个人资料”>“个人资料偏好” 选择“兼容性”标签 将“不明确的宽度字符”更改为“窄”或
只需点击“重置”按钮它对我有用...
【讨论】:
【参考方案7】:我在 macOS 中使用 iTerm2 并遇到了同样的问题。编码已设置为 UTF-8,但没有帮助。这是适合我的解决方案:
打开Preferences
> Profiles
选择有问题的配置文件
转到右侧的Text
选项卡
取消选中Treat ambiguous-width characters as double width
选项
完成。
【讨论】:
以上是关于byobu 硬状态行在更新时滚动屏幕的主要内容,如果未能解决你的问题,请参考以下文章
WSL(Windows Subsystem for Linux) Ubuntu 下byobu状态栏错误的问题