加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 在GNU屏幕标题或hardstatusline中右对齐文本

发布时间:2020-12-13 16:52:52 所属栏目:Linux 来源:网络整理
导读:我在.screenrc中有这个 caption always "%{= Kw} [%0c] %-Lw%{= KW}[%50%n%f* %t]%{= Kw}%+Lw%=| %l | ${FULLHOST}" 它通常显示如下: [01:06] 0$vim 1$top 2-$tail [3$* ~] | 0.26 0.54 0.36 | machine.domain.com 但是,当我打开许多窗口时,右边的数据被推
我在.screenrc中有这个
caption always "%{= Kw} [%0c] %-Lw%{= KW}[%50>%n%f* %t]%{= Kw}%+Lw%=| %l | ${FULLHOST}"

它通常显示如下:

[01:06] 0$vim  1$top  2-$tail  [3$* ~]          | 0.26 0.54 0.36 | machine.domain.com

但是,当我打开许多窗口时,右边的数据被推离边缘并被截断:

[01:07] 0$vim  1$top  2$tail  3$~  4$~  5$~  6-$~  [7$* ~] | 0.21 0.46 0.34 | mac

如何更改caption命令,以便在必要时截断窗口列表,而不是从边缘推送正确的信息?如果始终显示活动窗口,则奖励积分.

解决方法

另一种解决方案,我目前正在使用.而不是原始行中的’%=’,或bender中的’%-30 ='(与-30%(又名70%)标记对齐),我使用’%-043 ='(对齐)到-43字符标记).
但是当然这和bender一样有问题,我需要的数量来抵消每台服务器的变化.解决方案是使用如下命令编辑每个服务器的.screenrc:
sed -i "s/043/0$(( 19 + $#FULLHOST ))/" ~/.screenrc

(19是负载显示和间距使用的字符数)

由于我的.screenrc是由我的shell的.rc文件生成的,如果不存在,我可以在执行此操作后立即运行此命令,并以每个服务器的正确偏移对齐结束.不优雅,但它的工作原理!

剩下的问题,我真的不在乎解决的问题:

>窗口列表(以及左侧的任何内容,包括时间)现在从左侧推出.我通过移除时钟解决了这个问题.>如果机器的主机名发生变化,我需要重新生成.screenrc,其中包括删除它然后启动一个新的shell.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读