Come impostare la GUI sul server Ubuntu Amazon EC2


136

Sto usando un'istanza Amazon Ubuntu EC2 che ha solo un'interfaccia a riga di comando. Voglio configurare l'interfaccia utente per l'accesso a quel server utilizzando gli strumenti desktop remoti. Esiste un modo per applicare la GUI all'istanza EC2?


@ user3071284 questo articolo è eccezionale, manca solo un altro passaggio: aprire la porta RDP (3389) nei gruppi di sicurezza dell'istanza.
Noam Manos,

1
sfortunatamente quel link non è disponibile ora.
KK2491

La soluzione per me era rispondere che il file xstartup era eseguibile: chmod + x ~ / .vnc / xstartup
Christopher Broderick

Risposte:


200

Questo può essere fatto. Di seguito sono riportati i passaggi per configurare la GUI

Crea un nuovo utente con accesso con password

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

Configurazione della macchina Ubuntu basata su ui su AWS.

Nel gruppo di sicurezza aprire la porta 5901. Quindi ssh all'istanza del server. Esegui i seguenti comandi per installare l'interfaccia utente e il server vnc:

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

Quindi eseguire i seguenti comandi e immettere la password di accesso per la connessione vnc:

su - awsgui

vncserver

vncserver -kill :1

vim /home/awsgui/.vnc/xstartup

Quindi premi il tasto Inserisci, scorri il file di testo con le frecce della tastiera ed elimina il segno cancelletto (#) dall'inizio delle due righe sotto la riga che dice "Sblocca le due righe seguenti per il desktop normale". E sulla seconda riga aggiungi "sh" in modo che la riga reciti

exec sh /etc/X11/xinit/xinitrc. 

Al termine, premi Ctrl + C sulla tastiera, digita: wq e premi Invio.

Quindi riavviare il server vnc.

vncserver

È possibile scaricare xtightvncviewerper visualizzare il desktop (per Ubutnu) da qui https://help.ubuntu.com/community/VNC/Clients

Nel client vnc, fornire DNS pubblico più ": 1" (ad es. Www.esempio.com:1). Immettere la password di accesso vnc. Assicurati di utilizzare una connessione normale. Non utilizzare i file chiave.

Guida aggiuntiva disponibile qui: http://www.serverwatch.com/server-tutorials/setting-up-vnc-on-ubuntu-in-the-amazon-ec2-Page-3.html

Il client Mac VNC può essere scaricato da qui: https://www.realvnc.com/en/connect/download/viewer/

Apertura della porta sulla console

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

Se viene visualizzato il problema della finestra grigia. Principalmente a causa del file ".vnc / xstartup" su un altro utente. Quindi esegui il server vnc anche sullo stesso utente anziché sull'utente "awsgui".

vncserver


13
Penso che ti manchi su - awsguidoposudo usermod -aG admin awsgui
Konstantin K l'

14
Ricorda di aprire la porta 5901 nel tuo gruppo di sicurezza affinché funzioni. Grazie per la risposta dettagliata!
Daniel Magliola,

11
Ho provato un paio di guide, compresa questa, e ho solo uno sfondo grigio - nessun desktop Ubuntu.
Chiave inglese

5
Ho fatto questo che ha risolto lo sfondo grigio per me digitalocean.com/community/questions/…
timhc22

8
Prova vim .vnc/xstartupse vim awsgui/.vnc/xstartupnon ha funzionato
TomasVeras,

76

Quindi seguo la prima risposta, ma il mio visualizzatore vnc mi dà uno schermo grigio quando mi collego ad esso. E ho trovato questo link Chiedi a Ubuntu per risolverlo.

L'unica differenza con la risposta precedente è che devi installare questi pacchetti extra:

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

E usa questo file ~ / .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 &

Tutto il resto è uguale.

Testato su EC2 Ubuntu 14.04 LTS.


2
Questo ha funzionato per me in cima alla risposta precedente e con su - awsguifatto prima di eseguire i comandi vnc.
Vincenzo Pii,

1
Questo passaggio è stato necessario per farlo funzionare dopo aver seguito la maggior parte dei tutorial su come configurare il desktop Ubuntu su aws con tightvncserver. Nessuno dei tutorial ha funzionato per me senza questo passaggio.
techdog,

1
Potrebbe essere necessario riavviare il sistema operativo dopo aver seguito questi passaggi. Ho seguito questa risposta e devo riavviare prima.
tno2007,

Ho provato i passaggi precedenti e posso vedere Ubuntu su RealVNC. Ma posso vedere solo il terminale e il desktop. In qualche modo mancano altre parti dell'interfaccia utente come Toolbar, Applicazioni ecc. Ci sono altri passaggi o qualche correzione per questo?
Vinayak,

Esegui quanto segue nel terminal: killall gnome-panel && sudo gnome-panel &
Octocat,

17

Per Ubuntu 16.04

1) Installa i pacchetti

