gop*_*410 60 linux terminal debian
当我使用我的帐户(具有 sudo 权限)通过 Debian ssh 进入另一台机器时,我的退格键在按下时会生成一些尴尬的符号。另外Tab&del键也不起作用。
另一方面,我在同一台机器上还有另一个帐户,当我通过这个帐户 ssh 时,它的终端工作得很好。我无法弄清楚为什么会发生这种情况。
小智 61
除了“stty”解决方案,您还可以尝试“TERM”解决方案。
您从某个终端(putty、solaris dterm、debain xterm、you-name-it)通过 ssh 连接到您的 Debian,该终端通过 TERM 环境变量宣布功能(包括退格键和 Tab 键等)。
因此,在 ssh 到 unix 主机(它不依赖于 debian 或其他主机)之后,根据您的终端设置 TERM 变量。考虑你使用 bash 作为 shell 和 vt100 作为终端:
export TERM=vt100
Run Code Online (Sandbox Code Playgroud)
ps: TERM 应该通过 ssh 自动宣布,但在某些情况下,这种魔法会失败。
小智 52
我以前见过这样的问题。
以退格键为例,远程主机希望将某些字符用作“擦除/退格”,当您在终端中按退格键时,终端程序将向远程主机发送一些字符,如果远程主机期望的内容与此不同终端程序发送的字符,你会遇到这个问题。因此,快速修复如下:
#stty -a
在远程主机中运行命令,并在输出中找到预期的擦除代码。说erase=^?
。^H
。#stty erase ^H
. 您可以使用与上述相同的方法修复 Tab 问题。
ice*_*ame 22
这是因为您的默认 shell 是sh
,要使用bash
,只需bash
从您的 shell运行。
bash
Run Code Online (Sandbox Code Playgroud)
设置bash
为默认 shell:
chsh -s /bin/bash
Run Code Online (Sandbox Code Playgroud)
或者
sudo chsh -s /bin/bash yourusername
Run Code Online (Sandbox Code Playgroud)
小智 7
我通常使用它来修复终端中任何时髦的字符输出。它将所有特殊字符重置为其默认值。
stty sane
Run Code Online (Sandbox Code Playgroud)
从 stty 手册页:
与 cread -ignbrk brkint -inlcr -igncr icrnl -iutf8 -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echoonl echoonl 相同-xcase -tostop -echoprt echoctl echoke,所有特殊字符为其默认值
小智 5
除了保罗的回答,如果你想保留彩色输出的能力,你可以使用 xterm-88color
echo 'export TERM=xterm-88color' >> ~/.bashrc
source ~/.bashrc
Run Code Online (Sandbox Code Playgroud)
小智 5
验证远程主机 shell TERM 设置是否与终端的术语设置 (localhost)匹配,并且远程主机支持 TERM 设置。
例如:
$ echo $TERM
xterm-256color
Run Code Online (Sandbox Code Playgroud)
您不需要打开 tmux。我使用 tmux 来强制错误,因为它使用相对不常见的终端配置。
$ echo $TERM
tmux-256color
Run Code Online (Sandbox Code Playgroud)
$ ssh <remote host>
.
.
# Logged into remote host now run...
$ echo $TERM
tmux-256color
Run Code Online (Sandbox Code Playgroud)
因此 tmux 与远程主机正确通信,但我们遇到了退格键或其他一些匹配键问题。让我们检查远程主机支持哪些终端。
$ toe -a
xterm-256color xterm with 256 colors
xterm-color generic "ANSI" color xterm (X Window System)
xterm X11 terminal emulator
linux linux console
dumb 80-column dumb tty
ansi ansi/pc-term compatible with color
Run Code Online (Sandbox Code Playgroud)
看起来远程主机不支持tmux-256color
tmux 发送的 TERM 值。它确实支持xterm-256color
我们知道我们的终端应用程序支持的功能。
export TERM=xterm-256color
Run Code Online (Sandbox Code Playgroud)