【问题标题】:how to force nethogs to fill/expand to the terminal width?如何强制 nethogs 填充/扩展到终端宽度?
【发布时间】:2016-02-11 03:40:13
【问题描述】:

我正在尝试使 nethogs 扩展并填充我扩展 xtermkonsole 的任何大小,但是有了这些,nethogs 将自身限制为最多显示 80 个字符的列宽。
nethogs只有在yakuake 运行时才会完全展开。

另一方面,mc 功能齐全,可立即扩展到任何大小,因此这不是 ncurses 问题。

所以,我试图找到一种方法让 nethogs 相信终端具有固定宽度,因此我可以从一开始就设置它并让它显示更多信息。我相信可以配置ncurses(可能是环境变量?)相信终端有固定的宽度?我只是找不到如何做到这一点。

最新的 nethogs 安装提示:https://askubuntu.com/a/729560/46437

【问题讨论】:

    标签: linux terminal ncurses dynamic-columns


    【解决方案1】:

    nethogs 源代码中没有任何东西可以强制大小。可能的解释是您的环境变量包括 LINES 和/或 COLUMNS,默认情况下,curses 应用程序将使用它们来强制屏幕大小。

    mc 可以用 ncurses 或 slang 构建;俚语倾向于忽略这些设置(快速检查代码表明它仅在无法通过其他方式获得屏幕尺寸时才使用它们)。

    回顾大约一年前的错误报告,例如,bash 设置了这些变量,并且一些有用的打包程序将它们提升为环境变量:您可能正在使用它。

    进一步阅读:

    关于ScriptEchoColor 的评论实际上应该是一个单独的问题(因为它没有被提及)。如果您查看/usr/lib/ScriptEchoColor/utils/funcBase.sh,第 1024 行,有一些可能的命令,其中一个未注释。上面写着

    local lnTerminalWidth="`stty size 2>/dev/null |cut -d" " -f2`"
    

    并确定当前屏幕宽度。如果失败,它将变量设置为 80。没有提供覆盖它的规定,从问题的上下文来看,这似乎可能执行一次,用于初始化。

    【讨论】:

    • 我实际上是在尝试运行这个secDelayedExec.sh -dx -s 60 --xtermopts "-geometry 210x70" sudo -k nethogs -v 3 -d 3 (因此,与它一起,我可以在 ubuntu 启动时延迟许多其他初始化,从而使许多重要的快速应用程序真正快速可用) .
    • 该脚本是scriptechocolor 的一部分,它一定是在做一些混乱的事情,nethogs 识别 COLUMNS env var 或该行中的其他东西。我认为我最好的方法是尝试输出 nethogs 正在使用的列,并确定该脚本在搞砸什么。谢谢你的提示!所以我基本上的意思是,没有那个脚本,它实际上可以与 xterm 和 konsole 一起正常工作......但是,有了那个脚本,mc 工作正常!这让我很困惑..
    • 确实是的,最初我没有尝试过没有那个脚本,所以我不知道它可能是罪魁祸首。这个问题应该与源自该脚本的问题有关。即使mc 使用它,nethogs 也不应该失败。我认为它正在修改它可以避免的东西,或者可以提供一种清理/恢复方法。谢谢!
    猜你喜欢
    • 2015-09-21
    • 1970-01-01
    • 1970-01-01
    • 2013-07-19
    • 1970-01-01
    • 2018-03-08
    • 2017-08-14
    • 2017-08-06
    • 1970-01-01
    相关资源
    最近更新 更多