Cara Mengatur GUI di server Ubuntu Amazon EC2


139

Saya menggunakan instance Ubuntu EC2 amazon yang hanya memiliki antarmuka baris perintah. Saya ingin mengatur UI untuk server itu untuk mengakses menggunakan alat desktop jarak jauh. Apakah ada cara untuk menerapkan GUI ke instans EC2?


@ user3071284 artikel ini bagus, hanya melewatkan satu langkah lagi - untuk membuka port RDP (3389) di grup keamanan instance Anda.
Noam Manos

1
sayangnya tautan itu tidak tersedia sekarang.
KK2491

Solusi bagi saya adalah memastikan bahwa file xstartup dapat dijalankan: chmod + x ~ / .vnc / xstartup
Christopher Broderick

Jawaban:


202

Ini bisa dilakukan. Berikut adalah langkah-langkah untuk mengatur GUI

Buat pengguna baru dengan login kata sandi

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

Menyiapkan mesin ubuntu berbasis ui di AWS.

Dalam grup keamanan, buka port 5901. Kemudian ssh ke instance server. Jalankan perintah berikut untuk menginstal server ui dan vnc:

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

Kemudian jalankan perintah berikut dan masukkan kata sandi login untuk koneksi vnc:

su - awsgui

vncserver

vncserver -kill :1

vim /home/awsgui/.vnc/xstartup

Kemudian tekan tombol Sisipkan, gulir di sekitar file teks dengan panah keyboard, dan hapus tanda pagar (#) dari awal dua baris di bawah baris yang bertuliskan "Hapus komentar dua baris berikut untuk desktop normal". Dan pada baris kedua tambahkan "sh" sehingga baris tersebut berbunyi

exec sh /etc/X11/xinit/xinitrc. 

Setelah selesai, tekan Ctrl + C pada keyboard, ketik: wq dan tekan Enter.

Kemudian mulai server vnc lagi.

vncserver

Anda dapat mengunduh xtightvncvieweruntuk melihat desktop (untuk Ubutnu) dari sini https://help.ubuntu.com/community/VNC/Clients

Di klien vnc, berikan DNS publik plus ": 1" (mis. Www.example.com:1). Masukkan kata sandi login vnc. Pastikan untuk menggunakan koneksi normal. Jangan gunakan file kunci.

Panduan tambahan tersedia di sini: http://www.serverwatch.com/server-tutorials/setting-up-vnc-on-ubuntu-in-the-amazon-ec2-Page-3.html

Klien Mac VNC dapat diunduh dari sini: https://www.realvnc.com/en/connect/download/viewer/

Pembukaan port di konsol

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

Jika masalah jendela abu-abu muncul. Sebagian besar karena file ".vnc / xstartup" pada pengguna yang berbeda. Jadi jalankan server vnc juga pada pengguna yang sama, bukan pengguna "awsgui".

vncserver


13
Saya pikir Anda hilang su - awsguisetelahsudo usermod -aG admin awsgui
Konstantin K

14
Ingatlah untuk membuka port 5901 di Grup Keamanan Anda agar ini berfungsi. Terima kasih atas jawaban rinci!
Daniel Magliola

11
Mencoba beberapa panduan, termasuk yang ini, dan saya hanya mendapatkan latar belakang abu-abu - tidak ada desktop ubuntu.
Kunci inggris

5
Saya melakukan ini yang memecahkan latar belakang abu-abu untuk saya digitalocean.com/community/questions/…
timhc22

8
Coba vim .vnc/xstartupjika vim awsgui/.vnc/xstartuptidak berhasil
TomasVeras

79

Jadi saya mengikuti jawaban pertama, tetapi penampil vnc saya memberi saya layar abu-abu saat saya menyambungkannya. Dan saya menemukan tautan Ask Ubuntu ini untuk menyelesaikannya.

Satu-satunya perbedaan dengan jawaban sebelumnya adalah Anda perlu menginstal paket tambahan ini:

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

Dan gunakan file ~ / .vnc / xstartup ini:

#!/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 &

Yang lainnya sama.

Diuji pada EC2 Ubuntu 14.04 LTS.


2
Ini bekerja untuk saya di atas jawaban sebelumnya dan dengan su - awsguiselesai sebelum menjalankan perintah vnc.
Vincenzo Pii

1
Langkah ini diperlukan untuk membuatnya berfungsi setelah mengikuti sebagian besar tutorial tentang cara mengatur desktop ubuntu di aws dengan tightvncserver. Tidak ada tutorial yang berhasil untuk saya tanpa langkah ini.
techdog

1
Anda mungkin perlu me-reboot OS Anda setelah mengikuti langkah-langkah ini .. Saya mengikuti jawaban ini dan harus melakukan reboot terlebih dahulu.
tno2007

Saya mencoba langkah-langkah di atas dan saya dapat melihat Ubuntu di RealVNC. Tapi saya hanya bisa melihat terminal dan desktop. Entah bagaimana bagian UI lain seperti Toolbar, Aplikasi, dll hilang. Adakah langkah lain yang ada atau perbaikan untuk ini?
Vinayak

Jalankan yang berikut ini di terminal: killall gnome-panel && sudo gnome-panel &
Oktok

17

Untuk Ubuntu 16.04

1) Instal paket

