标签: xterm

我使用的是哪种终端类型?

我已经用 Ubuntu 12.04 和 Debian 7 对此进行了测试。当我这样做时

echo $TERM
Run Code Online (Sandbox Code Playgroud)

我得到

xterm
Run Code Online (Sandbox Code Playgroud)

但是,如果我使用下拉菜单“帮助”>“关于”,那么它会显示gnome terminal 3.4.1.1.

这是否意味着我只使用 gnome-terminal?还是只是xterm?还是 gnome-terminal 是 xterm 的扩展?我糊涂了。

terminal-emulator terminal xterm gnome-terminal

57
推荐指数
3
解决办法
11万
查看次数

如何避免终端中的转义序列攻击?

阅读CVE-2009-4487 的细节(这是关于日志文件中转义序列的危险)我有点惊讶。

引用CVE-2009-4487

nginx 0.7.64 将数据写入日志文件而不清理不可打印的字符,这可能允许远程攻击者通过包含终端模拟器转义序列的 HTTP 请求修改窗口的标题,或可能执行任意命令或覆盖文件。

显然,这实际上并不是 nginx 中的安全漏洞,而是终端模拟器中的安全漏洞。

当然,也许cat将日志文件写入终端只是偶然发生的,但是将日志文件写入grep是很常见的。less也许清理转义序列,但谁知道什么 shell 命令不会改变转义序列......

我倾向于同意Varnish 的回应

终端响应转义的智慧通常定期受到质疑,但仍然没有一个主要的终端仿真程序认为适合丢弃这些序列,这可能是在与不再使用的 1970 年代技术兼容的误导尝试中。[..] 从安全的角度来看,让终端仿真程序停止做愚蠢的事情,从而解决这个和其他安全问题,而不是责怪任何和所有写入日志文件的程序,这将更有效率和所有人。

因此我的问题:

我如何保护我的 xterm,以便不再可能通过转义序列执行命令或覆盖文件?

X 的哪些终端模拟器可以抵御这种攻击?

security terminal-emulator xterm special-characters escape-characters

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

在 xterm 标题栏中显示命令

我的 Bash Prompt 当前正在使用以下顺序设置 xterm 标题栏:

PS1='\033]0;\u@\h>\w\007'
Run Code Online (Sandbox Code Playgroud)

是否有一种简单的方法可以在标题栏中显示当前命令。例如,如果我使用 拖尾文件tail -f foo.log,我希望我的标题栏显示tail -f foo.log.

bash prompt xterm window-title

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

单击时 GNU 屏幕显示奇怪的字符

我在 GNU 屏幕上有一个小问题。GNU 屏幕会话在我的 RaspberryPi 上运行。现在有时,当我加入它时,如果我在终端中单击(我在 Fedora 上使用终结器),我会看到奇怪的字符。这些字符取决于我鼠标的坐标……似乎是对发送到 GNU Screen 的点击事件的错误解码。这些字符包括诸如

kM#kM -  Z3#Z3  -  q-#q-
Run Code Online (Sandbox Code Playgroud)

等等…

我首先认为这是我的问题,tty所以我去在我的 RaspberryPi 上打开了一个新的 GNU Screen 会话:完全没问题。
stty -a在两个会议上都做了一个,发现有区别。然后我stty -g > ~/stty-good-settings在好的会话上做了一个 并将它加载到坏的会话上stty `cat ~/stty-good-settings`(我比较了之后的值,成功加载了设置)但是我在一个屏幕会话中仍然有问题,而不是另一个!

我不确定发生了什么,如果这是由于我的TERM价值(两者相同)、我的tty设置、我的终端......

gnu-screen xterm tty

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

zsh:在 tmux 中设置 TERM=screen-256color,但在没有 tmux 的情况下设置 xterm-256color

我需要我的$TERMxterm-256colorTMUX以外(在“普通”与zsh的终端),但screen-256color里面TMUX。

首先我试过:

  • 添加export TERM='xterm-256color'到我的~/.zshrc.
  • 添加set -g default-terminal "screen-256color"到我的~/.tmux.conf

现在,当我打开终端(比如 xterm)时,TERMxterm-256color,这是正确的。但是当我运行 tmux 时,又TERMxterm-256color

然后我尝试在我的~/.zshrc. 现在,当我打开终端时,TERMxterm,而当我运行 tmux 时,TERMscreen-256color。如此看来,如果我设置TERM.zshrc,首先TMUX套TERMscreen-256color,运行外壳(这是zsh的),和zsh的读取.zshrc和复位TERMxterm-256color

