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

Eli*_*sha 125 ubuntu vnc amazon-ec2 amazon-web-services

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

sug*_*nan 191

这可以做到.以下是设置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
Run Code Online (Sandbox Code Playgroud)

在AWS上设置基于ui的ubuntu机器.

在安全组中打开端口5901.然后ssh到服务器实例.运行以下命令安装ui和vnc服务器:

sudo apt-get update
sudo apt-get install ubuntu-desktop
sudo apt-get install vnc4server
Run Code Online (Sandbox Code Playgroud)

然后运行以下命令并输入vnc连接的登录密码:

su - awsgui

vncserver

vncserver -kill :1

vim /home/awsgui/.vnc/xstartup
Run Code Online (Sandbox Code Playgroud)

然后按Insert键,使用键盘箭头在文本文件中滚动,并从"取消注释正常桌面的以下两行"这一行的两行开头删除井号(#).并在第二行添加"sh",以便行读取

exec sh /etc/X11/xinit/xinitrc. 
Run Code Online (Sandbox Code Playgroud)

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

然后再次启动vnc服务器.

vncserver
Run Code Online (Sandbox Code Playgroud)

您可以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

  • 请记住在安全组中打开端口5901以使其正常工作.谢谢你的详细解答! (14认同)
  • 我认为你在`sudo usermod -aG admin awsgui`之后缺少`su - awsgui` (13认同)
  • 尝试了几个指南,包括这个,我只得到一个灰色的背景 - 没有ubuntu桌面. (11认同)
  • 如果`vim awsgui/.vnc/xstartup`不起作用,请尝试`vim .vnc/xstartup` (8认同)
  • 我这样做了解决了我的灰色背景https://www.digitalocean.com/community/questions/vnc-gray-screen-ubuntu-14-04 (5认同)
  • 我喜欢你如何开始回答:"这可以做到." 激发信心.+1 (3认同)
  • 您也可以像常规的ubuntu用户那样执行此操作,无需创建新的awsgui用户 (2认同)
  • 我自己的屏幕变灰了。我在此页面上安装了gnome(sudo apt-get install ubuntu-gnome-desktop)并修复了第三个配置文件(Ubuntu Trusty Tahr 14.04LTS)。 Install-VNC.html (2认同)
  • 如果您只获得灰色背景,请按照以下yuchien的其他步骤操作. (2认同)

yuc*_*ien 72

所以我按照第一个答案,但是当我连接到它时,我的vnc查看器给了我灰色屏幕.我发现这个Ask Ubuntu链接可以解决这个问题.

与之前答案的唯一区别是您需要安装这些额外的包:

apt-get install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal
Run Code Online (Sandbox Code Playgroud)

并使用此〜/ .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 &
Run Code Online (Sandbox Code Playgroud)

其他一切都是一样的.

在EC2 Ubuntu 14.04 LTS上测试.

  • 这在我之前的答案之前对我有用,并且在运行vnc命令之前完成了"su - awsgui". (2认同)

小智 16

对于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
Run Code Online (Sandbox Code Playgroud)

2)编辑/ usr/bin/vncserver文件并修改如下

找到这一行

"# exec /etc/X11/xinit/xinitrc\n\n".
Run Code Online (Sandbox Code Playgroud)

并在下面添加这些行.

"gnome-session &\n".
"gnome-panel &\n".
"gnome-settings-daemon &\n".
"metacity &\n".
"nautilus &\n".
"gnome-terminal &\n".
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

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

stackoverflow.com:1

在AWS和数字海洋上进行测试.

对于AWS,您必须在防火墙上允许端口5901

杀死会话

$ vncserver -kill :1
Run Code Online (Sandbox Code Playgroud)

参考:

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/


aks*_*dia 7

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

sudo apt-get update    sudo apt-get upgrade
Run Code Online (Sandbox Code Playgroud)

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

sudo vim /etc/ssh/sshd_config
Run Code Online (Sandbox Code Playgroud)

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

sudo /etc/init.d/ssh restart
Run Code Online (Sandbox Code Playgroud)

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

sudo –i
passwd ubuntu
Run Code Online (Sandbox Code Playgroud)

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

su ubuntu
cd
Run Code Online (Sandbox Code Playgroud)

10)在Linux实例上安装Ubuntu桌面功能,最后一个命令最多可能需要15分钟才能完成。

export DEBIAN_FRONTEND=noninteractive
sudo -E apt-get update
sudo -E apt-get install -y ubuntu-desktop
Run Code Online (Sandbox Code Playgroud)

11)安装xrdp

sudo apt-get install xfce4
sudo apt-get install xfce4 xfce4-goodies
Run Code Online (Sandbox Code Playgroud)

12)将xfce4设置为RDP连接的默认窗口管理器。

echo xfce4-session > ~/.xsession
Run Code Online (Sandbox Code Playgroud)

13)将.xsession复制到/ etc / skel文件夹中,以便将xfce4设置为所创建的任何新用户帐户的默认窗口管理器。

sudo cp /home/ubuntu/.xsession /etc/skel
Run Code Online (Sandbox Code Playgroud)

14)打开xrdp.ini文件,以允许更改将要连接的主机端口。

sudo vim /etc/xrdp/xrdp.ini
Run Code Online (Sandbox Code Playgroud)

(到目前为止尚未安装xrdp。首先使用sudo apt-get install xrdp安装xrdp,然后编辑上述文件)

15)查找[xrdp1]部分并更改以下文本(然后保存并退出[:wq])。

port=-1
- to -
port=ask-1
Run Code Online (Sandbox Code Playgroud)

16)重新启动xrdp。

sudo service xrdp restart
Run Code Online (Sandbox Code Playgroud)

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

  • 我在xrdp.ini文件中找不到[xrdp1]部分。 (3认同)
  • 从理论上讲,这可能会回答问题,但[最好](//meta.stackoverflow.com/q/8259)在此处包含答案的基本部分,并提供链接以供参考。 (2认同)