当前位置: 首页>>技术教程>>正文


如何在Amazon EC2 Ubuntu服务器上设置GUI

, , ,

问题描述

我正在使用一个只有命令行界面的亚马逊Ubuntu EC2实例。我想设置该服务器的UI,以使用远程桌面工具进行访问。有什么方法可以将GUI应用于EC2实例吗?

 

最佳解决方案

可以做到的。以下是设置GUI的步骤

使用密码登录创建新用户

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

在AWS上设置基于ui的ubuntu计算机。

在安全组中,打开端口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

然后按Insert键,使用键盘箭头在文本文件中滚动,并从“取消注释以下两行用于普通桌面的注释”行下面的两行开头删除井号(#)。然后在第二行添加”sh”,以便该行读取

exec sh /etc/X11/xinit/xinitrc. 

完成后,按键盘上的Ctrl + C,输入:wq并按Enter。

然后再次启动vnc服务器。

vncserver

您可以从这里https://help.ubuntu.com/community/VNC/Clients下载xtightvncviewer以查看桌面(用于Ubutnu)

在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”文件位于不同的用户上。因此,还要在同一用户而不是”awsgui”用户上运行vnc服务器。

vncserver

 

次佳解决方案

所以我遵循第一个答案,但是当我连接到vnc查看器时,我的vnc查看器会显示灰屏。我找到了这个Ask Ubuntu link来解决这个问题。

与先前答案的唯一区别是您需要安装以下额外的软件包:

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上测试。

 

第三种解决方案

对于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)使用”vncserver”命令为用户创建VNC密码和vnc会话。

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

现在您可以使用IP /域和端口1访问GUI

 

经过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/

 

第四种方案

1)在EC2上启动Ubuntu实例。 2)在实例安全性中打开SSH端口。 3)对实例执行SSH。 4)执行:

sudo apt-get update    sudo apt-get upgrade

5)因为您将从Windows远程桌面连接,所以请在Linux实例上编辑sshd_config文件以允许密码验证。

sudo vim /etc/ssh/sshd_config

6)将PasswordAuthentication从no更改为yes,然后保存并退出。 7)重新启动SSH守护程序,以使此更改生效。

sudo /etc/init.d/ssh restart

8)暂时获得root特权,并将ubuntu用户的密码更改为复杂的密码,以增强安全性。在键入命令passwd ubuntu后按Enter键,系统将提示您输入两次新密码。

sudo –i
passwd ubuntu

9)切换回ubuntu用户帐户,并cd进入ubuntu主目录。

su ubuntu
cd

10)在Linux实例上安装Ubuntu桌面功能,最后一个命令最多可能需要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。首先使用sudo apt-get安装xrdp,然后安装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

 

第五种方案

对于LXDE /Lubuntu


1.连接到您的实例(本地转发端口5901)

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

2.安装软件包

须藤apt更新&& sudo apt升级sudo apt-get安装xorg lxde vnc4server lubuntu-desktop

3.创建/etc/lightdm/lightdm.conf

须藤nano /etc/lightdm/lightdm.conf

4.复制以下内容并将其粘贴到lightdm.conf中并保存

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

5.设置vncserver(将要求您为vncserver创建密码)

vncserver sudo echo“ lxpanel& /usr /bin /lxsession -s LXDE&” >> 〜/.vnc /xstartup中

6.重新启动实例并重新连接

sudo重新启动ssh -L 5901:localhost:5901 -i “xxx.pem” ubuntu@xxx.amazonaws.com

7.启动vncserver

vncserver-几何1280×800

8.在您的远程桌面客户端(例如Remmina)中,将Server设置为localhost:5901,将协议设置为VNC

参考资料

 

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/7278.html,未经允许,请勿转载。