error opening terminal 解决方法

ncurses库没有安装设置正确,可能出现如下的错误信息:

error opening terminal Linux
error opening terminal xterm
error opening terminal vt100
error opening terminal vt102
error opening terminal unknown
error opening terminal cgywin
...
解决办法:
1. 首先要确定ncurses库已经正确安装了。在debian, Ubuntu上,可以用dpkg -l | grep ncurses 查看ncurses库是否已安装。
2. 如果ncurses已经安装了,需要查看TERM, TERMINFO两个环境变量已经设置正确了。
echo $TERM
echo $TERMINFO
如果没有设置正确,需要设置为正确的值。
关于TERMINFO, 应设置为terminfo的路径。www.linuxidc.com比如/usr/share/terminfo 或者 /usr/lib/terminfo。 查看terminfo目录下是否保存了终端信息文件:其中通常分为a, b, c, d...z这些字母目录,每个目录中包含了以该字母开头的term信息。比如vt100放在"v"目录中。我们需要的term,必须在对应的目录中存在term信息。确定这些信息后,就可以设置TERM和TERMINFO信息:
export TERMINFO=/usr/share/terminfo
上面的设置必须保证/usr/share/terminfo中存在term信息,且/usr/share/terminfo/l/是存在的。

update-rc.d使用

在Linux系统下,一个Services的启动、停止以及重启通常是通过/etc/init.d目录下的脚本来控制的。然而,在启动或改变运行级别时,是在/etc/rcX.d中来搜索脚本。其中X是运行级别的number。本文将解释如何启动、关闭和修改服务的运行。当你在Debian下安装一个新的服务,比如Apache2,安装完成后,默认情况下它会启动,并在下一次重启后自动启动。但是如果你不是一直需要这个服务,只在需要的时候启用它,你可以禁用它。直到你需要使用的时候,执行如下指令:
/etc/init.d/apache2 start
要实现这个目的,你需要先在/etc/rcX.d目录中删除所有apache2的符号链接,但这个方法操作麻烦,且效率低下。因此,我们建议你使用update-rc.d命令来实现这个功能。
1、删除一个服务
如果你想手动的完全禁用Apache2服务,你需要删除其中的所有在/etc/rcX.d中的单一链路。但是如果使用update-rc.d,则非常简单:
update-rc.d -f apache2 remove
参数-f是强制删除符号链接,即使/etc/init.d/apache2仍然存在。 Note:这个命令仅仅禁止该服务,直到该服务被升级。如果你想在服务升级后仍然保持被禁用。应该执行如下的命令:
update-rc.d apache2 stop 80 0 1 2 3 4 5 6 .
2、增加一个服务
如果你想重新添加这个服务并让它开机自动执行,你需要执行以下命令:
update-rc.d apache2 defaults
并且可以指定该服务的启动顺序:
update-rc.d apache2 defaults 90
还可以更详细的控制start与kill顺序:
update-rc.d apache2 defaults 20 80
其中前面的20是start时的运行顺序级别,80为kill时的级别。也可以写成:
update-rc.d apache2 start 20 2 3 4 5 . stop 80 0 1 6 .
其中0~6为运行级别。 update-rc.d命令不仅适用Linux服务,编写的脚本同样可以用这个命令设为开机自动运行

Ubuntu 安装 端口转发工具rinetd

1,下载 第一中方式 用 apt-get install rinetd 或者从官网下载http://www.boutell.com/rinetd/
2,配置,端口转发的配置在 /etc/rinetd.conf
配置规则

0.0.0.0 8080 172.19.94.3 8080
0.0.0.0 2222 192.168.0.103 3389
1.2.3.4 80 192.168.0.10 80

说明一下(0.0.0.0表示本机绑定所有可用地址)
将所有发往本机8080端口的请求转发到172.19.94.3的8080端口
将所有发往本机2222端口的请求转发到192.168.0.103的3389端口
将所有发往1.2.3.4的80端口请求转发到192.168.0.10的80端口

命令格式是
bindaddress bindport connectaddress connectport
绑定的地址 绑定的端口 连接的地址 连接的端口

[Source Address] [Source Port] [Destination Address] [Destination Port]
源地址 源端口 目的地址 目的端口

3,打开

启动程序
pkill rinetd ##关闭进程
rinetd -c /etc/rinetd.conf ##启动转发
把这条命令加到/etc/rc.local里面就可以开机自动运行 好像不添加也行

