标签: xterm

读取xterm中的当前文本颜色

我正在编写各种实用程序,我真的很喜欢彩色文本.没有什么好看的,只是使用转义序列.我创建了一个具有pprint(msg,color)函数的简单类.在这里找到代码后,我已经很容易地工作.

我遇到的问题是我应该能够在打印后关闭颜色.例如,假设一个用户运行我的程序,它打印几乎所有的默认终端颜色,但有一个错误,我想以红色打印错误.我的错误消息前缀为'\ 033 [0; 32m',消息为红色.不幸的是,在我更改之前,所有文本都是红色的.在我的程序运行时,这通常很好,因为我知道消息应该是什么颜色.但是,程序结束后颜色仍然存在.基本上,我想在程序启动时读取当前颜色,并在完成后恢复它.与退出时脚本恢复pwd的方式相同.

如何读取当前的转义序列?

系统:Red Hat 5.x Bash Python 2.3

谢谢您的帮助.

python bash xterm

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

打开终端时出错:xterm-256color

当我尝试在我的服务器上纳米时,我收到此错误"错误打开终端:xterm-256color." 这是我以前从未见过的,而且上周纳米曾经很好用.即使我使用vi,文件也会打开,但我无法使用普通的vi命令进行操作.当我按下i启动插入模式,然后尝试浏览文档,它只是一个类型A或者B什么的.

唯一改变的是我丢失了我的私钥并且必须生成一个新密钥,所以我必须将新的公钥上传到我的服务器.任何人都知道为什么会这样吗?

服务器正在运行Ubuntu 8.04 Hardy.


打开终端,从菜单终端>首选项>设置>高级菜单中选择,然后在仿真下选择"将终端声明为:xterm-color not xterm-256color"

参考:http://ricochen.wordpress.com/2011/07/23/mac-os-x-lion-terminal-color-remote-access-problem-fix/

vi terminal ubuntu xterm nano

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

使用Swift命令行工具进行颜色输出

我正在用Swift编写命令行工具,我在shell中显示颜色时遇到问题.我正在使用以下代码:

println("\033[31;32mhey\033[39;39m")
Run Code Online (Sandbox Code Playgroud)

甚至

NSFileHandle.fileHandleWithStandardOutput().writeData("\033[31;32mhey\033[39;39m".dataUsingEncoding(NSASCIIStringEncoding, allowLossyConversion: true)!)
Run Code Online (Sandbox Code Playgroud)

当我在php中使用一个简单的echo(文本显示为绿色)时,它有效,但是有一个原因它在Swift命令行工具中不起作用吗?

谢谢!

command colors xterm command-line-interface swift

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

运行xterm -e而不终止

我想运行xterm -e file.sh而不终止.

在文件中,我将命令发送到后台,当脚本完成后,它们仍然没有完成.

我目前正在做的是:

(cd /myfolder; /xterm -ls -geometry 115x65 -sb -sl 1000) 
Run Code Online (Sandbox Code Playgroud)

然后窗口弹出后

sh file.sh
exit
Run Code Online (Sandbox Code Playgroud)

我想做的是:

(cd /myfolder; /xterm -ls -geometry 115x65 -sb -sl 1000 -e sh file.sh)
Run Code Online (Sandbox Code Playgroud)

没有终止并等到后台的命令完成.

谁知道怎么做?

bash execute xterm terminate

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

Emacs,unicode,xterm鼠标转义序列和宽终端

简短版本:当使用emacs的xterm-mouse-mode时,Somebody(emacs?bash?xterm?)拦截xterm的控制序列并用\ 0替换它们.这是宽屏显示器的痛苦,因为只有前223列有鼠标.

罪魁祸首是什么,我该如何解决?

据我所知,这与Unicode/UTF-8支持有关,因为5 - 6年前我上次使用大显示器时不是问题.

血腥细节如下......

谢谢!

Emacs xterm-mouse-mode有一个众所周知的弱点,处理从x = 95开始的鼠标点击.最近版本的emacs采用的解决方法将问题推迟到x = 223.

