标签: terminfo

为什么 macOS 上的 screen 不接收我的 ~/.terminfo?

我想让我的终端 (rxvt-unicode) 的Terminfo正常工作,以便当我从 Linux ssh 到 macOS 时,Home/End 和其他键可以正常工作。

通常,要使用 Linux 远程主机完成此操作,我会使用如下脚本:

ssh "$1" 'mkdir -p ~/.terminfo/r'
for f in /usr/share/terminfo/r/rxvt-unicode{,-256color}
do
    scp "$f" "$1":.terminfo/r/
done
Run Code Online (Sandbox Code Playgroud)

但是,这不适用于 macOS。

当我运行时screen,首先我收到“TERM 太长 - 抱歉。”。

将其更新到 brew 版本 (4.06.02) 后,我现在收到“无法找到 'rxvt-unicode-256color' 的 terminfo 条目。”

TERM正确设置为rxvt-unicode-256color,并且~/.terminfo/r/rxvt-unicode-256color存在。

跑步screenTERMINFO=$HOME/.terminfo/也没有效果。

osx gnu-screen terminfo

4
推荐指数
2
解决办法
2746
查看次数

linux中toe命令的实际用途是什么?

我试图了解toe命令的使用。
从手册页我很难弄清楚命令的作用。
另外,我在互联网上找不到任何示例。

从联机帮助页:

toe - (terminfo) 条目表
[..] 按主要名称列出所有可用的终端类型和说明

有人可以尝试通过示例提供简单的解释吗?

linux terminal terminfo

3
推荐指数
1
解决办法
655
查看次数

“xterm-256color”和“putty-256color”有什么区别

正如标题所问,有什么区别?

我什么时候应该使用其中之一?

另外,有人得到了 putty-256color 的 termcap/terminfo 的“规范”定义吗?谷歌对搜索它的帮助不大。哎呀,谷歌对我在这个问题中的所有问题都没有什么帮助!

termcap terminal terminfo

3
推荐指数
1
解决办法
2559
查看次数

一组库,如 shell 脚本中的 ncurses

假设您TUI在 shell 中显示以下内容:

在此处输入图片说明

我需要一组可以在 shell 中使用的库来完成它。可以肯定的是,ncurses还没有被使用,因为它产生了依赖。

问题:如何TUI在 shell 中构建小部件/窗口或其他?

ncurses shell-script terminfo

2
推荐指数
2
解决办法
7149
查看次数

如何设置Linux控制台屏幕的背景色?

注意:我重新编写了问题以澄清问题。这是一个微不足道的问题,可以分为几个部分来回答,因为这个问题有几个属性。

不幸的是,当提出问题的人理解(知道)答案的某些部分以及问题的结构时,问题可能会被重新设计。

因此,问题是从与原始问题不同的角度提出的。

如何使用 shell 实用程序更改 Linux 控制台的颜色设置¹? 如何使用 shell 实用程序更改终​​端仿真器的颜色设置¹?

本来,我想在执行shell脚本的过程中改变Linux控制台的背景颜色。以下命题如我所愿。

#!/bin/sh

# set the background color of the terminal
tput setab 6
clear

printf "%s\n" 'background: cyan'

# do some tasks 
cd /usr/src/initramfs
pwd
ls -l

# the background of the shell output is cyan
Run Code Online (Sandbox Code Playgroud)

尽管如此,有人可能会遇到几个小故障(或困难)。

例如,如果屏幕未被清除,则在 shell 脚本执行期间,背景颜色仅应用于文本输出。如果tput setab 6使用命令行提交命令并且没有清除屏幕,则背景颜色仅应用于输出文本的一小部分。如果在命令行tput setab 6上提交命令并清除屏幕,则背景颜色将应用于全屏,但仅在提交另一个命令之前持续存在。[...]

¹背景色

linux scripting terminal-emulator tput terminfo

2
推荐指数
1
解决办法
2万
查看次数

获取 termcap 功能的终端状态

如何检索像smam和这样的终端设置的状态rmam

原因是我设置rmam的:

tput rmam
Run Code Online (Sandbox Code Playgroud)

在脚本中,然后smam在退出时继续设置:

tput smam
Run Code Online (Sandbox Code Playgroud)

但是如果终端rmam在脚本启动时设置,我不想smam在退出时设置。


如何才能做到这一点?

scripting terminal tput terminfo

2
推荐指数
1
解决办法
116
查看次数

少:通过管道宣传 terminfo

如果我这样做ls | lessls检测到它没有连接到终端,这很公平。不同之处在于less 连接到终端。在此设置中,ls可以生成彩色和列化输出目标终端,并less可以正确处理它。您可以使用 使颜色正常工作ls --color=force | less -r,但这需要更多的输入,而且它不处理列。

如果有一个开关less可以告诉连接到它的任何东西将其视为真正的终端,那就太酷了。因此,您可以ls | less -Tless.

  1. 有没有做过这样的事情?

  2. 或者less像它这样的寻呼机真的可以自己做到这一点,还是需要 shell 的合作?例如,shell 是否需要设置一个伪终端ls来连接?

pager pty terminfo

0
推荐指数
1
解决办法
56
查看次数