Как настроить графический интерфейс на сервере Amazon EC2 Ubuntu


136

Я использую экземпляр Amazon Ubuntu EC2, который имеет только интерфейс командной строки. Я хочу настроить пользовательский интерфейс для доступа к этому серверу с помощью инструментов удаленного рабочего стола. Есть ли способ применить GUI к экземпляру EC2?


@ user3071284 эта статья великолепна, просто пропущен еще один шаг - открыть порт RDP (3389) в группах безопасности вашего экземпляра.
Ноам Манос

1
к сожалению, эта ссылка сейчас недоступна.
KK2491

Решением для меня было убедиться, что файл xstartup был исполняемым: chmod + x ~ / .vnc / xstartup
Кристофер Бродерик

Ответы:


200

Это можно сделать. Ниже приведены шаги для настройки графического интерфейса.

Создать нового пользователя с паролем логин

sudo useradd -m awsgui
sudo passwd awsgui
sudo usermod -aG admin awsgui

sudo vim /etc/ssh/sshd_config # edit line "PasswordAuthentication" to yes

sudo /etc/init.d/ssh restart

Настройка Ubuntu на основе пользовательского интерфейса на AWS.

В группе безопасности откройте порт 5901. Затем перейдите по ssh к экземпляру сервера. Выполните следующие команды для установки UI и VNC-сервера:

sudo apt-get update
sudo apt-get install ubuntu-desktop
sudo apt-get install vnc4server

Затем выполните следующие команды и введите пароль для входа в VNC-соединение:

su - awsgui

vncserver

vncserver -kill :1

vim /home/awsgui/.vnc/xstartup

Затем нажмите клавишу «Вставка», прокрутите текстовый файл с помощью стрелок на клавиатуре и удалите знак фунта (#) в начале двух строк под строкой, которая гласит «Раскомментируйте следующие две строки для обычного рабочего стола». А во второй строке добавьте "sh", чтобы строка читалась

exec sh /etc/X11/xinit/xinitrc. 

Когда вы закончите, нажмите Ctrl + C на клавиатуре, введите: wq и нажмите Enter.

Затем снова запустите VNC-сервер.

vncserver

Вы можете скачать xtightvncviewerдля просмотра рабочего стола (для Ubutnu) здесь https://help.ubuntu.com/community/VNC/Clients

В клиенте vnc укажите общедоступный DNS плюс «: 1» (например, www.example.com:1). Введите пароль для входа в VNC. Убедитесь, что вы используете обычное соединение. Не используйте ключевые файлы.

Дополнительное руководство доступно здесь: http://www.serverwatch.com/server-tutorials/setting-up-vnc-on-ubuntu-in-the-amazon-ec2-Page-3.html

Клиент VNC для Mac можно скачать здесь: https://www.realvnc.com/en/connect/download/viewer/

Открытие порта на консоли

sudo iptables -A INPUT -p tcp --dport 5901 -j ПРИНЯТЬ

Если возникает проблема с серым окном. Главным образом из-за файла .vnc / xstartup от другого пользователя. Так что запускайте сервер vnc также от того же пользователя, а не от пользователя «awsgui».

Vncserver


13
Я думаю, что вы пропали su - awsguiпослеsudo usermod -aG admin awsgui
Константин К

14
Не забудьте открыть порт 5901 в вашей группе безопасности, чтобы это работало. Спасибо за подробный ответ!
Даниэль Маглиола

11
Пробовал пару руководств, в том числе и это, и я получаю только серый фон - нет рабочего стола Ubuntu.
гаечный ключ

5
Я сделал это , который решил серый фон для меня digitalocean.com/community/questions/...
timhc22

8
Попробуйте, vim .vnc/xstartupесли vim awsgui/.vnc/xstartupне сработало
TomasVeras

76

Поэтому я следую за первым ответом, но мой VNC Viewer дает мне серый экран, когда я подключаюсь к нему. И я нашел эту ссылку Ask Ubuntu, чтобы решить эту проблему.

Единственное отличие от предыдущего ответа состоит в том, что вам нужно установить эти дополнительные пакеты:

apt-get install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal

И используйте этот файл ~ / .vnc / xstartup:

#!/bin/sh

export XKL_XMODMAP_DISABLE=1
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &

gnome-panel &
gnome-settings-daemon &
metacity &
nautilus &
gnome-terminal &

Все остальное тоже самое.

Проверено на EC2 Ubuntu 14.04 LTS.


2
Это сработало для меня в дополнение к предыдущему ответу и su - awsguiзавершилось до запуска команд vnc.
Винченцо Пии,

1
Этот шаг был необходим для того, чтобы заставить его работать после того, как вы следовали большинству уроков о том, как настроить рабочий стол Ubuntu на aws с sharpvncserver. Ни один из учебников не работал для меня без этого шага.
TechDog

1
Возможно, вам придется перезагрузить вашу ОС после выполнения этих шагов. Я следовал этому ответу и должен сначала перезагрузиться.
tno2007

Я попробовал описанные выше шаги, и я вижу Ubuntu на RealVNC. Но я вижу только терминал и рабочий стол. Каким-то образом другие части пользовательского интерфейса, такие как панель инструментов, приложения и т. Д. Отсутствуют. Есть ли какие-либо другие шаги или какие-либо исправления для этого?
Винаяк

Запустите следующее в терминале: killall gnome-panel && sudo gnome-panel &
Octocat

17

Для Ubuntu 16.04

1) Установить пакеты

