远程管理linux非常的不方便,都是基于字符界面的管理平台。Linux图形界面的强大功能没有发挥出来。下面简单介绍一下linux自带的vnc-server,来管理linux平台。
代码::
#uname -a
Linux server1.linux <chsdate year="1899" month="12" day="30" islunardate="False" isrocdate="False" w:st="on"></chsdate>2.4.21-4.ELsmp #1 SMP
#rpm -q vnc-server
vnc-server-4.0-0.beta<chsdate year="1899" month="12" day="30" islunardate="False" isrocdate="False" w:st="on"></chsdate>4.1.1
用root用户管理linux。
#vncserver
passwd: //如果这个帐号是第一次运行vncserver,则会要求你输入连接的密码。
verify:
New 'server1.linux:4 (demo)' desktop is server1.linux:1
Starting applications specified in /home/demo/.vnc/xstartup
Log file is /home/demo/.vnc/server1.linux:1.log
上面这段话表示起动了一个图形终端,编号为1,要记住这个编号,等下登录时需要提供这个编号。
如果你要停止这个进程,使用
代码::
$vncserver -kill :1
就可以了,后面的数字表示图形终端编号。
ok,这样,x-server已经起动了。
我们来测试一下。
找另外一台机器,如果是Linux的系统,那就比较方便,直接使用下面的命令
代码::
#vncviewer xx.xx.xx.xx:4 ;连接方式是ip地址:编号,这里的编号是4.
会弹出一个对话框,要求你输入密码,如果密码正确,这是就会出现图形终端了。
如果是windows的机器,那就下载一个vnc的软件吧。我用的是realVNC。
连接方式是一样的。
不过大家也看到了,虽然图形界面是看到了,但是好丑呀!的确,因为默认的图形终端采用xterm+twm,桌面上什么都没有。
如果能使用默认的GNOME或者KDE或者FVWM等X-manager该有多好?
没有问题,接下来的配置就是解决这个问题。
每当一个帐号运行一次vncserver后,就会在家目录下创建.vnc目录。
里面有一个可执行脚本xstartup。看看里面的内容就知道了,默认起动的是twm。
那么我们就修改这个文件吧,去掉里面的所有内容,写入下面一行
代码::
gnome-session
这样就指定起动gnome。
也可以写入
代码::
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
表示起动默认的图形管理器。
保存退出,然后重新起动vncserver。
代码::
$vncserver -kill :4
$vncserver
然后到客户端去连接X-server,看是不是变得漂亮些啦。
可能你又会问了,如果我有1000个用户呢,是不是每一个用户都需要去修改这个文件呀,那多麻烦呀。
那我们就找到根源吧,看到底xstartup是谁创建的。
找到/usr/bin/vncserver,他是一个perl脚本程序。
打开看看
转到43行,你就会看到
$defaultXStartup变量的定义了,看到了吧。
这下你知道怎么改了吧。
把他变成这个样子:
代码::
$defaultXStartup
= ("#!/bin/shnn".
"# Uncomment the following two lines for normal desktop:n".
"unset SESSION_MANAGERn".
"exec /etc/X11/xinit/xinitrcnn".
"#[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresourcesn".
"#xsetroot -solid greyn".
"#vncconfig -iconic &n".
"#xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &n".
"#twm &n");
实际上就是去掉最前面的两行注释,注释掉下面的几行。保存退出。