连接到远程 Ubuntu 服务器 GUI

Anu*_*TBE 2 server ssh networking webserver

我有一台通过5.231.XX.XXX运行 Ubuntu 13.10 操作系统的 IP 地址远程运行的服务器。我在笔记本电脑上使用 Ubuntu 14.04。

我可以通过 ssh 登录通过终端连接到我的服务器:

ssh root@5.231.XX.XXX
Run Code Online (Sandbox Code Playgroud)

我还可以通过 nautilus 连接并打开它的文件夹。

我还通过 ssh 登录使用命令在我的服务器上安装了 GUI 界面

# sudo apt-get install ubuntu-desktop
Run Code Online (Sandbox Code Playgroud)

现在,我如何能够使用 GUI 界面远程连接和查看我的服务器。

270*_*974 9

您可以使用 vnc 对服务器进行 gui 访问。

安装 VNC 服务器

apt-get install vnc4server
Run Code Online (Sandbox Code Playgroud)

请确保您只使用 vnc-server 并且没有安装其他 VNC-server,因为这可能会在未来出现错误,主要是主机 Ubuntu Server 和 vnc-client 机器之间的剪贴板共享。您可以按如下方式检查:

xxx@yyy ~ $ sudo dpkg -l | grep vnc
ii  vnc4server                                            4.1.1+xorg4.3.0-37ubuntu5                           amd64        Virtual network computing server software
xxx@yyy ~ $
Run Code Online (Sandbox Code Playgroud)

如果安装了ightvnc 或类似的东西,请卸载。添加 VNC 用户

在我的情况下,我使用 user=sssss 它会因您的情况而有所不同。您可以使用任何用户名。

adduser sssss

xxx@server1:~$ sudo adduser sssss
Adding user `sssss' ...
Adding new group `sssss' (1001) ...
Adding new group `sssss' (1001) ...
Adding new user `sssss' (1001) with group `sssss' ...
Creating home directory `/home/sssss' ...
Copying files from `/etc/skel' ...

Enter new UNIX password: <--yourpassword
Retype new UNIX password: <--yourpassword
passwd: password updated successfully
Changing the user information for sssss
Enter the new value, or press ENTER for the default
    Full Name []: <--ENTER
    Room Number []: <--ENTER 
    Work Phone []:<--ENTER 
    Home Phone []:<--ENTER
    Other []:<--ENTER 
Is the information correct? [Y/n]<--ENTER
Run Code Online (Sandbox Code Playgroud)

与用户一起启动 vncserver,用于此用途:

su - srijan
vncserver
Run Code Online (Sandbox Code Playgroud)

它会看到:

sssss@server1:~$ vncserver

You will require a password to access your desktops.

Password:<--Put your VNC password 
Verify:<--Put your VNC password
Password too long - only the first 8 characters will be used
xauth:  file /home/sssss/.Xauthority does not exist

New 'server1:1 (sssss)' desktop is server1:1

Creating default startup script /home/sssss/.vnc/xstartup
Starting applications specified in /home/sssss/.vnc/xstartup
Log file is /home/sssss/.vnc/server1:1.log

sssss@server1:~$
Run Code Online (Sandbox Code Playgroud)

备份原文件,然后进行配置

cp ~/.vnc/xstartup ~/.vnc/xstartup.bak > ~/.vnc/xstartup
vi ~/.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 &
Run Code Online (Sandbox Code Playgroud)

为 vncserver 制作启动脚本

sudo vi /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
Run Code Online (Sandbox Code Playgroud)

使其可执行:

chmod +x /etc/init.d/vncserver
Run Code Online (Sandbox Code Playgroud)

通过创建文件为 vncserver 制作配置文件,如下所示:

mkdir -p /etc/vncserver
vi /etc/vncserver/vncservers.conf
Run Code Online (Sandbox Code Playgroud)

给出这样的条目。

VNCSERVERS="1:sssss"
VNCSERVERARGS[1]="-geometry 1024x768"
Run Code Online (Sandbox Code Playgroud)

将其添加到启动启动项中:

update-rc.d vncserver defaults 99

xxx@server1:~$ sudo update-rc.d vncserver defaults 99
 Adding system startup for /etc/init.d/vncserver ...
   /etc/rc0.d/K99vncserver -> ../init.d/vncserver
   /etc/rc1.d/K99vncserver -> ../init.d/vncserver
   /etc/rc6.d/K99vncserver -> ../init.d/vncserver
   /etc/rc2.d/S99vncserver -> ../init.d/vncserver
   /etc/rc3.d/S99vncserver -> ../init.d/vncserver
   /etc/rc4.d/S99vncserver -> ../init.d/vncserver
   /etc/rc5.d/S99vncserver -> ../init.d/vncserver
xxx@server1:~$
Run Code Online (Sandbox Code Playgroud)

重新启动机器。

要访问服务器,您可以使用任何vnc客户端应用程序,列表在这里