$ 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) Edit / usr / bin / vncserver file dan modifikasi seperti di bawah ini

Temukan baris ini

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

Dan tambahkan baris ini di bawah.

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

3) Buat sandi VNC dan sesi vnc untuk pengguna menggunakan perintah "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

Sekarang Anda dapat mengakses GUI menggunakan IP / Domain dan port 1

stackoverflow.com:1

Diuji di AWS dan samudra digital.

Untuk AWS, Anda harus mengizinkan port 5901 di firewall

Untuk mengakhiri sesi

$ vncserver -kill :1

Lihat:

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

Lihat panduan ini untuk membuat sesi permanen sebagai layanan

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


Ini berhasil, tetapi setelah me-reboot mesin, ssh berhenti terhubung dengan kesalahan waktu koneksi. Apakah Anda tahu mengapa ini terjadi?
Shan Khan

9

1) Luncurkan Instans Ubuntu di EC2.
2) Buka Port SSH dalam keamanan instan.
3) Lakukan SSH ke instance.
4) Jalankan:

sudo apt-get update    sudo apt-get upgrade

5) Karena Anda akan terhubung dari Windows Remote Desktop, edit file sshd_config pada instance Linux Anda untuk mengizinkan otentikasi kata sandi.

sudo vim /etc/ssh/sshd_config

6) Ubah PasswordAuthentication ke yes dari no, lalu simpan dan keluar.
7) Mulai ulang daemon SSH agar perubahan ini diterapkan.

sudo /etc/init.d/ssh restart

8) Untuk sementara, dapatkan hak akses root dan ubah kata sandi untuk pengguna ubuntu menjadi kata sandi yang kompleks untuk meningkatkan keamanan. Tekan tombol Enter setelah mengetik perintah passwd ubuntu, dan Anda akan diminta memasukkan kata sandi baru dua kali.

sudo –i
passwd ubuntu

9) Beralih kembali ke akun pengguna ubuntu dan cd ke direktori home ubuntu.

su ubuntu
cd

10) Instal fungsionalitas desktop Ubuntu pada instance Linux Anda, perintah terakhir dapat memakan waktu hingga 15 menit untuk diselesaikan.

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

11) Instal xrdp

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

12) Jadikan xfce4 sebagai window manager default untuk koneksi RDP.

echo xfce4-session > ~/.xsession

13) Salin .xsession ke folder / etc / skel sehingga xfce4 disetel sebagai pengelola jendela default untuk setiap akun pengguna baru yang dibuat.

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

14) Buka file xrdp.ini untuk memungkinkan perubahan port host yang akan Anda sambungkan.

sudo vim /etc/xrdp/xrdp.ini

(xrdp tidak diinstal sampai sekarang. Pertama Instal xrdp dengan sudo apt-get install xrdp kemudian edit file yang disebutkan di atas)

15) Cari bagian [xrdp1] dan ubah teks berikut (kemudian simpan dan keluar [: wq]).

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

16) Mulai ulang xrdp.

sudo service xrdp restart

17) Di Windows, buka klien Remote Desktop Connection, tempel nama yang sepenuhnya memenuhi syarat dari instans Amazon EC2 Anda untuk Komputer, lalu klik Hubungkan.

18) Saat diminta untuk Masuk ke xrdp, pastikan bahwa modul sesman-Xvnc dipilih, dan masukkan nama pengguna ubuntu dengan kata sandi baru yang Anda buat di langkah 8. Saat Anda memulai sesi, nomor portnya adalah -1.

19) Saat sistem terhubung, beberapa pesan status ditampilkan pada layar Log Koneksi. Perhatikan baik-baik pesan status ini dan catat nomor port VNC yang ditampilkan. Jika Anda ingin kembali ke sesi nanti, tentukan nomor ini di bidang port dari kotak dialog login xrdp.

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


2
Meskipun ini secara teoritis dapat menjawab pertanyaan, akan lebih baik jika menyertakan bagian penting dari jawaban di sini, dan menyediakan tautan untuk referensi.
Bhargav Rao

3
Saya tidak dapat menemukan bagian [xrdp1] di file xrdp.ini.
Sudhir

3

Untuk LXDE / Lubuntu


1. sambungkan ke instance Anda (port penerusan lokal 5901)

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

2. Instal paket

sudo apt pembaruan && sudo apt peningkatan
sudo apt-get install xorg lxde vnc4server lubuntu-desktop

3. Buat /etc/lightdm/lightdm.conf

sudo nano /etc/lightdm/lightdm.conf

4. Salin dan tempel baris berikut ini ke lightdm.conf dan simpan

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

5. setup vncserver (Anda akan diminta untuk membuat password untuk vncserver)

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

6. Mulai ulang instance Anda dan sambungkan kembali

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

7. Jalankan vncserver

vncserver -geometry 1280x800

8. Di Remote Desktop Client (mis. Remmina) atur Server ke localhost: 5901 dan protokol ke VNC

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.