红联Linux门户
Linux帮助

windows下多用户远程链接ubuntu系统

发布时间:2016-05-09 15:29:01来源:cnblogs.com/txg198955作者:Kevin.Tu

这个问题真的是困扰我很久很久了,花了我接近一周的时间,查阅了几乎网上的所有博客,google百度都搜遍了,大神也请了好几回,一直没有搞定。今天终于自己摸索着完美解决了。

不吹牛的说,本篇文章绝对是中文网上上解决此问题不多的文章之一。


1. 首先ubuntu系统,建议安装英文语言的,我装的是14.04英文语言的。


2. 然后来安装xubuntu桌面(xfce4): $ sudo apt-get install xubuntu-desktop


3. ubuntu系统默认的是gnome桌面,我们需要先把此桌面卸载(之所以卸载gnome,是因为google出来说xrdp和gnome组件冲突会出现多用户链接桌面gray blank的情况):$ sudo apt-get autoremove gnome-*


4. 安装xrdp: $ sudo apt-get install xrdp, $ sudo apt-get install vnc4server tightvncserver

安装更改设置/usr/share/applications/ 目录下点击Desktop Share图标。勾下如下选择:

windows下多用户远程链接ubuntu系统

然后在windows下用单用户远程连接试一下: 采用sesman-Xvnc输入用户名和密码:

windows下多用户远程链接ubuntu系统


5. 接下来可以参考链接http://askubuntu.com/questions/581979/ubuntu-14-10-multiple-simultaneous-independent-remote-desktop-like-connection(google才能打开)。

1)新建用户:$ sudo adduser test1  

2)run vnc:$ vncserver, 此步骤将会得到如下:

You will require a password to access your desktops.

Password:
Verify:

Creating default startup script /home/test1/.vnc/xstartup
Starting applications specified in /home/test1/.vnc/xstartup
Log file is /home/test1/.vnc/server1:1.log
 
3)  replace /home/test1/.vnc/xstartup content with below

#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
startxfce4 &

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &

4)新建文件 /etc/init.d/vncserver,并在vucserver里面添加以下内容

#!/bin/bash

unset VNCSERVERARGS
VNCSERVERS=""
[ -f /etc/vncserver/vncservers.conf ] && . /etc/vncserver/vncservers.conf
prog=$"VNC server"
start() {
. /lib/lsb/init-functions
REQ_USER=$2
echo -n $"Starting $prog: "
ulimit -S -c 0 >/dev/null 2>&1
RETVAL=0
for display in ${VNCSERVERS}
do
export USER="${display##*:}"
if test -z "${REQ_USER}" -o "${REQ_USER}" == ${USER} ; then
echo -n "${display} "
unset BASH_ENV ENV
DISP="${display%%:*}"
export VNCUSERARGS="${VNCSERVERARGS[${DISP}]}"
su ${USER} -c "cd ~${USER} && [ -f .vnc/passwd ] && vncserver :${DISP} ${VNCUSERARGS}"
fi
done
}
stop() {
. /lib/lsb/init-functions
REQ_USER=$2
echo -n $"Shutting down VNCServer: "
for display in ${VNCSERVERS}
do
export USER="${display##*:}"
if test -z "${REQ_USER}" -o "${REQ_USER}" == ${USER} ; then
echo -n "${display} "
unset BASH_ENV ENV
export USER="${display##*:}"
su ${USER} -c "vncserver -kill :${display%%:*}" >/dev/null 2>&1
fi
done
echo -e "\n"
echo "VNCServer Stopped"
}
case "$1" in
start)
start $@
;;
stop)
stop $@
;;
restart|reload)
stop $@
sleep 3
start $@
;;
condrestart)
if [ -f /var/lock/subsys/vncserver ]; then
stop $@
sleep 3
start $@
fi
;;
status)
status Xvnc
;;
*)
echo $"Usage: $0 {start|stop|restart|condrestart|status}"
exit 1
esac

5)使新建的文件可执行: $ sudo chmod +x /etc/init.d/vncserver

6) To make vnc desktop sessions allocated for users at start up automatically, create following script in /etc/vncserver

sudo mkdir -p /etc/vncserver

sudo vim /etc/vncserver/vncservers.conf  (这里也可以用gedit进行创建文件,用vim创建,添加内容后,输入":" 后输入wq保存)。添加以下内容(具体看你有几个用户,设定的屏幕分辨率多少):

VNCSERVERS="3:test3 2:test2 1:test1"
VNCSERVERARGS[1]="-geometry 1024x768"
VNCSERVERARGS[2]="-geometry 1024x768"
 
7)run $ sudo update-rc.d vncserver defaults 99


6. 最后就是reboot了,直接用window的远程连接,不用tightVNC或者其它远程平台。


本文永久更新地址:http://www.linuxdiyf.com/linux/20478.html