Ответы:
Это может быть достигнуто с vino vnc server & remmina (оба поставляются по умолчанию с ubuntu; если не установить его при запуске sudo apt-get install remmina
). Затем запустите следующие команды с локального компьютера в окне терминала:
ssh -Y gman@remote
, Используйте надежную пересылку X11, иначе она не будет работать
vino-preferences
, Это откроет vino-предпочтения.
Также нажмите configure network automatically to accept connection
. Но не вводите пароль, его base64 закодировано . Затем нажмите закрыть. Затем запустите:
sudo -s
export DISPLAY=:0.0
xhost +
/usr/lib/vino/vino-server &
Это запустит сервер vino.
Выйти с сервера:
xhost -
Press CTRL+C twice
exit
exit
Тогда открой Реммина . Выбирай vnc
по протоколу.
Под basic
вкладкой укажите адрес сервера в server
поле.
На вкладке ssh нажмите enable ssh tunnel
. Под ssh authentication
, это может быть password
или public key
:
Нажмите сохранить. А затем дважды щелкните имя соединения (домашний рабочий стол, как показано на рисунке), чтобы начать просмотр удаленного рабочего стола.
x11vnc
это простой VNC-сервер, и вам не придется возиться с настройками Gnome или 500 брандмауэрами, просто установите его x11vnc
на все ваши компьютеры (с марионетками или с тем, что вы используете для массового контроля).
Затем с вашего локального компьютера запустите:
ssh user@host -L 5900:localhost:5900 "x11vnc -display :0 -noxdamage"
Очевидно, подмена user@host
имени пользователя и имени хоста / IP удаленного компьютера.
А затем используйте VNC-клиент по вашему выбору для подключения localhost:5900
. Команда SSH запускает сервер vnc на удаленном компьютере, а затем туннелирует этот порт через SSH. Вам не нужно открывать какие-либо порты (если вы уже можете SSH).
Если на ваших компьютерах установлены забавные настройки отображения, вам лучше оставить этот -display :0
сегмент в команде SSH. x11vnc
Затем автоматически попытается найти правильный дисплей.
Источник: аскубунту
vncviewer localhost::5900 -viewonly -encodings "tight" -quality 0
(в Debian / Ubuntu средство просмотра - от узла tailvnc) или vncviewer localhost::5900 -viewonly -PreferredEncoding tight QualityLevel=0
(в Red Hat / Fedora средство просмотра - от tigervnc), где уровень качества как в Debian, так и в Redhat равен между 0 и 9, где 9 лучше, но требуется быстрое соединение.
vncviewer
для медленного соединения. Я лично, вероятно, поставлю, QualityLevel=4 or 5
потому что 0 qualitylevel
(что 256 colors
, я думаю) слишком скучно для меня.
-auth guess
и запустить его как root. Очень полезно, спасибо!
Предполагая, что вы уже настроили OpenSSH Server
на своем хост-компьютере, вы должны сначала включить управление рабочим столом на вашем хост-компьютере. Если вы можете сначала включить управление рабочим столом на своем хост-компьютере локально, перейдите к 1a. Если вы сначала должны включить удаленное управление настольным компьютером на хост-компьютере, перейдите к 1b.
Затем создайте профиль клиента удаленного рабочего стола на вашем клиентском компьютере, чтобы подключиться к хост-компьютеру через туннель SSH и в конечном итоге просматривать и контролировать рабочий стол хост-компьютера через туннель SSH.
Выполните следующие действия на хост-компьютере:
vino-preferences
vino-preferences
также в Dash под Desktop Sharing
Allow other users to view your desktop
Allow other users to control your desktop
Require the user to enter this password
Выполните следующие действия на клиентском компьютере, заменив 123.123.12.3
его IP-адресом хост-компьютера:
ssh -Y 123.123.12.3
vino-preferences
vino-preferences
также в Dash под Desktop Sharing
Allow other users to view your desktop
Allow other users to control your desktop
Require the user to enter this password
Выполните следующие действия на клиентском компьютере:
remmina
Remmina Remote Desktop Client
Ctrl+ Nили Соединение> Новый
Server
SSH
вкладкуEnable SSH Tunnel
SSH Authentication
<username>
и режимНа клиентском компьютере при запросе <username>
пароля введите его для создания туннеля SSH. Когда вас попросят ввести пароль VNC, введите фразу-пароль, которую вы ранее ввели в хост-машину.
В случае успеха на этом этапе вы должны теперь просматривать рабочий стол хост-машины и управлять им с клиентского компьютера через туннель SSH.
Я смог установить новую установку Ubuntu 16.04 из удаленного ssh-соединения с помощью следующего скрипта:
#! / Bin / Баш экспорт DISPLAY =: 0 прочитайте -e -p "VNC Password:" -i "ubuntu" password dconf write / org / gnome / desktop / remote-access / enabled true dconf write / org / gnome / desktop / remote-access / prompt-enabled false dconf write / org / gnome / desktop / удаленный доступ / методы аутентификации "['vnc']" dconf write / org / gnome / desktop / remote-access / require-encryption false dconf write / org / gnome / desktop / remote-access / vnc-password \ "\ '$ (echo -n $ password | base64) \' \" dconf dump / org / gnome / рабочий стол / удаленный доступ / перезапуск службы sudo lightdm
Цитирование важно для любых настроек строки (одиночные галочки внутри кавычек). Чтобы dconf мог писать, ему нужен доступ к XWindows, поэтому необходима часть экспорта DISPLAY. Я думаю, что вам все равно нужно войти в систему на рабочем столе на фактической машине Ubuntu, чтобы соединиться с VNC после этого. Команда dump предназначена для подтверждения того, что все настройки вступили в силу, вам это не нужно.
При желании вы можете сделать это, если хотите постоянно держать дисплей включенным:
dconf write / org / gnome / desktop / screensaver / lock-enabled false dconf write / org / gnome / desktop / screensaver / ubuntu-lock-on-suspend false dconf write / org / gnome / desktop / session / idle-delay "uint32 0"
Xnest
с X11 forwording для удаленного запуска сеанса и перенаправления его на ваш текущий компьютер. (Я делаю это время от времени с моей страницей Пи)Я использую Xnest
так:
Xnest :1 -ac &
DISPLAY=:1 . /etc/X11/Xsession
Как запустить сервер Vino удаленно, без переадресации X (только для командной строки)
Войдите в систему на удаленном компьютере как пользователь, который поделится своим рабочим столом и перенаправит порт 5900 на тот же порт на локальном хосте. С помощью PuTTY перенаправление устанавливается в Connection / SSH / Tunnels. С командной строкой используйте:
ssh -L 5900:localhost:5900 user@remote-computer
Установите, vino-server
если он еще не установлен. Например:
sudo apt install vino
Включить общий доступ к рабочему столу (в соответствии с номером дисплея в 1-й и 2-й строках):
echo $DISPLAY
export DISPLAY=:0
dbus-launch --exit-with-session gsettings set org.gnome.Vino enabled true
dbus-launch --exit-with-session gsettings set org.gnome.Vino prompt-enabled false
dbus-launch --exit-with-session gsettings set org.gnome.Vino require-encryption false
/usr/lib/vino/vino-server
Запустите средство просмотра VNC и подключитесь к нему localhost
для адреса сервера VNC.
No protocol specified Failed to connect to Mir: Failed to connect to server socket: No such file or directory Unable to init server: Could not connect: Connection refused Cannot open display: Run 'vino-server --help' to see a full list of available command line options
на основе ответа @Khurshid Alam я представляю следующий фрагмент:
ssh $TARGETHOST -L 5900:localhost:5900 "x11vnc -localhost -display :0 -noxdamage" &; sleep 10 && vinagre localhost
Это одна команда, которая не требует какого-либо взаимодействия
Он создает туннель SSH с переадресацией портов, запускается x11vnc
достаточно безопасным способом, запускает и подключает средство просмотра VNC
Требуется x11vnc на целевом хосте, но без дальнейшей настройки
На сервере ПК.
На клиентском ПК (откуда вы хотите управлять пользовательским интерфейсом сервера).
Ловушки.