В настоящее время на моем ноутбуке установлен 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
.