备份与还原Linux系统

备份系统:
cd /mnt
tar -cvpjf /mnt/hbnhbnhbn/backup.tar.bz2 --exclude=hbnhbnhbn *
还原系统:
tar -xvpjf /media/xxx/backup.tar.bz2 -C /tmp/root

备份MBR:
dd if=/dev/sda of=/tmp/mbr bs=1048576 count=1

 

快速
tar cvpzf backup.tgz / --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys
高品质
tar cvpjf backup.tar.bz2 / --exclude=/proc --exclude=/lost+found --exclude=/backup.tar.bz2 --exclude=/mnt --exclude=/sys

远程连接Ubuntu Server 的图形界面

方法一:

安装xfce4图形桌面环境:

sudo apt-get install xfce4

安装vncserver服务:

sudo apt-get install vnc4server

安装成功后,开启vnc服务

如果你想访问root用户的桌面环境就用sudo vncserver,如果访问当前普通用户的环境就直接vncserver即可,首次启动会要求设置密码,用来在客户端访问时使用,后面可以使用vncpasswd 修改。

启动vnc成功后,会在主目录下产生一个.vnc目录。

修改.vnc中的xstartup文件:(如不修改,vnc连接后只能显示终端,修改后可以用xfce4显示)

#!/bin/sh

# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
#x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &

sesion-manager & xfdesktop & xfce4-panel &
xfce4-menu-plugin &
xfsettingsd &
xfconfd &
xfwm4 &

 

重启该服务:

vncserver -kill :1

vncserver :1

 

开机自动运行:

vim /etc/init.d/vncserver

#!/bin/bash
PATH="$PATH:/usr/bin/"
export USER="root"
DISPLAY="1"
DEPTH="16"
GEOMETRY="1024x768"
OPTIONS="-depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY}"
. /lib/lsb/init-functions

case "$1" in
start)
log_action_begin_msg "Starting vncserver for user '${USER}' on localhost:${DISPLAY}"
su ${USER} -c "/usr/bin/vncserver ${OPTIONS}"
;;

stop)
log_action_begin_msg "Stoping vncserver for user '${USER}' on localhost:${DISPLAY}"
su ${USER} -c "/usr/bin/vncserver -kill :${DISPLAY}"
;;

restart)
$0 stop
$0 start
;;
esac
exit 0

设置文件权限 与 开启服务
chmod +x /etc/init.d/vncserver && service vncserver start

update-rc.d vncserver defaults

 

方法二:(已经不用了,客户端比较大,在Windows 7上无法使用)

想要远程连接你的Ubuntu服务器的图形界面么?这里有个简单的指导告诉你如何使用X2Go来实现,这是一个NX远程桌面协议的衍生版本。
你所需要做的就是在服务器上面安装X2Go服务端和桌面环境,在客户机上安装X2Go的客户端。
在Ubuntu服务器上面的操作:
可以在Ubuntu 14.04 LTS, Ubuntu 12.04 LTS 和 Ubuntu 10.04 LTS 通过PPA找到最新的X2Go服务端版本。先连接上你的Ubuntu服务器,使用下面的命令来安装PPA和相关的包。
在添加PPA之前,需要先安装这个 add-apt-repository:
sudo apt-get install python-software-properties software-properties-common
添加PPA :
sudo apt-add-repository -y ppa:x2go/stable
刷新包列表:
sudo apt-get update
安装X2Go服务器端
sudo apt-get install x2goserver x2goserver-xsession
在这个例子里面我会使用XFCE4作为Ubuntu服务器的桌面环境,安装Xfce4 :

sudo apt-get install xfce4
最后执行 reboot 命令来重启服务器 。

如果你的Ubuntu服务器没有设置主机名,在连接的时候会报错。因此执行下面的命令来设置主机名,把plato替换成你需要的名字:

echo "plato" > /etc/hostname
hostname -F /etc/hostname

Windows远程链接工具下载:http://wiki.x2go.org/doku.php/doc:installation:x2goclient

 

安装Firefox

打开终端:
sudo add-apt-repository ppa:mozillateam/firefox-next
sudo apt-get update
sudo apt-get install firefox

 

安装中文字体

#“文泉驿”字体:
sudo apt-get install ttf-wqy-zenhei ttf-wqy-microhei