最近有一个项目需要使用GUI,又希望放在云端自动运行。一开始是打算用Windows的instance,尝试了一下基本上下载一个chrome都卡,AWS的免费用户又只能使用只有命令行的Ubuntu server。然后突发奇想诶我可不可以在Ubuntu server上安装一个GUI,查了一下这个方法似乎可行(其实还是不太可行,我已经打算放弃折腾了,不过倒是成功装上了GUI)。

  1. 安装xrdp并enable,安装GUI就需要远程桌面系统,这是Linux的客户端

    sudo apt-get update
    sudo apt install xrdp -y
    sudo systemctl enable xrdp
    
  2. 我首先尝试的是gnome,尝试发现这个消耗资源太严重了,免费版用户用起来应该跟Windows一样卡

    sudo add-apt-repository ppa:gnome3-team/gnome3
    sudo apt-get install gnome-shell ubuntu-gnome-desktop
    
  3. 后来我决定试试更轻量化的XFCE

    sudo apt install tasksel
    sudo tasksel install xubuntu-desktop
    sudo apt install xfce4 xfce4-goodies
    sudo update-alternatives --config x-session-manager
    sudo apt install lightdm
    sudo dpkg-reconfigure lightdm
    
  4. 设置密码

    sudo passwd ubuntu
    
  5. 在EC2 Security group中选择Allow All Traffic

    Allow all Traffic

  6. 在MacBook中应用商店下载Windows App,这是Window开发的远程桌面应用,有一说一Windows给Mac开发的软件是真不错

    Windows App

  7. 选择Add a PC,Computer使用AWS提供的DNS,用户名一般为ubuntu,密码为刚才设置的密码

  8. 之后就可以连接上了

    XFCE

但是尽管XFCE已经很轻量化了,我下载完Chrome之后还是觉得卡,于是放弃折腾了,AWS免费版用户不推荐这么做。