Comment configurer l'interface graphique sur le serveur Amazon EC2 Ubuntu

136

J'utilise une instance Amazon Ubuntu EC2 qui n'a qu'une interface de ligne de commande. Je souhaite configurer l'interface utilisateur pour que ce serveur puisse accéder à l'aide des outils de bureau à distance. Existe-t-il un moyen d'appliquer une interface graphique à l'instance EC2?

Élisée
la source
@ user3071284 cet article est génial, il manque juste une étape supplémentaire: ouvrir le port RDP (3389) dans les groupes de sécurité de votre instance.
Noam Manos
1
malheureusement, ce lien n'est pas disponible actuellement.
KK2491
La solution pour moi était de m'assurer que le fichier xstartup était exécutable: chmod + x ~ / .vnc / xstartup
Christopher Broderick

Réponses:

200

Ceci peut être fait. Voici les étapes de configuration de l'interface graphique

Créer un nouvel utilisateur avec connexion par mot de passe

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

Configuration d'une machine ubuntu basée sur l'interface utilisateur sur AWS.

Dans le groupe de sécurité, ouvrez le port 5901. Puis ssh sur l'instance de serveur. Exécutez les commandes suivantes pour installer l'interface utilisateur et le serveur vnc:

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

Ensuite, exécutez les commandes suivantes et entrez le mot de passe de connexion pour la connexion vnc:

su - awsgui

vncserver

vncserver -kill :1

vim /home/awsgui/.vnc/xstartup

Appuyez ensuite sur la touche Insertion, faites défiler le fichier texte avec les flèches du clavier et supprimez le signe dièse (#) du début des deux lignes sous la ligne qui dit «Supprimer les commentaires des deux lignes suivantes pour le bureau normal». Et sur la deuxième ligne, ajoutez "sh" pour que la ligne se lit

exec sh /etc/X11/xinit/xinitrc. 

Lorsque vous avez terminé, appuyez sur Ctrl + C sur le clavier, tapez: wq et appuyez sur Entrée.

Puis redémarrez le serveur vnc.

vncserver

Vous pouvez télécharger xtightvncviewerpour afficher le bureau (pour Ubutnu) à partir d'ici https://help.ubuntu.com/community/VNC/Clients

Dans le client vnc, donnez le DNS public plus ": 1" (par exemple www.example.com:1). Entrez le mot de passe de connexion au vnc. Assurez-vous d'utiliser une connexion normale. N'utilisez pas les fichiers clés.

Guide supplémentaire disponible ici: http://www.serverwatch.com/server-tutorials/setting-up-vnc-on-ubuntu-in-the-amazon-ec2-Page-3.html

Le client Mac VNC peut être téléchargé à partir d'ici: https://www.realvnc.com/en/connect/download/viewer/

Ouverture du port sur console

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

Si le problème de la fenêtre grise survient. Principalement à cause du fichier ".vnc / xstartup" sur un utilisateur différent. Alors lancez le serveur vnc également sur le même utilisateur au lieu de l'utilisateur "awsgui".

vncserver

Sugunan
la source
13
Je pense que vous manquez su - awsguiaprèssudo usermod -aG admin awsgui
Konstantin K
14
N'oubliez pas d'ouvrir le port 5901 dans votre groupe de sécurité pour que cela fonctionne. Merci pour la réponse détaillée!
Daniel Magliola
11
J'ai essayé quelques guides, y compris celui-ci, et je n'obtiens qu'un fond gris - pas de bureau ubuntu.
Clé du
5
J'ai fait ceci qui a résolu le fond gris pour moi digitalocean.com/community/questions/…
timhc22
8
Essayez vim .vnc/xstartupsi cela vim awsgui/.vnc/xstartupn'a pas fonctionné
TomasVeras
76

Je suis donc la première réponse, mais mon visualiseur vnc me donne un écran gris lorsque je me connecte. Et j'ai trouvé ce lien Ask Ubuntu pour résoudre cela.

La seule différence avec la réponse précédente est que vous devez installer ces packages supplémentaires:

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

Et utilisez ce fichier ~ / .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 &

Tout le reste est identique.

Testé sur EC2 Ubuntu 14.04 LTS.

yuchien
la source
2
Cela a fonctionné pour moi en plus de la réponse précédente et avec su - awsguiterminé avant d'exécuter les commandes vnc.
Vincenzo Pii
1
Cette étape était nécessaire pour le faire fonctionner après avoir suivi la plupart des tutoriels sur la configuration du bureau ubuntu sur aws avec tightvncserver. Aucun des tutoriels n'a fonctionné pour moi sans cette étape.
techdog
1
Vous devrez peut-être redémarrer votre système d'exploitation après avoir suivi ces étapes. J'ai suivi cette réponse et je dois d'abord redémarrer.
tno2007
J'ai essayé les étapes ci-dessus et je peux voir Ubuntu sur RealVNC. Mais je ne peux voir que le terminal et le bureau. D'une manière ou d'une autre, d'autres parties de l'interface utilisateur telles que la barre d'outils, les applications, etc. sont manquantes. Y a-t-il d'autres étapes ou un correctif pour cela?
Vinayak
Exécutez ce qui suit dans le terminal: killall gnome-panel && sudo gnome-panel &
Octocat
17

Pour Ubuntu 16.04

1) Installer les packages

