Удаленный доступ к Ubuntu Server 14.04 с помощью графического интерфейса

Удаленный доступ к Ubuntu Server 14.04 с помощью графического интерфейса

В настоящее время на моем ноутбуке установлен Ubuntu Desktop. На моем медиасервере (headless) также установлен Ubuntu Server, который я сейчас создаю.

Цель: Я хотел бы иметь возможность удаленного доступа к моему серверу с моего ноутбука и получить графический интерфейс. Я хочу графический интерфейс, потому что он облегчит регулярное размещение новых медиафайлов с моего внешнего жесткого диска в разных папках на сервере. (Перетаскивание)

Я пытался найти руководство по настоящему VNC или что-то подобное, но понятия не имею, что делать.

Может ли кто-нибудь дать мне руководство, как достичь моей цели?

решение1

Вы можете использовать VNC для графического доступа к серверу.

Установить VNC-сервер

sudo apt-get install vnc4server

Пожалуйста, убедитесь, что вы используете только vnc-сервер и никакой другой VNC-сервер не установлен, так как это может привести к ошибкам в будущем, в основном из-за общего доступа к буферу обмена между хост-сервером Ubuntu и машиной vnc-клиента. Вы можете проверить это следующим образом:

xxx@yyy ~ $ sudo dpkg -l | grep vnc
ii  vnc4server                                            4.1.1+xorg4.3.0-37ubuntu5                           amd64        Virtual network computing server software
xxx@yyy ~ $

Пожалуйста, удалите, если установлено tightvnc или что-то подобное. Добавление пользователя 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

Запустите vncserver от имени пользователя, для этого используйте:

su - srijan
vncserver

Он увидит:

    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:~$

Сделайте резервную копию исходного файла и затем выполните настройку

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 &

Создайте скрипт запуска для 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

Сделайте его исполняемым:

chmod +x /etc/init.d/vncserver

Создайте файл конфигурации для vncserver, создав файл следующим образом:

mkdir -p /etc/vncserver
vi /etc/vncserver/vncservers.conf

Дайте записи следующим образом.

VNCSERVERS="1:sssss"
VNCSERVERARGS[1]="-geometry 1024x768"

Добавьте его в загрузочные файлы:

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:~$

Перезагрузите машину.

Для доступа к серверу вы можете использовать любойПриложение VNC/Клиенты.

решение2

Для перетаскивания файлов между настольным компьютером и сервером нет необходимости устанавливать графический интерфейс на сервере, не говоря уже о подключении к нему VNC.

В Nautilus нажмите «Подключиться к серверу». Затем для адреса сервера введите sftp://servername/path. Если целевые папки — это общие папки Samba, вы также можете использовать smb://servername/sharename.

Связанный контент