我想知道我的程序的输出是直接进入终端还是被重定向到管道或文件.
因为如果它进入终端我想输出转义序列来制作彩色文本,但是在文件或管道中那些不受欢迎.
我知道这是可能的,因为"ls"做到了,有谁知道怎么做?
我正在运行Fedora 20(GNOME)并试图将monodevelop用于我的C++类.我安装了gbd附加组件和xterm.当我尝试调试它时会抛出错误:
System.InvalidOperationException:无法创建控制台.在MonoDevelop.Debugger.Gdb.GdbSession.OnRun(Mono.Debugging.Client.DebuggerStartInfo startInfo)[0x00000] in:0 at Mono.Debugging.Client.DebuggerSession + c__AnonStorey1.<> m__0()[0x00000] in:0
我发现了这个问题:https://github.com/aBothe/Mono-D/issues/396
解决方案似乎是删除gnome-terminal或确保xterm不是到另一个终端的符号链接.我宁愿预先形成后者,但我不确定如何完成该解决方案.
当我在〜/ .bash_profile中设置导出TERM = xterm-256color时,我遇到了很奇怪的问题.当我尝试运行nano或emacs时,我收到以下错误.
纳米:
.rror opening terminal: xterm-256color
Run Code Online (Sandbox Code Playgroud)
emacs的:
is not defined.type xterm-256color
If that is not the actual type of terminal you have,
use the Bourne shell command `TERM=... export TERM' (C-shell:
`setenv TERM ...') to specify the correct type. It may be necessary
to do `unset TERMINFO' (C-shell: `unsetenv TERMINFO') as well.
Run Code Online (Sandbox Code Playgroud)
如果我在shell中手动输入以下内容就可以了
export TERM=xterm-256color
Run Code Online (Sandbox Code Playgroud)
我很难过.
我正在尝试在bash / xterm上启用反向视频,以使文本为黑色,而前景为白色。但这不起作用。这是我的命令:
echo -n -e \\x1B\\x07maaa\\x1B[m
Run Code Online (Sandbox Code Playgroud)
有什么想法为什么它的表现不如预期吗?
在Xubuntu 16.04(即带有XFCE 的Ubuntu 16.04)的xvnc4 会话中运行的xterm 中,下划线字符消失。这个问题在Xubuntu 14.04中不会出现。我的问题是:如何避免这种情况?如果有下划线,我需要它可见。
在使用与 X11 服务器相同的机器的普通 X11 窗口中,下划线显示正常。(奇怪,嗯?)
我查看了发送到终端的实际字符,使用 xterm '-l'(日志记录)功能,然后在 emacs 中查看日志(使用相同的字体 dejavu)。事实证明,下划线字符被发送到终端,就像它一样,所以我不认为这是某种 terminfo 问题。字符只是没有出现在终端窗口中——而且消失只发生在 Xvnc 中。在同一个 Xvnc 窗口中运行的 Emacs 中,下划线字符显示出来,但它是灰色而不是黑色;我不知道为什么。
作为仅由于我需要解决上述问题而出现的附带问题,我在使用 xterm 尝试不同字体时遇到了麻烦。如果我根本不指定字体,即,如果我在启动 xterm 时不指定 '-fa' 选项,则默认字体显示下划线。但是,默认字符大小对于我老化的眼睛来说太小了,如果没有 -fa,则 -fs(字体大小)没有任何影响。其他字体给出其他结果,都不尽人意;例如,大多数 TTF 字体的间距很奇怪。
我们通常使用 xterm 的功能组合;对我们来说,一个典型的调用是:/usr/bin/xterm -fg black -bg wheat -cr red -ah -bc -l -sl 10000 -sb -si -fa dejavu -fs 10
我一直无法找到这个问题的答案。我在 xterm 中启动了三个程序作为演示自动化脚本。我需要记录 xterm 窗口的结果。现在,我的脚本如下所示:
#!/bin/bash/sh
echo "NOTE - THIS PROCESS TAKES APPROXIMATELY 60 SECONDS TO RUN"
cd ~/myProject/ProgramOne
xterm -e ProgramOne progone.config 2>&1 /tmp/logs/p1.txt &
cd ~/myProject/ProgramTwo
xterm -e ProgramOne progtwo.config 2>&1 /tmp/logs/p2.txt &
cd ~/myProject/ProgramThree
xterm -e ProgramOne progthree.config 2>&1 /tmp/logs/p3.txt &
# allow the scripts to collect data
sleep 60
# kill the xterm sessions from running since this is just a demonstration
pkill -9 xterm
echo "******************************************"
echo "START PROGRAMS SCRIPT COMPLETE"
echo "******************************************"
Run Code Online (Sandbox Code Playgroud)
我已经证实~/myProject/ProgramOne …
多年来我一直在我的windows box上使用Hummingbird Exceed作为我的Xserver.我几乎总是使用xterms,但有时打开的窗口数量可能会失控,难以管理.想知道是否有一个终端模拟器在WinXP上运行,支持选项卡式窗口,类似于KDE上的Konsole.
我一直试图将这个脚本正确地使用几个小时并且相当远,但是我被困在将命令传递到X11 xterm窗口.
我需要连接到xterm telnet服务器.这是正常的程序:
xterm -fa Monaco -fs 12这将打开一个X11窗口,具有更大的字体)telnet -l username server ip因为一些没有终端知识的用户必须能够访问这个连接,我尝试了几种编写可以在Mac上运行的脚本的方法.并打开连接以允许用户在打开的telnet窗口中工作.我最终使用AppleScript,并编写了以下脚本:
tell application "X11"
activate
end tell
tell application "System Events"
tell process "X11"
tell menu bar 1
tell menu "Applications"
click menu item "Terminal"
tell window 1
run
do script "xterm -fa Monaco -fs 12"
delay 2
do script "telnet -l meister 192.169.25.1"
end tell
end tell
end tell
end tell
end tell
Run Code Online (Sandbox Code Playgroud)
但不幸的是,这不起作用.它只打开一个X11 xterm窗口,没有更大的fonface,没有终端命令,它只是一个空窗口.
你是否有人知道如何更改脚本以便它可以正常工作,或者有可能用其他类型的脚本而不是AppleScript来实现它?
非常感谢您的帮助!
最近我开始使用&favor,urxvt因为它有大量的选项和透明功能。
不幸的是,一些键映射Vim在urxvt.
例如,我将Ctrl + Up/Down和Shift + Up/Down分别映射到 5 个 10 行上/下移动或Ctrl + Left/Right1 个字左/右移动。
这些移动命令在 中工作没有任何问题xterm,但它们拒绝在 中工作urxvt:它们切换到插入模式并将a, b,c或d作为输入粘贴到我的 vim 中。
为什么会出现这种情况?
我还使用zsh作为我的 shell 并映射Ctrl + Left/Right到在 中向左/向右移动 1 个单词zsh:这也停止在 中工作urxvt(同时仍在 中工作xterm)。
我怎样才能urxvt正确映射按键?