Меню Рубрики

Linux tightvnc file transfer

Установка TightVNC на Ubuntu Server 18.04 LTS

По умолчанию серверы Ubuntu 18.04 поставляются без предустановленного графического окружения рабочего стола и сервера VNC. Потому сначала нужно установить эти компоненты. Мы будем использовать пакеты Xfce и TightVNC, доступные в официальном репозитории Ubuntu.

Установка Xfce и TightVNC

Сначала устанавливаем пакет Xfce:

Следом за ним — пакет TightVNC:

Запускаем VNC-сервер командой:

При первом запуске vncserver предложит выбрать и подтвердить пароль. Пароль должен быть длинной от шести до восьми символов. Кроме того, будет возможность создать пароль только для просмотра.

Порты VNC-сервера

При запуске первого экземпляра VNC-сервера без указания порта, сервер будет прослушивать порт 5901 (или :1). При запуске следующего экземпляра сервер будет прослушивать порт 5902 (или :2). Можно явно указать порт при запуске экземпляра сервера:

Посмотреть список запущенных серверов можно так:

Остановим работу первого и второго экземпляра VNC-сервера:

Настройка VNC-сервера

Теперь нужно задать команды, которые сервер VNC будет выполнять при запуске. Эти команды должны находиться в файле xstartup в каталоге

/.vnc/ текущего пользователя. Сценарий запуска уже был создан при первом запуске сервера с помощью команды vncserver , но его нужно откорректировать для работы с Xfce.

При помощи первой команды GUI сервера VNC читает файл .Xresources . В файле .Xresources пользователь может вносить изменения в некоторые настройки графического рабочего стола (цвет терминала, темы курсора, шрифты). Вторая команда просто запускает графическую оболочку Xfce.

Этот файл нужно сделать исполняемым:

Все, можно запускать сервер:

Подключение к VNC-серверу

Теперь попробуем подключиться с другого компьютера, используя VNC-клиент Remmina:

Изначально качество изображения низкое, но это можно изменить в настройках клиента:

Перед подключением надо открыть несколько портов на той машине, где мы установили VNC-сервер:

Создание файла сервиса

Теперь нужно настроить сервер VNC как сервис Systemd, чтобы он запускался при загрузке системы. Для этого создаем новый unit-файл:

Символ @ в конце имени файла позволит нам передать аргумент, который можно использовать в конфигурации сервиса. С его помощью можно указать порт VNC, который нужно использовать при управлении сервисом.

Команда ExecStartPre останавливает VNC, если сервис уже запущен. Команда ExecStart запускает VNC и устанавливает глубину цвета и разрешение. Давайте сообщим системе про новый unit-файл.

Добавляем три службы в автозагрузку:

Теперь, после загрузки системы, VNC-сервер будет прослушивать три порта: 5901, 5902 и 5903. И мы можем подключиться на любом из них:

И мы можем вручную запустить или остановить VNC-сервер, как любую другую службу:

Безопасное подключение

При подключении VNC не использует безопасные протоколы. Давайте создадим SSH-туннель для безопасного подключения к серверу (для этого на машине с VNC-сервером должен быть установлен SSH-сервер):

У меня возникло затруднение при попытке установить ssh-соединение с виртуальной машиной, на которой установлен VNC-сервер (и SSH-сервер):

Причина в том, что большинство дистрибутивов Linux создают ключи хоста во время установки OpenSSH-сервера. А эта виртуальная машина была клонирована с уже установленным SSH-сервером. Так что все ключи теперь недействительны. Исправить это просто — нужно удалить старые ключи хоста и сформировать их заново:

Ключ сервера используется в процессе обмена ключами для подтверждения того, что клиент действительно связывается с нужным сервером. Клиент ssh запрашивает публичный ключ сервера и спрашивает, можно ли ему доверять:

После этого отпечаток публичного ключа сохраняется в файле

/.ssh/known_hosts . В моем случае сам сервер, просматривая свои ключи, обнаруживал в них ошибку. Если посмотреть файл /var/log/auth.log , то можно увидеть такие записи