$ 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) Modifiez le fichier / usr / bin / vncserver et modifiez-le comme ci-dessous

Trouvez cette ligne

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

Et ajoutez ces lignes ci-dessous.

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

3) Créez un mot de passe VNC et une session vnc pour l'utilisateur à l'aide de la commande "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

Vous pouvez maintenant accéder à l'interface graphique en utilisant IP / domaine et le port 1

stackoverflow.com:1

Testé sur AWS et l'océan numérique.

Pour AWS, vous devez autoriser le port 5901 sur le pare-feu

Tuer la session

$ vncserver -kill :1

Référer:

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

Référez-vous à ce guide pour créer des sessions permanentes en tant que service

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

Quake231
la source
Cela a fonctionné, mais après le redémarrage de la machine, ssh a arrêté de se connecter avec une erreur de temporisation de connexion. Avez-vous une idée de pourquoi cela se produit?
Shan Khan
9

1) Lancez l'instance Ubuntu sur EC2.
2) Ouvrez le port SSH dans la sécurité de l'instance.
3) Faites SSH pour l'instance.
4) Exécutez:

sudo apt-get update    sudo apt-get upgrade

5) Étant donné que vous vous connectez à partir du Bureau à distance Windows, modifiez le fichier sshd_config sur votre instance Linux pour autoriser l'authentification par mot de passe.

sudo vim /etc/ssh/sshd_config

6) Remplacez PasswordAuthentication par yes par no, puis enregistrez et quittez.
7) Redémarrez le démon SSH pour que cette modification prenne effet.

sudo /etc/init.d/ssh restart

8) Obtenez temporairement les privilèges root et changez le mot de passe de l'utilisateur ubuntu en un mot de passe complexe pour améliorer la sécurité. Appuyez sur la touche Entrée après avoir tapé la commande passwd ubuntu, et vous serez invité à entrer le nouveau mot de passe deux fois.

sudo –i
passwd ubuntu

9) Revenez au compte utilisateur ubuntu et cd dans le répertoire de base ubuntu.

su ubuntu
cd

10) Installez la fonctionnalité de bureau Ubuntu sur votre instance Linux, la dernière commande peut prendre jusqu'à 15 minutes.

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

11) Installez xrdp

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

12) Faites de xfce4 le gestionnaire de fenêtres par défaut pour les connexions RDP.

echo xfce4-session > ~/.xsession

13) Copiez .xsession dans le dossier / etc / skel afin que xfce4 soit défini comme gestionnaire de fenêtres par défaut pour tout nouveau compte utilisateur créé.

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

14) Ouvrez le fichier xrdp.ini pour permettre le changement du port hôte auquel vous vous connectez.

sudo vim /etc/xrdp/xrdp.ini

(xrdp n'est pas installé jusqu'à présent. Installez d'abord le xrdp avec sudo apt-get install xrdp puis éditez le fichier mentionné ci-dessus)

15) Recherchez la section [xrdp1] et modifiez le texte suivant (puis enregistrez et quittez [: wq]).

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

16) Redémarrez xrdp.

sudo service xrdp restart

17) Sous Windows, ouvrez le client de connexion Bureau à distance, collez le nom complet de votre instance Amazon EC2 pour l'ordinateur, puis cliquez sur Se connecter.

18) Lorsque vous êtes invité à vous connecter à xrdp, assurez-vous que le module sesman-Xvnc est sélectionné et entrez le nom d'utilisateur ubuntu avec le nouveau mot de passe que vous avez créé à l'étape 8. Lorsque vous démarrez une session, le numéro de port est -1.

19) Lorsque le système se connecte, plusieurs messages d'état s'affichent sur l'écran Journal de connexion. Faites très attention à ces messages d'état et notez le numéro de port VNC affiché. Si vous souhaitez revenir à une session ultérieurement, spécifiez ce numéro dans le champ port de la boîte de dialogue de connexion xrdp.

Voir plus de détails: https://aws.amazon.com/premiumsupport/knowledge-center/connect-to-linux-desktop-from-windows/
http://c-nergy.be/blog/?p=5305

akshay hundia
la source
2
Bien que cela puisse théoriquement répondre à la question, il serait préférable d'inclure ici les parties essentielles de la réponse et de fournir le lien pour référence.
Bhargav Rao
3
Je ne parviens pas à trouver la section [xrdp1] dans le fichier xrdp.ini.
Sudhir
3

Pour LXDE / Lubuntu


1. connectez-vous à votre instance (port de transfert local 5901)

ssh -L 5901: localhost: 5901 -i "xxx.pem" [email protected]

2. Installez les packages

sudo apt update && sudo apt upgrade
sudo apt-get install xorg lxde vnc4server lubuntu-desktop

3. Créez /etc/lightdm/lightdm.conf

sudo nano /etc/lightdm/lightdm.conf

4. Copiez et collez ce qui suit dans le fichier lightdm.conf et enregistrez

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

5. setup vncserver (il vous sera demandé de créer un mot de passe pour le vncserver)

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

6. Redémarrez votre instance et reconnectez-vous

sudo reboot
ssh -L 5901: localhost: 5901 -i "xxx.pem" [email protected]

7. Démarrez vncserver

vncserver -geometry 1280x800

8. Dans votre client de bureau à distance (par exemple Remmina), définissez Server sur localhost: 5901 et le protocole sur VNC

Arash Joorabchi
la source