几年前,我发现xterm以7位八位字节编码位置.给定位置'x'进行编码,X = x-96,发送:

\40+x (x < 96)  
\300+X/64 \200+X%64 (otherwise)  
Run Code Online (Sandbox Code Playgroud)

我们必须从emacs中添加一个给定的x位置,因为xterm中的位置从1开始,而不是零.因此,魔术x = 95数字会弹出,因为它被编码为"\ 300\200" - 第一个转义的数字.有人(emacs?bash?xterm?)对待那些来自ISO 2022的 "C0"控制序列.从x = 159开始,我们改为"C1"序列(\ 301\200),它们也是ISO 2022的一部分.

使用\ 302序列遇到问题,这与当前的x = 223限制相对应.几年前,我能够扩展黑客手动拦截\ 302和\ 303序列,从而解决了这个问题.快进几年,今天我发现我被困在x = 223,因为有人用\ 0取代了这些序列.

所以,我期望点击第1行,第250列来制作

ESC [ M SPC \303\207 ! ESC [ M # \303\207 !
Run Code Online (Sandbox Code Playgroud)

相反,emacs报告(对于任何col> 223)

ESC [ M SPC C-@ ! ESC [ M # C-@ !
Run Code Online (Sandbox Code Playgroud)

我怀疑Unicode/UTF-8支持是罪魁祸首.一些挖掘表明,Unicode标准允许C0和C1序列作为UTF-8的一部分,直到2000年11月,我猜有人没有得到备忘录(幸运的是).但是,\ 302\200 - …

unicode emacs mouse xterm utf-8

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

在Cygwin上startx发生了什么?

我刚换了台式电脑.我以前的计算机和这台计算机都有Windows XP.为了使用我们拥有的许多Linux服务器,我安装了Cygwin及其xterm包.但是,我无法像以前的计算机一样运行startx来启动X-window服务器.我一直在网上看看为什么我的安装中缺少startx,但我还没有找到任何东西.任何帮助将不胜感激.


[做更多的研究]好吧,我刚刚安装了xinit软件包,我以前不记得了.(上次我安装Cygwin时可能需要xterm包.)startx现在存在,但我不会说它有效.它启动的X窗口服务器创建了一个窗口,覆盖我的整个监视器,其中有三个终端,不像我以前使用的旧的25行x 80列单终端窗口.更糟糕的是,我不能像以前一样生成子窗口,这是使用Cygwin和X-windows的真正力量.

cygwin xterm

12
推荐指数
3
解决办法
4万
查看次数

Ruby的256色终端库?

是否有像' Term :: ANSIColor '这样的宝石可以使用256色终端?perl脚本256colors2.pl我的终端中运行良好,我想在我的ruby脚本中使用其中一些颜色,而无需手动插入ANSI代码.

ruby gem ansi xterm 256color

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

vim屏恢复

我在屏幕上使用vim进行开发,如果我退出vim,当前的屏幕内容仍然存在...

在屏幕外(xterm),退出vim将恢复以前的缓冲区(如:

[ server1 ]~$ cmd
      some stuff, some stuff
[ server1 ]~$ cmd
[ server1 ]~$ cmd
Run Code Online (Sandbox Code Playgroud)

)

但不是在屏幕内.

我尝试使用xterm作为屏幕内的终端 - 但不是想要的效果.

感谢帮助!

vim ssh gnu-screen xterm

12
推荐指数
1
解决办法
1252
查看次数

无论如何改变光标"垂直线"而不是一个盒子?

有没有办法将光标更改为"垂直线"而不是XTERM中的框?

盒子:■

line:|

linux xterm

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

如何使xterm.js接受输入?

我正在使用xterm.js进行项目,但我无法接受输入.每当我尝试输入终端时,没有任何事情发生,并且没有文档或示例告诉如何实现此目的.

这就是我所拥有的:

const term = new XTerm({
    cols: 100,
    cursorBlink: true,
    rows: 120
});
term.open(document.getElementById('terminal-window'), true)
term.fit()
term.writeln('Hello World!')
Run Code Online (Sandbox Code Playgroud)

javascript terminal xterm

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