我有一台运行 Ubuntu 18.04.2 LTS(Bionic Beaver)的非常强大的计算机。我想通过屏幕共享功能与同一网络中的同事同时使用这台计算机(每个人同时拥有不同的用户和不同的屏幕)。我设法安装了 vino 并使用 remmina 远程连接计算机,但如何才能同时与多个用户一起执行此操作?
答案1
以下是对我有用的东西..(成功使用这个教程 http://www.howtoforge.com/how-to-install-vnc-server-on-ubuntu-14.04并感谢 Charles Tassell 的正确指导和建议)
我所做的如下,
(1)运行sudo apt-get update && sudo apt-get upgrade
(2)运行sudo apt-get install gnome-core xfce4 vnc4server
(3)然后添加用户(vncserver/unix)
sudo adduser test1
(之后你必须填写用户的详细信息,我已为 vnc 服务器添加了 3 个用户(test1、test2、test3 等)
(4)然后你必须逐个切换用户并运行vncserver并为vncuser登录添加密码(我有三个 vnc 用户,所以我必须对所有三个用户测试 1、test2、test3 重复此操作)
su - test1
然后运行
vncserver
输出将像这样提示输入 vnc 密码。
You will require a password to access your desktops.
Password:
Verify:
xauth: file /home/test1/.Xauthority does not exist
New 'server1:1 (test1)' desktop is server1:1
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
(5)重要提示:你必须用以下内容替换 /home/test1/.vnc/xstartup 内容(否则,您将无法获得桌面,而是会陷入没有用户界面或菜单的空白屏幕)
vim /home/test1/.vnc/xstartup
并添加
#!/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 &
(6)使用以下脚本创建 vncserver 的启动脚本“接下来我将像这样为 vncserver 制作启动脚本”部分这个教程
sudo vim /etc/init.d/vncserver
并添加以下内容..
#!/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
要使其成为可执行文件,请运行以下命令。
chmod +x /etc/init.d/vncserver
(7)为了使 vnc 桌面会话在启动时自动分配给用户,请在 /etc/vncserver 中创建以下脚本
sudo mkdir -p /etc/vncserver
sudo vim /etc/vncserver/vncservers.conf
在 vncservers.conf 中添加此项(这是因为我的用户为 test1、test2、test3,请根据以下内容进行更改)
VNCSERVERS="3:test3 2:test2 1:test1"
VNCSERVERARGS[1]="-geometry 1024x768"
VNCSERVERARGS[2]="-geometry 1024x768"
VNCSERVERARGS[3]="-geometry 1024x768"
(8)然后运行
sudo `update-rc.d vncserver defaults 99`
(9)重启服务器(现在差不多完成了)第 10 步,剩下的是如何登录部分
(10)下载http://www.realvnc.com/download/viewer/
输入服务器名称/IP 地址和会话 ID,例如我的服务器是 172.16.70.17,如果我使用 172.16.70.17:2,它将登录到 test2 用户桌面。而 172.16.70.17:3 将同样登录到 test3 用户桌面
确保选择加密“优先关闭”
https://i.stack.imgur.com/MQ36F.png
https://i.stack.imgur.com/tmMoc.png
然后您就可以以这种方式访问您的桌面和应用程序。