Como instalar uma GUI em minha instância do Amazon EC2 que está executando o Amazon Linux 2?

Data da última atualização: 20-04-2021

Desejo instalar uma interface gráfica de usuário (GUI) em minha instância do Amazon Elastic Compute Cloud (Amazon EC2) que está executando o Amazon Linux 2. Como posso fazer isso?

Breve descrição

Antes de continuar, considere uma destas alternativas para instalar manualmente uma GUI:

  • Inicie a partir de uma AMI do Amazon Linux 2 que vem com o MATE pré-instalado. Consulte configurar a conexão de desktop Amazon Linux 2 MATE para obter detalhes.
  • Comece a usar o Amazon WorkSpaces, um serviço de virtualização de desktop persistente e totalmente gerenciado que permite que seus usuários acessem os dados, aplicações e recursos necessários, em qualquer lugar, a qualquer hora, de qualquer dispositivo compatível. Veja a página inicial do produto para obter detalhes.
  • Comece a usar o NICE DCV, um protocolo de exibição remota de alta performance que proporciona aos clientes uma forma segura de fazer transmissão de desktops remotos e aplicações a partir de qualquer nuvem ou datacenter para qualquer dispositivo, diante de condições de rede instáveis. Veja a página inicial do produto para obter detalhes.

Se você quiser continuar com a instalação manual da GUI, faça o seguinte:

  1. Instale o ambiente de desktop MATE, uma GUI leve baseada no GNOME 2 disponível como um extra para o Amazon Linux 2. Para obter mais informações sobre o MATE, consulte o site do ambiente desktop do MATE.
  2. Instale um serviço de computação de rede virtual (VNC), como o TigerVNC. Para obter mais informações sobre o TigerVNC, acesse o site tigervnc.org.
  3. Conecte a GUI usando a VNC.
  4. (Opcional) Desabilite a autenticação de senha para VNC.
  5. (Opcional) Instale um navegador web, como Chromium ou Firefox. Para obter mais informações sobre o Chromium, acesse o site chromium.org. Para obter mais informações sobre o Firefox, acesse o site mozilla.org. Observe que o Chromium só está disponível na variante x86 do repositório EPEL.

Observação: estas instruções se aplicam apenas ao Amazon Linux 2. Para confirmar a versão que você está executando, execute o seguinte comando:

$ grep PRETTY_NAME /etc/os-release
PRETTY_NAME="Amazon Linux 2"

Para obter instruções sobre como acessar uma instância do EC2 macOS usando uma GUI, consulte Como acesso minha instância do Mac do Amazon EC2 por meio de uma GUI?

Resolução

Antes de começar

1.    Conecte a sua instância de usuário do EC2 usando o SSH.

A instância deve ser uma sub-rede pública e deve estar acessível por meio de um endereço IP público ou endereço de IP elástico. Ou você pode estabelecer uma conexão usando a AWS VPN ou o AWS Direct Connect, que permite acesso à sua instância por um IP privado. Essas instruções não se aplicam a ambientes que usam um host bastion. Por motivos de segurança, o tráfego para o servidor de VNC é encapsulado usando o SSH. É uma prática recomendada para evitar abrir portas VNC em seus grupos de segurança.

2.    Atualize sua instância executando sudo yum update e reinicie a instância. A falha na atualização e reinicialização pode levar a resultados imprevisíveis durante a execução das etapas a seguir.

Instalar o ambiente desktop MATE

1.    Instale os pacotes do MATE.

sudo amazon-linux-extras install mate-desktop1.x

2.    Defina o MATE como seu desktop padrão para todos os usuários.

sudo bash -c 'echo PREFERRED=/usr/bin/mate-session > /etc/sysconfig/desktop'

Instale o TigerVNC

1.    Instale o servidor TigerVNC:

sudo yum install tigervnc-server

2.    Configure uma senha específica para o VNC contendo de seis a oito caracteres para este usuário. Quando aparecer uma mensagem perguntando se você deseja inserir uma senha somente para visualização, aperte “n”.

vncpasswd

3.    Restrinja o acesso à rede VNC ao host local, para que a VNC só possa ser acessada por meio de um túnel SSH seguro.

Crie o diretório de configuração tigervnc:

sudo mkdir /etc/tigervnc

Crie um arquivo de configuração obrigatório contendo a opção localhost:

sudo bash -c 'echo localhost > /etc/tigervnc/vncserver-config-mandatory'

4.    Inicie o VNC Server no display número 1 e faça com que ele sempre inicie no momento da inicialização.

Crie uma nova unidade systemd.

sudo cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@.service

Use o comando sed para substituir todas as ocorrências de USER na nova unidade com ec2-user.

sudo sed -i 's/<USER>/ec2-user/' /etc/systemd/system/vncserver@.service

Recarregue a configuração de gerenciador systemd.

sudo systemctl daemon-reload

Habilite o serviço.

sudo systemctl enable vncserver@:1

Inicie o serviço.

sudo systemctl start vncserver@:1

Conectar a GUI usando a VNC