При подключении к VNC-серверу указываем не 192.168.110.13:5901 , а localhost:5901 . Мы как бы подключаемся к локальной машине, но соединение будет проброшено через ssh-туннель на машину с VNC-сервером.

При этом на машине с установленным VNC-сервером должен быть открыт 22-ой порт:

А вот держать открытыми порты 5901:5903 больше не нужно, так что закрываем:

Обратите внимание, что VNC-клиент Remmina умеет создавать ssh-туннель самостоятельно:

Источник

VNC клиент с поддержкой передачи файлов

На виндомашине запущен TightVNC. Существует ли в дикой природе VNC клиент под линукс, с помощью которого можно положить туда файл?

Подойдёт, но это решение задачи «как передать файл по тимвьюеру». А у нас в условии VNC.

Удивите меня, VNC уже умеет передавать файлы?

да, только клиентов фиг сыщешь

Почитал в гугле, все истории успеха в этой области завязаны именно на этот путь. Похоже на то, что нативных клиентов действительно таки нет.

Источник

Thread: File transfer over TightVNC in Linux

Thread Tools
Display

File transfer over TightVNC in Linux

If I connect windows to windows by TightVNC there is an option to transfer files between computers (in the drop-down list in the top left hand corner of the “window” border). This opens a GUI that looks very like the split screens you get in FTP GUIs, and thus I can transfer files.

If I connect with Linux as either the client or the server or both, the option goes away. In windows the option is grayed out. In Linux it’s just not in any of the GUI controls.

How can I effect file transfer over TightVNC when Linux is involved?

Re: File transfer over TightVNC in Linux

I really didn’t know you could do any file transferring with VNC at all.
That’s interesting. I guess I run windows just about as much as I
should.

So how to do it? I don’t know that it can be done. Some of the VNC
apps extend what VNC does by default so that may be what TightVNC has
done in this case (along with their compression). On the other hand:

If you have Linux on both sides you probably have SSH already and that
is the route I use for all of my file transfers. Presumably this is
open unless you are using VNC over the network without SSH which means
quite a bit of unencrypted traffic by default and means anybody can see
what you are doing (including any file transfers you eventually get
going if possible).

swerdna wrote:
> Hi
>
> If I connect windows to windows by TightVNC there is an option to
> transfer files between computers (in the drop-down list in the top left
> hand corner of the “window” border). This opens a GUI that looks very
> like the split screens you get in FTP GUIs, and thus I can transfer
> files.
>
> If I connect with Linux as either the client or the server or both, the
> option goes away. In windows the option is grayed out. In Linux it’s
> just not in any of the GUI controls.
>
> How can I effect file transfer over TightVNC when Linux is involved?
>
> Thanks
> Swerdna
>
>
—–BEGIN PGP SIGNATURE—–
Version: GnuPG v1.4.2 (GNU/Linux)
Comment: Using GnuPG with Mozilla – http://enigmail.mozdev.org

iD8DBQFJLcPz3s42bA80+9kRAvZMAJ4hkWcp8wjSfzA2u8ExepLKyQGCQwCfZ6Ja
M350WgyUmK3f4e4zBwYGkVQ=
=rB6Y
—–END PGP SIGNATURE—–

Источник

Установка и настройка tightvnc server в ubuntu 16.04 и 14.04

Сегодня я расскажу про установку и настройку vnc сервера tightvnc в ubuntu 14.04 и 16.04. Сначала поговорим о том почему я выбрал именно tightvnc. Когда я первый раз ставил vnc сервер, я сначала поставил x11vnc, его описывали как легкий в установке и удобный vnc сервер. Так и есть, все работает «из коробки», но вот незадача — этот vnc сервер работает с уже существующей сессией пользователя, а не создает новую. То есть он подключается к текущему рабочему столу пользователя. Многим это подойдет, но мне нужен был такой vnc сервер, который бы при запуске создавал новую сессию. Тут на помощь мне и пришел tightvnc сервер. При запуске tightvnc сервер создает новую сессию для пользователя. Плюсы такого сервера в том, что можно задать произвольное разрешение создаваемого рабочего стола, в независимости от ограничений, наложенных системой компьютера. Например, если удаленный компьютер позволяет выставить максимальное разрешение 1280х1024, это никак не помешает создать с помощью tightvnc сервера рабочий стол с разрешением еще больше. Так же с помощью tightvnc сервера можно создать несколько рабочих столов. Это очень удобно когда необходимо организовать работу для нескольких пользователей на одном компьютере.

