$TERM 设置为“dumb”会导致挂起问题

$TERM 设置为“dumb”会导致挂起问题

我刚刚从 11.04 升级到 11.10。到目前为止,我很喜欢它,一切似乎都变得快捷多了。

现在我只遇到了一个小问题。当我尝试暂停笔记本电脑时,它不起作用 - 相反,它会淡出屏幕,将其遮挡,然后立即唤醒。

我检查了 /var/log/pm-suspend.log 中的日志,以下片段似乎相关:

/usr/lib/pm-utils/sleep.d/000kernel-change suspend suspend: success.
Running hook /usr/lib/pm-utils/sleep.d/00clear suspend suspend:
TERM environment variable not set.

/usr/lib/pm-utils/sleep.d/00clear suspend suspend: Returned exit code 1.
Sat Nov 19 12:23:20 CET 2011: Inhibit found, will not perform suspend
Sat Nov 19 12:23:20 CET 2011: Running hooks for resume

/usr/lib/pm-utils/sleep.d/00clear 中提到的脚本内容如下:

#!/bin/bash
clear

当我手动打开任意终端时,$TERM 会被设置为“linux”或“xterm”。然而,当执行 00clear 命令时,$TERM 却被设置为“dumb”。

两个问题:

  • 运行 00clear 脚本时 $TERM 的正确值是什么?
  • 在哪里可以设置它?

我已经在网上寻找解决方案,但是我只能找到有关如何在常规终端中配置 $TERM 的信息(并且这个设置正确)。

答案1

你可以把你的TERM设置放在一个小脚本片段中/etc/profile.d/setTERM

# Set TERM to something reasonable  
TERM=<whatever>  
export TERM  

对于<whatever>,阅读man clear应该会引导您了解man terminfo,它向您展示了如何选择终端类型。

设置TERM为 中的文件名之一/usr/share/terminfo/*/*,这样clear将能够查找要输出的字符序列以“清除屏幕”。

如果是空的就令人担忧/usr/share/terminfo

我的系统显示:

walt@wombat:~(0)$ dpkg -S /usr/share/terminfo  
ncurses-term, ncurses-bin: /usr/share/terminfo  
walt@wombat:~(0)$ apt-cache search ncurses-term\|ncurses-bin  
ncurses-bin - terminal-related programs and man pages  
ncurses-term - additional terminal type definitions  

我认为要想clear幸福,这两个方案中的一个或者两个都是必需的。

相关内容