标签: xterm

为什么我们有最大值 终端仿真器中有256种颜色?

我只是在用256色VIM主题摆弄,发现有时候256种颜色还不够.我喜欢至少支持从HTML颜色范围内的终端#000000#FFFFFF(65536色).

所以我问自己......

  • 有没有一个很好的理由为什么没有超过256种颜色的终端模拟器?

  • 或者我错过了一个,有人已经建立了一个?

shell terminal colors xterm

6
推荐指数
1
解决办法
1717
查看次数

拥有256色的Guake终端?

是否有可能使Guake终端使用256色而不是8色?

我在互联网上找到的唯一信息是这篇文章https://bbs.archlinux.org/viewtopic.php?id=173707,但它不起作用.

terminal xterm 256color vte

6
推荐指数
1
解决办法
4748
查看次数

如何在vim中捕获shift-tab

我想用于shift-tab自动完成和视觉上移动代码块。我一直指的是Make_Shift-Tab_work。该链接讨论了映射^[[Zshift-tab. ^[[Z但当我按下时我不明白shift-tab。在这种情况下我只是得到一个正常的tab

然后讨论如何使用xmodmap -pke | grep 'Tab' 映射 Tab 键。据此输出应该是

keycode 23 = Tab
or
keycode 23 = Tab ISO_Left_Tab
Run Code Online (Sandbox Code Playgroud)

不过我得到

keycode  22 = Tab KP_Tab
Run Code Online (Sandbox Code Playgroud)

如果我使用xmodmap -e 'keycode 22 = Tab ISO_Left_Tab'之后xmodmap -pke | grep 'Tab',我仍然得到

keycode  22 = Tab KP_Tab
Run Code Online (Sandbox Code Playgroud)

这意味着跑步xmodmap -e 'keycode 22 = Tab ISO_Left_Tab'没有任何效果。

最后,链接提到使用xev来查看X当我按下 时收到的内容shift-tabxev但我的系统上没有。

有没有其他方法可以在vim中捕获shift-tab

x11 keyboard vim xterm sunos

5
推荐指数
1
解决办法
4055
查看次数

Bash 换行和历史滚动

我的 bash 提示符和换行行为遇到问题。如果我使用静态提示

export PS1="test$ ";   ### Works perfectly
Run Code Online (Sandbox Code Playgroud)

我可以在提示符下输入长行并且它们可以很好地换行。在历史记录中向上/向下滚动也可以正常工作。关于使用动态提示,例如:

export PS1="\u@\h(\W)$ ";    ### Long lines don't wrap at all
Run Code Online (Sandbox Code Playgroud)

长长的队伍变得混乱。找到了使长行正确换行的修复程序。(http://hintsforums.macworld.com/showthread.php?t=17068)。

export PS1="\[\u@\h(\W)$ \]";  ### Long  lines wrap while typing, but not while scrolling up/down through previous commands
Run Code Online (Sandbox Code Playgroud)

但是,当向上/向下浏览提示历史记录时,行不会换行。我不知道如何用语言解释这种行为,但我会尝试 - 当我向上(向上箭头键)时,最后一个命令的一半被吃掉,光标最终位于换行符之间的某个位置。

解决这个问题的办法是什么?

我记得在许多 Linux 发行版上,动态提示可以开箱即用地正常工作(这是在我的工作场所)。

问候,

J.P

bash scroll xterm command-prompt

5
推荐指数
1
解决办法
3748
查看次数

读取控制台调色板的 RGB 值

\n\n

在C或C++中,有没有办法直接读取调色板RGB值?特别有趣的是 xterm(和其他)使用的扩展颜色空间来定义多达 256 种终端颜色。

\n\n

土豆

\n\n

恰当的例子是我想定义自己的颜色(使用 ANSI 转义序列,例如\\e]4;3;rgb:cc/78/33\\e\\\\或 直接在 c 中),但我需要在重新定义用户颜色之前保存它们(万一他们已经重新定义了颜色) )以便我可以在程序完成时恢复它们。破坏用户设置并不好。

\n\n

现在我的目标是使用 ANSI 转义序列以客户端方式执行此操作。但由于我找不到如何获取颜色,我开始考虑用 c 或 c++ 来实现这一点。

\n\n

该解决方案将被编写为具有本机扩展(基本上嵌入 c 或 c++ 代码)的 ruby​​ gem,我的目标是获得跨平台解决方案,即使主要目标是 OS X,其次是 Linux 环境......

\n\n

索斯

\n\n

从最初的实验开始,我已经可以为调色板中的代码点定义任何我想要的颜色。我还可以轻松恢复默认系统颜色(因为它们是 ANSI 标准)。我四处寻找在 ANSI 转义码中执行此操作的方法,但没有找到。我认为这是保存在内存中的某个地方,如果有任何方法可以找到位置,那么读取颜色应该很容易......

\n\n

甜点

\n\n

总结一下目前评论中的信息:

\n\n

看起来一致地执行此操作的唯一方法是用不同颜色打印 \xe2\x96\x88 字符的屏幕并从中获取颜色。由于这个项目应该是跨三个主要操作系统的平台,而且 Linux 目前在用户使用时有 3 个显示管理器,而 Windows 有两个(7 和 8),我只能想象时间和时间那会很有趣:)

\n\n

所以我的“解决方案”\xe2\x84\xa2 就是破坏用户的颜色(如果他们有除系统默认值之外的任何颜色......让我们面对它是相当不常见的)。我将提供一个设置文件,用户可以在其中告诉插件,如果他们对系统默认值不满意,应该恢复哪些颜色。务实又无聊,但这让我再次继续下去:)

\n

c c++ xterm console-application ansi-colors

5
推荐指数
1
解决办法
2159
查看次数

Terminfo smkx和应用程序光标键与应用程序键盘

XTerm控制序列指定以下键序列:

CSI ? 1 h  ? Application Cursor Keys (DECCKM)
CSI ? 1 l  ? Normal Cursor Mode (DECOM)
CSI ? 66 h ? Application keypad (DECNKM)
CSI ? 66 l ? Numeric keypad (DECNKM)
Run Code Online (Sandbox Code Playgroud)

TERMINFO源格式有如下条目:

Variable: keypad_xmit
Capname: smkx
Termcap: ks
Description: Put terminal in "keypad-transmit" mode
Run Code Online (Sandbox Code Playgroud)

但是xterm的terminfo实际上是说smkx=\E[?1h\E=,这似乎让我感到困惑(smkx应该影响键盘,而不是光标键,对吗?)。我在这里想念什么?

terminal xterm tty termcap terminfo

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

如何在 xterm 启动时运行命令?

如何在 xterm 启动时运行命令,即当 xterm 终端启动时命令已经执行?

我已经编辑了 .bashrc 文件以添加这一行:

xterm "ls"

但这不起作用。

请建议我该怎么做才能实现这一目标。

谢谢。

startup xterm

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

将环境变量添加到 MobaXterm 的最佳方法

我刚刚在本地计算机上设置 MobaXTerm,我正在寻找将 Windows 主机上的所有环境变量移植到 MobaXTerm 的最佳方法。这个练习的整个目标是我不打算使用命令提示符/git bash,而是只使用 MobaXterm。

例如,如果我转到我的命令提示符并输入“python”,我可以在命令行中输入 Python 代码。现在,当我在 MobaXTerm 中执行此操作时,它说我没有安装它。这扩展到更多应用程序,所以我宁愿不尝试在我的 MobaXTerm 中手动安装 git、python 等。

我已经通过在命令提示符中输入“set > paths.txt”提取了我的 Windows 主机上所有环境变量的列表,但是当我在那里使用终端时,我希望我的 MobaXTerm 命令行引用这些变量。做这个的最好方式是什么?它是在 .csrhc 中设置的吗?

编辑:我尝试更改 MobaXterm 中的设置以使用 Windows PATH 环境,即使我重新启动计算机我仍然没有让它工作

unix xterm environment-variables

5
推荐指数
1
解决办法
8064
查看次数

ANSI 转义码在行尾的奇怪行为

重现步骤

考虑以下 shell 命令:

echo -e "\e[41mTest\nTest2\e[0mTest3"
Run Code Online (Sandbox Code Playgroud)

Test在下一行打印并Test2带有红色背景(使用 ANSI 转义码)。Test2直接跟在Test3which is uncolored 之后。

行为

第一次执行此命令时,一切都按预期进行。但是输出不一致。大约 10-20 次调用后,第二行的末尾也变成红色。我首先在我的 C++ 应用程序中偶然发现了这一点。所以我认为它可能与bash无关。

发现后,我认为这可能是gnome-terminal. 然而,行为在xterm.

编辑

感谢 Geno Chen 的评论,我发现当终端用完行并且必须滚动时会发生这种情况。

截图

以下是上述问题的截图:

GNOME 终端

GNOME 终端

终端

终端

有问题的事情

虽然它使我的 C++ 应用程序中的事情有点不清楚,但它并不是一个交易破坏者。但是我想知道我的转义序列是否有问题,或者这是否是 shell 某些部分的错误。如果我可以做些什么来修复它或解决它。

bash shell xterm gnome-terminal

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

将 xterm 重定向到无头机器的背景

我有一个启动 xterm 并转储 uart 日志的应用程序。我能够看到它启动并在 GUI 中转储日志。但是,使用远程会话,我希望 xterm 输出作为后台进程在某处运行,以便我可以在单个终端内来回切换。

使用图形用户界面

在此处输入图片说明

使用远程终端 (SSH)

$ xterm
xterm: Xt error: Can't open display: :0
Run Code Online (Sandbox Code Playgroud)

我试图做类似的事情,但没有成功 -

alias xterm="/bin/bash -c"
Run Code Online (Sandbox Code Playgroud)

我也不想X forwarding在我的本地机器上有并启动一个窗口。

bash ubuntu xterm

5
推荐指数
1
解决办法
198
查看次数