$ 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) Modifica il file / usr / bin / vncserver e modifica come di seguito

Trova questa linea

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

E aggiungi queste righe di seguito.

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

3) Creare la password VNC e la sessione vnc per l'utente usando il comando "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

Ora puoi accedere alla GUI usando IP / Dominio e la porta 1

stackoverflow.com:1

Testato su AWS e digital ocean.

Per AWS, devi consentire la porta 5901 sul firewall

Per uccidere la sessione

$ vncserver -kill :1

Fare riferimento:

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

Consultare questa guida per creare sessioni permanenti come servizio

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


Ha funzionato, ma dopo aver riavviato la macchina, ssh ha smesso di connettersi con errore di timout della connessione. Hai idea del perché stia accadendo?
Shan Khan,

9

1) Avviare l'istanza di Ubuntu su EC2.
2) Aprire la porta SSH nella sicurezza dell'istanza.
3) Fare SSH per istanza.
4) Eseguire:

sudo apt-get update    sudo apt-get upgrade

5) Poiché ti connetterai dal desktop remoto di Windows, modifica il file sshd_config sull'istanza di Linux per consentire l'autenticazione della password.

sudo vim /etc/ssh/sshd_config

6) Cambia PasswordAuthentication in yes da no, quindi salva ed esci.
7) Riavviare il demone SSH per rendere effettiva questa modifica.

sudo /etc/init.d/ssh restart

8) Ottieni temporaneamente i privilegi di root e modifica la password per l'utente ubuntu in una password complessa per migliorare la sicurezza. Premi il tasto Invio dopo aver digitato il comando passwd ubuntu e ti verrà chiesto di inserire la nuova password due volte.

sudo –i
passwd ubuntu

9) Tornare all'account utente di Ubuntu e cd nella directory principale di Ubuntu.

su ubuntu
cd

10) Installa la funzionalità desktop di Ubuntu sulla tua istanza Linux, il completamento dell'ultimo comando può richiedere fino a 15 minuti.

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

11) Installa xrdp

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

12) Rendi xfce4 il gestore delle finestre predefinito per le connessioni RDP.

echo xfce4-session > ~/.xsession

13) Copia .xsession nella cartella / etc / skel in modo che xfce4 sia impostato come gestore delle finestre predefinito per tutti i nuovi account utente creati.

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

14) Aprire il file xrdp.ini per consentire la modifica della porta host a cui ci si connetterà.

sudo vim /etc/xrdp/xrdp.ini

(xrdp non è installato fino ad ora. Prima installa xrdp con sudo apt-get install xrdp quindi modifica il file sopra menzionato)

15) Cerca la sezione [xrdp1] e modifica il testo seguente (quindi salva ed esci [: wq]).

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

16) Riavvia xrdp.

sudo service xrdp restart

17) Su Windows, apri il client Connessione desktop remoto, incolla il nome completo dell'istanza Amazon EC2 per il computer, quindi fai clic su Connetti.

18) Quando viene richiesto di accedere a xrdp, assicurarsi che sia selezionato il modulo sesman-Xvnc e immettere il nome utente ubuntu con la nuova password creata nel passaggio 8. Quando si avvia una sessione, il numero di porta è -1.

19) Quando il sistema si connette, vengono visualizzati diversi messaggi di stato nella schermata Registro connessioni. Prestare molta attenzione a questi messaggi di stato e prendere nota del numero di porta VNC visualizzato. Se si desidera tornare a una sessione in un secondo momento, specificare questo numero nel campo porta della finestra di dialogo di accesso xrdp.

Vedi maggiori dettagli: https://aws.amazon.com/premiumsupport/knowledge-center/connect-to-linux-desktop-from-windows/
http://c-nergy.be/blog/?p=5305


2
Sebbene ciò possa teoricamente rispondere alla domanda, sarebbe preferibile includere qui le parti essenziali della risposta e fornire il collegamento come riferimento.
Bhargav Rao

3
Non riesco a trovare la sezione [xrdp1] nel file xrdp.ini.
Sudhir,

3

Per LXDE / Lubuntu


1. connettiti alla tua istanza (porta di inoltro locale 5901)

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

2. Installa i pacchetti

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

3. Creare /etc/lightdm/lightdm.conf

sudo nano /etc/lightdm/lightdm.conf

4. Copia e incolla quanto segue in lightdm.conf e salva

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

5. imposta vncserver (ti verrà chiesto di creare una password per vncserver)

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

6. Riavvia l'istanza e riconnetti

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

7. Avviare vncserver

vncserver -geometry 1280x800

8. Nel client Desktop remoto (ad es. Remmina) impostare Server su localhost: 5901 e protocollo su VNC

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.