И так, давайте приступим к установке tightvnc server в ubuntu 16.04 и 14.04:

Запуск tightvnc: в терминале набираем (запуск от текущего пользователя, sudo не нужен)

При первом запуске нужно будет ввести пароль доступа к vnc серверу (минимум 6 символов), и по желанию пароль доступа в режиме «только просмотр».

По умолчанию порт tightvnc сервера 5901. Можно указать другой порт так:

При этом tightvnc сервер будет запущен на порту 5902.

Запуск tightvnc server с заданным разрешением экрана осуществляется с параметром geometry, например:

То есть, если в терминале набрать:

то на порту 5903 будет запущен vnc сервер с разрешением рабочего стола 1280×1024 пикселей. Есть еще куча параметров — глубина цвета и много чего еще, в этой статье рассматриваются только основные.

Остановка tightvnc server:

Будет остановлен vncserver на порту 5901.

Настройка tightvnc server

При установке tightvnc server в каталоге /home/пользователь/.vnc создается скрипт запуска, который называется xstartup. Дело в том, что при создании новой сессии tightvnc server запускает обычные иксы, а xstartup — конфигурационный файл для создаваемой x-сессии, в котором нужно указывать все программы, которые должны загружаться при старте x-сессии, вплоть до таких, как оконный менеджер, например. Вот почему, если не редактировать скрипт запуска и подключится к tightvnc серверу, то вы увидите просто серый экран. Чтобы это исправить, давайте отредактируем файл /home/пользователь/.vnc/xstartup. Первое, что нам понадобится — это добавить туда оконный менеджер. Я рекомендую оконный менеджер «metacity». Установим его:

После установки добавим строку «metacity &» в файл xstartup:

Далее нужно запустить одно приложение, хотя бы терминал. В зависимости от версии дистрибутива linux команды для запуска терминала могут различаться. У меня установлен gnome-terminal. В вашем случае он может не быть установлен, а установлен xterm например. Вообщем, смотрите логи, если у вас ничего не запустится. Логи находятся в той же папке, что и xstartup.

Добавьте строку терминала следующей строкой после «metacity &»:

В принципе, это минимально возможная конфигурация, так как из терминала можно запустить любое приложение, но мы, чтобы до конца понять суть xstartup, добавим туда еще и браузер firefox. Все вместе получится приблизительно так:

После внесения изменений в xstartup обязательно перезапустите tightvnc server, если он был запущен. Сейчас после подключения к tightvnc серверу на рабочем столе должен появится открытый терминал и браузер firefox. Но это еще не все. При желании вы можете добавить туда множество приложений, nautilus например, ну вообщем по вашему усмотрению. Я бы рекомендовал добавить док панель вместо них, например gnome-panel, чтобы каждый раз не лезть в терминал для запуска того или иного приложения. Давайте установим ее:

И добавим ее в файл xstartup вместо приложений terminal и firefox:

Теперь при старте x-сессии будет запускаться панель gnome.

Вот и все, настройку tightvnc server на этом можно завершить. Но для прожженных гномоводов у меня еще кое что есть, при старте x-сессии можно запустить gnome сессию. Вот скрипт запуска для gnome сессии:

Хочу предупредить, что у меня в gnome сессии возникали глюки с браузерами: раскладка не переключалась, некоторые клавиши срабатывали неправильно. Вообщем смотрите что для вас лучше — иксы или gnome сессия.

Источник


Adblock
detector