由于客户需要充分利用花了N多money购买的服务器,而服务器上运行的是Linux AS,客户又不太会使用文本模式,因此只好采用配置X-server的方式来给每一个用户一个图形终端了,这多亏了X-windows设计的先进性呀。 为了简单,我就使用了Linux自带的vnc-server。 代码:: #uname -a Linux server1.linux 2.4.21-4.ELsmp #1 SMP #rpm -q vnc-server vnc-server-4.0-0.beta4.1.1
你可以使用特定的帐号来运行你的vncserver命令。这样可以做到同时有多个用户登录图形终端。同时一个图形终端编号只能有一个用户登录。 代码:: #useradd demo #passwd -d demo #su demo $vncserver passwd: //如果这个帐号是第一次运行vncserver,则会要求你输入连接的密码。 verify: New 'server1.linux:4 (demo)' desktop is server1.linux:4 Starting applications specified in /home/demo/.vnc/xstartup Log file is /home/demo/.vnc/server1.linux:4.log
上面这段话表示起动了一个图形终端,编号为4,要记住这个编号,等下登录时需要提供这个编号。 如果你要停止这个进程,使用 代码:: $vncserver -kill :4
就可以了,后面的数字表示图形终端编号。 ok,这样,x-server已经起动了。 我们来测试一下。 找另外一台机器,如果是Linux的系统,那就比较方便,直接使用下面的命令 代码:: #vncviewer xx.xx.xx.xx:4 ;连接方式是ip地址:编号,这里的编号是4.
会弹出一个对话框,要求你输入密码,如果密码正确,这是就会出现图形终端了。 如果是windows的机器,那就下载一个vnc的软件吧。我用的是winVNC。 连接方式是一样的。 不过大家也看到了,虽然图形界面是看到了,但是好丑呀!的确,因为默认的图形终端采用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");
实际上就是去掉最前面的两行注释,注释掉下面的几行。保存退出。 你再创建一个帐号,运行vncserver看看。 是不是默认的图形终端就修改了呢? 我的任务完成了。 需要去面试了。 大家试试吧。
PHP has encountered an Access Violation at 01A30AFD
|