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

95

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

  • 0
    @ user3071284 эта статья великолепна, просто пропущен еще один шаг - открыть порт RDP (3389) в группах безопасности вашего экземпляра.
  • 1
    к сожалению, эта ссылка сейчас недоступна.
Теги:
amazon-web-services
amazon-ec2
vnc

5 ответов

151
Лучший ответ

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

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

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 к экземпляру сервера. Выполните следующие команды для установки пользовательского интерфейса и 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
  • 11
    Не забудьте открыть порт 5901 в вашей группе безопасности, чтобы это работало. Спасибо за подробный ответ!
Показать ещё 16 комментариев
63

Итак, я следую первому ответу, но мой просмотрщик vnc дает мне серый экран, когда я подключаюсь к нему. И я нашел эту ссылку 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. Ни один учебник не работал для меня без этого шага.
Показать ещё 5 комментариев
12

Для 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/

  • 0
    Это работает как шарм! Спасибо! :)
  • 0
    Это сработало, но после перезагрузки компьютера ssh перестал подключаться с ошибкой тайм-аута соединения. У вас есть идеи, почему это происходит?
3

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
    Хотя это может теоретически ответить на вопрос, было бы предпочтительным включить сюда основные части ответа и предоставить ссылку для справки.
  • 0
    Я не могу найти раздел [xrdp1] в файле xrdp.ini.
1

Для LXDE/Lubuntu


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

ssh -L 5901: локальный хост: 5901 -i "xxx.pem" ubuntu@xxx.amazonaws.com

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

sudo apt update && sudo apt upgrade
sudo apt-get установить xorg lxde vnc4server lubuntu-desktop

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

sudo nano/etc/lightdm/lightdm.conf

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

[SeatDefaults]
позволяют гостю = ложь
Пользователь -s ession = LXDE
#user -s ession = Lubuntu

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

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

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

перезагрузка sudo
ssh -L 5901: локальный хост: 5901 -i "xxx.pem" ubuntu@xxx.amazonaws.com

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

vncserver -geometry 1280x800

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

Сообщество Overcoder
Наверх
Меню