1.    Instale o software do TigerVNC em seu computador local, caso ainda não esteja instalado. O TigerVNC está disponível para Windows, Linux e macOS. Consulte o site do TigerVNC para ter acesso ao download.

Windows: baixe e instale tigervnc64-x.y.z.exe (64 bits) ou tigervnc-x.y.z.exe (32 bits), onde x.y.z representa a versão mais recente.

Linux: o pacote tigervnc está disponível nos repositórios de muitas distribuições e pode ser instalado usando seus respectivos gerenciadores de pacotes.

macOS: baixe e instale o TigerVNC-X.Y.Z.dmg, onde x.y.z representa a versão mais recente.

2.    No computador local, use o SSH para se conectar à sua instância enquanto cria um túnel para encaminhar todo o tráfego na porta local 5901/TCP (VNC) para o servidor de VNC da instância:

Linux e macOS

Ao se conectar à instância usando SSH, adicione o parâmetro -L para habilitar o encaminhamento de porta. Substitua PEM_FILE pela chave privada e INSTANCE_IP pelo IP público ou privado da instância, conforme for o caso.

ssh -L 5901:localhost:5901 -i PEM_FILE ec2-user@INSTANCE_IP

Windows

Ao abrir a conexão com o PuTTY, configure o encaminhamento de porta e abra a conexão:
    No menu Conexão, selecione SSH e, em seguida, selecione Túneis.
    Digite 5901 no campo Porta de origem.
    Digite localhost:5901 no campo Destino.
    Selecione Adicionar.

3.    Abra o TigerVNC Viewer em seu computador local. Quando aparecer uma mensagem perguntando o hostname do servidor VNC, insira localhost:1 e conecte-se a ele.

4.    Insira a senha do VNC que você definiu na etapa 2 da seção Instalar TigerVNC. Se um alerta informando que a conexão não é segura for exibido, desconsidere. Você está acessando o servidor VNC usando um túnel SSH criptografado.

Será exibido seu ambiente desktop MATE.

(Opcional) Desabilitar a autenticação de senha para VNC

A AWS não recomenda que você desabilite a autenticação de senha da VNC. Todos os usuários que conseguirem usar o SSH em sua instância poderão criar um túnel e acessar sua área de trabalho da VNC. Se esta for uma instância de usuário único (ou seja, nenhuma outra pessoa pode fazer login) e você quiser desativar a autenticação de senha para a VNC de qualquer maneira, siga estas etapas:

1.    Altere a configuração de tipos de segurança do servidor VNC para nenhum:

echo SecurityTypes=None >> ~/.vnc/config

2.    Reinicie o servidor VNC.

sudo systemctl restart vncserver@:1

(Opcional) Instalar um navegador Web

Atualmente, a AWS não fornece navegadores da web, como Chromium ou Firefox, nos repositórios do Amazon Linux 2. Para instalar um desses navegadores, siga as etapas abaixo.

Observação: a AWS não fornece suporte para softwares instalados de fontes de terceiros.

Para instalar o Chromium (versão em código aberto do Google Chrome), faça o seguinte:

1.    Habilite o repositório EPEL. Para obter mais informações, consulte a documentação do EPEL no site Fedoraproject.org.

sudo amazon-linux-extras install epel

2.    Instale os pacotes do Chromium.

sudo yum install chromium

O Chromium será instalado no MATE em Applications (Aplicações), Internet, Chromium Web Browser (Navegador Web Chromium).

Para instalar o Mozilla Firefox (apenas usuário atual), faça o seguinte:

1.    Baixe a versão mais recente do Firefox para Linux 64 bits em seu computador local. Consulte o site mozilla.org para ter acesso ao download.

2.    Após baixar o Firefox, copie o arquivo para sua instância.

3.    Extraia o conteúdo do arquivo. O comando abaixo indica que o arquivo está no diretório inicial do ec2-user. Altere o caminho e a versão do Firefox, conforme necessário.

tar jxf ~/firefox-xx.y.tar.bz2 -C ~/

4.    Usando o vim ou o editor de sua preferência, crie um ícone de desktop. Crie o arquivo ~/Desktop/Firefox.desktop com os conteúdos conforme mostrado no exemplo abaixo.

[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Icon=/home/ec2-user/firefox/browser/chrome/icons/default/default128.png
Icon[en_US]=/home/ec2-user/firefox/browser/chrome/icons/default/default128.png
Name[en_US]=Firefox
Exec=/home/ec2-user/firefox/firefox
Comment[en_US]=Firefox web browser
Name=Firefox
Comment=Firefox web browser
GenericName[en_US.UTF-8]=Firefox web browser
Categories=Network;WebBrowser;

5.    Use o ícone que você criou na etapa 4 em seu desktop para iniciar o Firefox.

6.    Se aparecer um aviso sobre o iniciador da aplicação não sendo marcado como confiável, clique em Marcar como confiável e clique duas vezes novamente para abrir o Firefox.


Este artigo ajudou?


Precisa de ajuda com faturamento ou suporte técnico?