$ sudo apt update;sudo apt install --no-install-recommends ubuntu-desktop
$ sudo apt install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal vnc4server

2) Отредактируйте файл / usr / bin / vncserver и измените, как показано ниже

Найти эту строку

"# exec /etc/X11/xinit/xinitrc\n\n".

И добавьте эти строки ниже.

"gnome-session &\n".
"gnome-panel &\n".
"gnome-settings-daemon &\n".
"metacity &\n".
"nautilus &\n".
"gnome-terminal &\n".

3) Создайте пароль VNC и сеанс vnc для пользователя с помощью команды "vncserver".

lonely@ubuntu:~$ vncserver
You will require a password to access your desktops.
Password:
Verify:
xauth: file /home/lonely/.Xauthority does not exist
New 'ubuntu:1 (lonely)' desktop is ubuntu:1
Creating default startup script /home/lonely/.vnc/xstartup
Starting applications specified in /home/lonely/.vnc/xstartup
Log file is /home/lonely/.vnc/ubuntu:1.log

Теперь вы можете получить доступ к GUI, используя IP / домен и порт 1

stackoverflow.com:1

Проверено на AWS и цифровом океане.

Для AWS вы должны разрешить порт 5901 на брандмауэре

Убить сессию

$ vncserver -kill :1

См:

https://linode.com/docs/applications/remote-desktop/install-vnc-on-ubuntu-16-04/

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

http://www.krizna.com/ubuntu/enable-remote-desktop-ubuntu-16-04-vnc/


Это работало, но после перезагрузки компьютера ssh прекратил соединение с ошибкой тайм-аута соединения. У вас есть идеи, почему это происходит?
Шан Хан

9

1) Запустите инстанс Ubuntu на EC2.
2) Откройте SSH Port в экземпляре безопасности.
3) Сделайте SSH к экземпляру.
4) Выполнить:

sudo apt-get update    sudo apt-get upgrade

5) Поскольку вы будете подключаться с удаленного рабочего стола Windows, отредактируйте файл sshd_config в вашем экземпляре Linux, чтобы разрешить аутентификацию по паролю.

sudo vim /etc/ssh/sshd_config

6) Измените PasswordAuthentication на yes с no, затем сохраните и выйдите.
7) Перезапустите демон SSH, чтобы изменения вступили в силу.

sudo /etc/init.d/ssh restart

