Joã*_*nto 13 command-line bash
升级到 Maverick 后,我将 TERM 变量设置为“哑”,这不会发生在从 Lucid 运行的同一个主目录中,而且我没有手动更改与 TERM 相关的任何内容。
知道从哪里设置 TERM 变量吗?
Jay*_*ren 13
为了详细说明 Gilles 所说的话,假设您使用 Putty 从 Windows 远程连接到您的 ubuntu。
在腻子配置选项中,在连接->数据下有一个名为终端类型字符串的设置。您可以在那里设置您的 TERM 并且 putty 指示 SSH 设置该环境变量。在此之后的某个时刻,您的 shell 将被执行,可能是 /bin/bash 并且它从其父进程(可能是 sshd 进程)获取其环境。
如果您从远程 linux 机器 ssh 也是如此,它只是本地 TERM 环境变量通过 ssh 传递到远程连接。
在终端模拟器的情况下,终端模拟器的工作是设置 TERM 环境变量。例如,getty 将 TERM 设置为“linux”并派生一个 shell 进程 (/bin/bash)。或 gnome-terminal 将 TERM 设置为“xterm”并派生一个 shell 进程。
Gil*_*il' 11
要从字面上回答您的问题,终端模拟器应该设置$TERM.¹
要解决您的问题,至少需要知道您使用的是哪种终端仿真器。这可能是终端模拟器中的错误或配置错误,或者是 shell 启动文件的问题(可能~/.bashrc,但也可能是~/.bash_profile,/etc/bashrc,/etc/profile,...)。
¹假设您没有使用硬件终端;那么它将是 的参数getty,从inittab(使用 SysVinit 的旧版本)或/etc/init/tty*.conf(Ubuntu 9.10,使用 Upstart)调用。
| 归档时间: |
|
| 查看次数: |
27547 次 |
| 最近记录: |