那么,如何让TERMxterm-256color在“普通”终端,并screen-256color在TMUX?

zsh tmux xterm

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

如何在 X 终端中配置双击行为?

在不同的 Unix/Linux 系统下,我观察到 X 终端应用程序(例如 xterm)中的不同双击行为。

有时双击会左右选择所有内容,直到下一个非字母字符(例如,它选择光标下的单词)。

有时直到下一个空白/eol 之前的所有内容都被选中(例如,光标下的完整路径被选中)。

我如何配置双击行为 - 比如 - 在 xterm 中(因为它在大多数系统上可用)?

目前,我发现对于大多数用例来说,第二种模式更方便。

xterm mouse

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

HIDPI 显示器上更大的“xterm”字体

在适当的桌面环境中愉快地使用不同的终端模拟器(如KonsoleGnome-TERMINAL和最近的XFCE Terminal)几年后,我决定使用旧的xterm及其位图字体。它工作得很好,它支持 Unicode,并且默认的固定字体系列包含几乎所有语言的字符,这很棒。

但是我遇到了一个重要的问题。字体真的很小。即使是所谓的尺寸(即 10x20 位图字体)对我来说也非常小,无法使用。

我对 XFCE 环境的默认设置设置为 120 dpi,但xpdyinfo报告 97x97 DPI

$ xdpyinfo |grep resolution
  resolution:    97x97 dots per inch
Run Code Online (Sandbox Code Playgroud)

所以我试图用 改变 DPI xrandr,但它没有帮助。

$ xrandr --dpi 120
Run Code Online (Sandbox Code Playgroud)

结果似乎被应用

$ xdpyinfo | grep resolution
  resolution:    120x120 dots per inch
Run Code Online (Sandbox Code Playgroud)

但它根本不会改变分辨率xterm。我什至尝试使用缩放,但它影响了整个 X,而不是单个应用程序:

$ xrandr --output LVDS1 --scale 0.5x0.5
Run Code Online (Sandbox Code Playgroud)

Qt的和GTK的解决方法,但对于Xlib基于应用程序一样XtermXcalcXmanXfige …

xterm fonts x11 xfig

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

什么是 bash 的元键?

我试图用来xmodmap映射META_LMENU键,但它似乎不被接受bash为元键。所以,我想知道这些组件(键盘、X、xterm、bash)如何与元键和超级键相关。任何解释将不胜感激。

让我换一种说法。例如,bash 手册页说,函数 yank-nth-arg 绑定到M-C-y并且当我按 时它可以工作Esc-Control-y。但是我觉得这有点麻烦。那么如何让 bash 接受另一个键作为Meta(如Menu)作为其所有默认绑定?

bash keyboard-shortcuts xterm

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

如何找到 XTerm 正在使用的默认(字体)资源?

如果我xterm使用它的默认位图字体启动,然后从“VT 字体”菜单中选择“大”字体(通过ctrl+right mouse),我会得到一个非常有用的位图字体,并且显然对日语字符支持很好。

我想知道这种字体是什么,以便我可以在其他地方使用它。不幸的是,我没有找到关于 XTerm 使用什么默认设置的信息(即当没有明确指定时)。许多站点都展示了如何使用 X 资源来指定新设置(例如特定字体),但我所见过的站点都没有说明如果我什么都不做就使用什么默认值。

我试过观察字体,它看起来与 相似且宽度相同9x15,但它使用了更多的垂直空间。但是,它似乎没有9x15不同的行距,因为直接指定此字体无法显示“大”可以处理的一些日语字符。

虽然我很高兴知道这种特定字体是什么,但我真的很想知道在哪里可以找到XTerm 对其资源使用的默认值。如果有什么不同,我正在运行 64 位 Ubuntu 12.04 LTS。

[我已经看到关于这个主题的这个问题,这就是为什么我特别询问默认值而不是试图从正在运行的 XTerm 中获取实时值。]

defaults xterm fonts x11 x-resources

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

如何从 xterm(Awesome、Debian、VirtualBox)复制文本?

我在 VirtualBox 实例中运行了最小的 Debian 安装,手动安装了 X11 和 Awesome 窗口管理器(还没有任何自定义配置)并安装了 VirtualBox 附加功能(并在设置中启用了共享剪贴板)。但是,从 xterm 终端复制粘贴文本似乎仍然不起作用:CTRL+C作为信号发送到终端,Shift+Insert插入我选择的文本(这可能意味着它以某种方式被复制到某个缓冲区),但它仍然无法从主机操作系统中使用。

xterm x11 clipboard virtualbox

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