8) Временно получите права суперпользователя и измените пароль для пользователя Ubuntu на сложный пароль для повышения безопасности. Нажмите клавишу Enter после ввода команды passwd ubuntu, и вам будет предложено ввести новый пароль дважды.

sudo –i
passwd ubuntu

9) Вернитесь к учетной записи пользователя Ubuntu и перейдите в домашний каталог Ubuntu.

su ubuntu
cd

10) Установите функциональность рабочего стола Ubuntu на свой экземпляр Linux, последняя команда может занять до 15 минут.

export DEBIAN_FRONTEND=noninteractive
sudo -E apt-get update
sudo -E apt-get install -y ubuntu-desktop

11) Установите xrdp

sudo apt-get install xfce4
sudo apt-get install xfce4 xfce4-goodies

12) Сделайте xfce4 оконным менеджером по умолчанию для соединений RDP.

echo xfce4-session > ~/.xsession

13) Скопируйте .xsession в папку / etc / skel, чтобы xfce4 был установлен в качестве оконного менеджера по умолчанию для всех создаваемых учетных записей пользователей.

sudo cp /home/ubuntu/.xsession /etc/skel

14) Откройте файл xrdp.ini, чтобы разрешить изменение порта хоста, к которому вы будете подключаться.

sudo vim /etc/xrdp/xrdp.ini

(xrdp до сих пор не установлен. Сначала установите xrdp с помощью sudo apt-get install xrdp, затем отредактируйте вышеупомянутый файл)

15) Найдите раздел [xrdp1] и измените следующий текст (затем сохраните и выйдите из [: wq]).

port=-1
- to -
port=ask-1

16) Перезапустите xrdp.

sudo service xrdp restart

17) В Windows откройте клиент подключения к удаленному рабочему столу, вставьте полное имя вашего экземпляра Amazon EC2 для компьютера и нажмите «Подключиться».

18) Когда появится запрос на вход в xrdp, убедитесь, что выбран модуль sesman-Xvnc, и введите имя пользователя ubuntu с новым паролем, который вы создали на шаге 8. При запуске сеанса номер порта равен -1.

19) Когда система подключается, несколько сообщений о состоянии отображаются на экране журнала подключений. Обратите особое внимание на эти сообщения о состоянии и запишите номер порта VNC. Если вы хотите вернуться к сеансу позже, укажите этот номер в поле порта диалогового окна входа в систему xrdp.

Подробнее см .: https://aws.amazon.com/premiumsupport/knowledge-center/connect-to-linux-desktop-from-windows/
http://c-nergy.be/blog/?p=5305.


2
Хотя это может теоретически ответить на вопрос, было бы предпочтительным включить сюда основные части ответа и предоставить ссылку для справки.
Бхаргав Рао

3
Я не могу найти раздел [xrdp1] в файле xrdp.ini.
Судхир

3

Для LXDE / Lubuntu


1. подключитесь к вашему экземпляру (локальный порт переадресации 5901)

ssh -L 5901: localhost: 5901 -i "xxx.pem" ubuntu@xxx.amazonaws.com

2. Установить пакеты

обновление sudo &
ap & обновление sudo apt sudo apt-get install xorg lxde vnc4server lubuntu-desktop

3. Создайте /etc/lightdm/lightdm.conf

sudo nano /etc/lightdm/lightdm.conf

4. Скопируйте и вставьте следующее в lightdm.conf и сохраните

[SeatDefaults]
allow-guest = false
user-session = LXDE
# user-session = Lubuntu

5. настройка vncserver (вам будет предложено создать пароль для vncserver)

vncserver
sudo echo "lxpanel & / usr / bin / lxsession -s LXDE &" >> ~ / .vnc / xstartup

6. Перезапустите свой экземпляр и переподключите

sudo reboot
ssh -L 5901: localhost: 5901 -i "xxx.pem" ubuntu@xxx.amazonaws.com

7. Запустите vncserver

vncserver -geometry 1280x800

8. В вашем клиенте удаленного рабочего стола (например, Remmina) установите Server на localhost: 5901 и протокол на VNC

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.