首页 文章

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

提问于
浏览
101

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

5 回答

  • 60

    这可以做到 . 以下是设置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
    

    你可以从这里下载 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

  • 158

    所以我按照第一个答案,但是当我连接到它时,我的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上测试 .

  • 1

    对于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

    stackoverflow.com:1

    在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/

  • 12

    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)从No更改PasswordAuthentication为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 install 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模块,并使用您在步骤8中创建的新密码输入用户名ubuntu . 启动会话时,端口号为-1 .

    19)当系统连接时,有几个状态消息显示在“连接日志”屏幕上 . 密切注意这些状态消息并记下显示的VNC端口号 . 如果要稍后返回会话,请在xrdp登录对话框的端口字段中指定此编号 .

    查看更多详情:https://aws.amazon.com/premiumsupport/knowledge-center/connect-to-linux-desktop-from-windows/
    http://c-nergy.be/blog/?p=5305

  • 3

    对于LXDE / Lubuntu


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

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

    2.安装包

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

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

    sudo nano /etc/lightdm/lightdm.conf

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

    [SeatDefaults]
    让来宾= FALSE
    用户会话= LXDE
    #用户会话= Lubuntu

    5. setup 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 -geometry 1280x800

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

相关问题