How To Set Up GUI On Amazon EC2 Ubuntu server

后端 未结 5 1173
青春惊慌失措
青春惊慌失措 2020-11-29 14:34

I\'m using an amazon Ubuntu EC2 instance which is only has a command line interface. I want to setup UI for that server to access using remote desktop tools. Is there any wa

相关标签:
5条回答
  • 2020-11-29 15:00

    This can be done. Following are the steps to setup the GUI

    Create new user with password login

    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
    

    Setting up ui based ubuntu machine on AWS.

    In security group open port 5901. Then ssh to the server instance. Run following commands to install ui and vnc server:

    sudo apt-get update
    sudo apt-get install ubuntu-desktop
    sudo apt-get install vnc4server
    

    Then run following commands and enter the login password for vnc connection:

    su - awsgui
    
    vncserver
    
    vncserver -kill :1
    
    vim /home/awsgui/.vnc/xstartup
    

    Then hit the Insert key, scroll around the text file with the keyboard arrows, and delete the pound (#) sign from the beginning of the two lines under the line that says "Uncomment the following two lines for normal desktop." And on the second line add "sh" so the line reads

    exec sh /etc/X11/xinit/xinitrc. 
    

    When you're done, hit Ctrl + C on the keyboard, type :wq and hit Enter.

    Then start vnc server again.

    vncserver
    

    You can download xtightvncviewer to view desktop(for Ubutnu) from here https://help.ubuntu.com/community/VNC/Clients

    In the vnc client, give public DNS plus ":1" (e.g. www.example.com:1). Enter the vnc login password. Make sure to use a normal connection. Don't use the key files.

    Additional guide available here: http://www.serverwatch.com/server-tutorials/setting-up-vnc-on-ubuntu-in-the-amazon-ec2-Page-3.html

    Mac VNC client can be downloaded from here: https://www.realvnc.com/en/connect/download/viewer/

    Port opening on console

    sudo iptables -A INPUT -p tcp --dport 5901 -j ACCEPT

    If the grey window issue comes. Mostly because of ".vnc/xstartup" file on different user. So run the vnc server also on same user instead of "awsgui" user.

    vncserver

    0 讨论(0)
  • 2020-11-29 15:02

    For Ubuntu 16.04

    1) Install packages

    $ 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) Edit /usr/bin/vncserver file and modify as below

    Find this line

    "# exec /etc/X11/xinit/xinitrc\n\n".
    

    And add these lines below.

    "gnome-session &\n".
    "gnome-panel &\n".
    "gnome-settings-daemon &\n".
    "metacity &\n".
    "nautilus &\n".
    "gnome-terminal &\n".
    

    3) Create VNC password and vnc session for the user using "vncserver" command.

    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
    

    Now you can access GUI using IP/Domain and port 1

    stackoverflow.com:1

    Tested on AWS and digital ocean .

    For AWS, you have to allow port 5901 on firewall

    To kill session

    $ vncserver -kill :1
    

    Refer:

    https://linode.com/docs/applications/remote-desktop/install-vnc-on-ubuntu-16-04/

    Refer this guide to create permanent sessions as service

    http://www.krizna.com/ubuntu/enable-remote-desktop-ubuntu-16-04-vnc/

    0 讨论(0)
  • 2020-11-29 15:11

    For LXDE/Lubuntu


    1. connect to your instance (local forwarding port 5901)

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

    2. Install packages

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

    3. Create /etc/lightdm/lightdm.conf

    sudo nano /etc/lightdm/lightdm.conf

    4. Copy and paste the following into the lightdm.conf and save

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

    5. setup vncserver (you will be asked to create a password for the vncserver)

    vncserver
    sudo echo "lxpanel & /usr/bin/lxsession -s LXDE &" >> ~/.vnc/xstartup

    6. Restart your instance and reconnect

    sudo reboot
    ssh -L 5901:localhost:5901 -i "xxx.pem" ubuntu@xxx.amazonaws.com

    7. Start vncserver

    vncserver -geometry 1280x800

    8. In your Remote Desktop Client (e.g. Remmina) set Server to localhost:5901 and protocol to VNC

    0 讨论(0)
  • 2020-11-29 15:15

    So I follow first answer, but my vnc viewer gives me grey screen when I connect to it. And I found this Ask Ubuntu link to solve that.

    The only difference with previous answer is you need to install these extra packages:

    apt-get install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal
    

    And use this ~/.vnc/xstartup file:

    #!/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 &
    

    Everything else is the same.

    Tested on EC2 Ubuntu 14.04 LTS.

    0 讨论(0)
  • 2020-11-29 15:15

    1) Launch Ubuntu Instance on EC2.
    2) Open SSH Port in instance security.
    3) Do SSH to instance.
    4) Execute:

    sudo apt-get update    sudo apt-get upgrade
    

    5) Because you will be connecting from Windows Remote Desktop, edit the sshd_config file on your Linux instance to allow password authentication.

    sudo vim /etc/ssh/sshd_config
    

    6) Change PasswordAuthentication to yes from no, then save and exit.
    7) Restart the SSH daemon to make this change take effect.

    sudo /etc/init.d/ssh restart
    

    8) Temporarily gain root privileges and change the password for the ubuntu user to a complex password to enhance security. Press the Enter key after typing the command passwd ubuntu, and you will be prompted to enter the new password twice.

    sudo –i
    passwd ubuntu
    

    9) Switch back to the ubuntu user account and cd to the ubuntu home directory.

    su ubuntu
    cd
    

    10) Install Ubuntu desktop functionality on your Linux instance, the last command can take up to 15 minutes to complete.

    export DEBIAN_FRONTEND=noninteractive
    sudo -E apt-get update
    sudo -E apt-get install -y ubuntu-desktop
    

    11) Install xrdp

    sudo apt-get install xfce4
    sudo apt-get install xfce4 xfce4-goodies
    

    12) Make xfce4 the default window manager for RDP connections.

    echo xfce4-session > ~/.xsession
    

    13) Copy .xsession to the /etc/skel folder so that xfce4 is set as the default window manager for any new user accounts that are created.

    sudo cp /home/ubuntu/.xsession /etc/skel
    

    14) Open the xrdp.ini file to allow changing of the host port you will connect to.

    sudo vim /etc/xrdp/xrdp.ini
    

    (xrdp is not installed till now. First Install the xrdp with sudo apt-get install xrdp then edit the above mentioned file)

    15) Look for the section [xrdp1] and change the following text (then save and exit [:wq]).

    port=-1
    - to -
    port=ask-1
    

    16) Restart xrdp.

    sudo service xrdp restart
    

    17) On Windows, open the Remote Desktop Connection client, paste the fully qualified name of your Amazon EC2 instance for the Computer, and then click Connect.

    18) When prompted to Login to xrdp, ensure that the sesman-Xvnc module is selected, and enter the username ubuntu with the new password that you created in step 8. When you start a session, the port number is -1.

    19) When the system connects, several status messages are displayed on the Connection Log screen. Pay close attention to these status messages and make note of the VNC port number displayed. If you want to return to a session later, specify this number in the port field of the xrdp login dialog box.

    See more details: https://aws.amazon.com/premiumsupport/knowledge-center/connect-to-linux-desktop-from-windows/
    http://c-nergy.be/blog/?p=5305

    0 讨论(0)
提交回复
热议问题