如何使用 Amazon EC2 实例设置桌面 GUI?

如何使用 Amazon EC2 实例设置桌面 GUI?

我需要熟悉一些无法在我家的任何机器(windows/mac)上运行的软件。因此我决定启动一个 EC2 实例并在那里尝试一下。

然而,事实证明,让 EC2 支持远程桌面会话比它应有的难度要大。我尝试过通过网络搜索找到的技术,但都已过时且不再适用。

到目前为止,我已经尝试了所有这些建议的解决方案 - 但都没有奏效:

[[email protected] ~]$ yum groups list
Loaded plugins: priorities, update-motd, upgrade-helper
Installed groups:
   Editors
   Legacy UNIX compatibility
   Mail Server
   Network Servers
   Perl Support
   System Tools
Available Groups:
   Console internet tools
   DNS Name Server
   Development Libraries
   Development tools
   FTP Server
   Java Development
   MySQL Database
   MySQL Database client
   NFS file server
   Networking Tools
   PHP Support
   Performance Tools
   PostgreSQL Database client (version 8)
   PostgreSQL Database server (version 8)
   Scientific support
   TeX support
   Technical Writing
   Web Server
   Web Servlet Engine
Done

没有任何东西表明它会给我一个 X 会话。

最近有人解决了该设置问题并让它正常工作了吗?

PS 有几个人问为什么不使用 VirtualBox VM - 忘了说我确实先尝试过了,但不知何故,它们都不起作用。我从最新版本开始,然后倒着尝试每个版本 - 无法启动或运行它们。(我的机器是 Cintiq Companion,搭载 Windows 8)。

答案1

按照 Matt 在评论中的建议

按照此链接中的说明设置 SSH 隧道和本地私钥: http://www.serverwatch.com/server-tutorials/setting-up-vnc-on-ubuntu-in-the-amazon-ec2-page-2.html

在 ec2 上运行这些安装程序(不确定哪些是多余的 - 只是它最终起作用了)

sudo apt-get update
sudo apt-get install ubuntu-desktop
sudo apt-get install vnc4server
sudo apt-get install x11vnc
x11vnc -storepasswd
sudo apt-get install gnome-core gnome-session-fallback

vncserver
vncserver -kill :1  #(to get the default xstartup file)

编辑 $HOME/.vnc/xstartup 使其看起来像这样:

#!/bin/sh

# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
#exec /etc/X11/xinit/xinitrc
gnome-session --session=gnome-classic &

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
#x-terminal-emulator -geometry 80×24+10+10 -ls -title “$VNCDESKTOP Desktop” &
#x-window-manager &

必须为 ubuntu 用户设置密码(gnome 桌面似乎需要这个?)

sudo passwd ubuntu

必须重启实例

然后跑了

 sudo x11vnc -xkb -noxrecord -noxfixes -noxdamage -display :0 -auth /var/run/lightdm/root/:0 -usepw

然后我可以通过 TightVNC 连接并看到 Ubuntu 桌面

不确定我还会遇到什么其他麻烦,但至少我已经走到这一步了

谢谢你马特

答案2

我注意到你说你尝试过 X2Go 但失败了;我现在在两个 Ubuntu 14.04 实例上成功使用它,一个是 AWS 上的 EC2 micro,另一个是小型 DigitalOcean droplet(它也适用于许多其他发行版,但你必须根据这些说明)。虽然 VNC 肯定可以工作,但 X2go 速度更快,响应速度更快,并且默认支持 SSH 代理。

我也经历过同样的挫败感,找到过时或不相关的文章和关于设置云桌面的建议,但一旦我找到了 X2Go 解决方案,它实际上可以在大约 10 分钟内启动并运行,非常简单。

以下是我设置所有事项的步骤:

  1. sudoSSH 密钥 - 由于它是远程服务器,您应该已经能够正常通过 SSH 登录,但如果不能,则需要具有权限的用户通过 RSA 密钥进行 SSH 登录

  2. 系统更新——不是必需的,但取决于您上次更新远程机器的时间,现在这样做可能会避免不兼容或麻烦:

    sudo apt-get update
    sudo apt-get dist-upgrade
    sudo apt-get autoremove
    
  3. 安装 X2Go 服务器——在远程机器上创建一个新文件并将以下内容粘贴到其中:

    #!/usr/bin/env bash
    # note: this script may take some time to run, particularly
    # the steps involving the install of xubuntu as it has many
    # packages included as dependencies
    
    printf "\ninstalling required packages...\n"
    sudo apt-get install python-software-properties
    sudo apt-get install software-properties-common
    
    printf "\ninstalling xubuntu...\n"
    sudo apt-get install xubuntu-desktop
    
    printf "\nadding x2go ppa repository...\n"
    sudo add-apt-repository ppa:x2go/stable
    sudo apt-get update
    
    printf "\ninstalling x2go server...\n"
    sudo apt-get install x2goserver x2goserver-xsession
    
    printf "\nxubuntu and x2go server have been installed.\n"
    echo "don't forget to reboot your instance as well!"
    

    执行文件以安装所有内容(. ./<filename>);您可能需要先修改文件权限以使其可执行——通常,我花 5-10 分钟的时间,但具体时间取决于个人情况

  4. 安装 X2Go 客户端——最后一步是安装您想要从中访问远程计算机的操作系统的客户端;可以找到适用于 Windows、Mac 和各种 Linux 的安装说明这里

现在您可以使用客户端通过配置的主机、用户、密钥、端口连接到机器并访问您的 GUI 云桌面;请确保XFCE在设置连接时选择作为会话类型。

答案3

如果您在 Amazon 实例上使用 NoMachine,则应遵循以下说明: https://www.nomachine.com/AR10K00710(无头服务器上的 NoMachine)

答案4

不可以。Amazon Linux 没有 X-server 软件包的 Repo。此外,它旨在用于服务器端角色,因此所有与 X 相关的东西都不可用。

感谢 slayedbylucifer

形式https://stackoverflow.com/a/21273694/1105231

相关内容