Як налаштувати графічний інтерфейс на сервері 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

Клієнт Mac VNC можна завантажити тут: https://www.realvnc.com/en/connect/download/viewer/

Відкриття порту на консолі

sudo iptables -A INPUT -p tcp --dport 5901 -j ACCEPT

Якщо виникає проблема сірого вікна. Переважно через файл ".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 дає мені сірий екран, коли я підключаюся до нього. І я знайшов посилання 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 за допомогою тенвncserver. Жоден підручник не працював для мене без цього кроку.
техдог

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 / Domain та порт 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, наприклад, безпеку.
3) Зробіть SSH на примірник.
4) Виконати:

sudo apt-get update    sudo apt-get upgrade

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

sudo vim /etc/ssh/sshd_config

6) Змініть парольAuthentication на так, ні, а потім збережіть і вийдіть.
7) Перезапустіть демон SSH, щоб ці зміни вступили в силу.

sudo /etc/init.d/ssh restart

8) Тимчасово отримуйте привілеї root та змініть пароль для користувача ubuntu на складний пароль для підвищення безпеки. Після введення команди passwd ubuntu натисніть клавішу Enter, і вам буде запропоновано ввести новий пароль двічі.

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
Хоча це теоретично може відповісти на питання, бажано було б сюди включити істотні частини відповіді та надати посилання для довідки.
Bhargav Rao

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

3

Для LXDE / Lubuntu


1. підключіться до свого примірника (локальний порт для переадресації 5901)

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

2. Встановіть пакети

оновлення sudo apt & & 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] enable
-guest = помилкова
сеанс користувача = 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 -геометрія 1280x800

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.