Ubuntu server com suporte a interface Gráfica
Iniciativa
Promover uma instalação padrão do ubuntu server (validado na versão 18.04 LTS) com suporte a interface gráfica e possibilitando a gerência remota também.
Premíssias
- Servidor previamente instalado e funcional;
- Usar o acesso via ssh para gerência dos comandos e/ou console via Painel de controle da Cloud;
- Ter alguma familiaridade com acesso remoto com o protocolo VNC;
- Não reinicie o servidor antes do solicitado neste documento
CUIDADO
Se o servidor estiver em produção procure executar estes procedimentos em um horário em que não haverá prejuízo para os demais usuários, pois haverá um momento que será necessário reiniciar completamente o servidor.
Atualizando o servidor
Isso se faz necessário para promover os ajustes sem "quebra" de bibliotecas e programas. Para tanto acesse via ssh o servidor e execute o seguinte comando:
sudo apt-get dist-upgrade -y [Pressione a tecla ENTER]
A atualização vai levar alguns minutos e durante poderá ocorrer uma solicitação para que você tome uma decisão quanto ajustes de arquivos de configurações, sempre selecione o opção sugerida pelo sistema, para isso confirme a opção Pressionando a tecla ENTER , como no exemplo a seguir:
Instalando a interface gráfica padrão do sistema
A seguir, estando ainda "logado" no servidor execute o seguinte comando para instalar a interface gráfica.
sudo apt-get install ubuntu-desktop -y [Pressione a tecla ENTER]
Novamente aguarde alguns minutos até que a instalação de pacotes e progrmas sejam finalizadas.
Removendo arquivos não mais necessário no sistema
sudo apt autoremove -y [Pressione a tecla ENTER]
Ajustes nas configurações do sistema para permitir o acesso remoto
Agora será necessário editar alguns arquivos para que seja necessário o acesso remoto de forma gráfica. São eles:
- /etc/NetworkManager/NetworkManager.conf
- /etc/NetworkManager/conf.d/10-globally-managed-devices.conf
- /etc/netplan/01-network-manager-all.yaml
- /etc/gdm3/custom.conf
/etc/NetworkManager/NetworkManager.conf
Com o seu editor de arquivos preferido ( vim como exemplo) deixe o conteúdo deste arquivo exatamente como segue ( não se esqueça de usar o comando sudo no inicio ):
sudo vim /etc/NetworkManager/NetworkManager.conf [Pressione a tecla ENTER]
[main]
plugins=ifupdown,keyfile
[ifupdown]
managed=true
[device]
wifi.scan-rand-mac-address=no
A alterção é apenas no parâmetro managed.
/etc/NetworkManager/conf.d/10-globally-managed-devices.conf
Da mesma forma como no arquivo de configuração edite este e deixe semelhante ao que segue
sudo vim /etc/NetworkManager/conf.d/10-globally-managed-devices.conf [Pressione a tecla ENTER]
[keyfile]
unmanaged-devices=none
Este arquivo é novo, portanto vai aparecer sem conteúdo, basta deixar ele exatamente como está no exemplo à cima.
/etc/netplan/01-network-manager-all.yaml
Seguindo o mesmo critério de edição faça como segue:
sudo vim /etc/netplan/01-network-manager-all.yaml [Pressione a tecla ENTER]
network:
version: 2
renderer: NetworkManager
Este também é um arquivo novo bastando deixar o conteúdo semelhate ao exemplo à cima
/etc/gdm3/custom.conf
sudo vim /etc/gdm3/custom.conf
# GDM configuration storage
#
# See /usr/share/gdm/gdm.schemas for a list of available options.
[daemon]
# Uncoment the line below to force the login screen to use Xorg
#WaylandEnable=false
# Enabling automatic login
AutomaticLoginEnable = true
AutomaticLogin = ubuntu
# Enabling timed login
# TimedLoginEnable = true
# TimedLogin = user1
# TimedLoginDelay = 10
[security]
[xdmcp]
[chooser]
[debug]
# Uncomment the line below to turn on debugging
# More verbose logs
# Additionally lets the X server dump core if it crashes
#Enable=true
Deixe também esta configuração semelhante ao exemplo à cima.
Reiniciando o servidor
Para aplicar os ajustes no sistema será necessário reiniciar o servidor, para tanto faça:
sudo reboot [Pressione a tecla ENTER]
Aguarde o sistema "voltar" e siga com os demais ajustes.
Ajustes na criptografia para não prejudicar conexões oriundas de outros sistemas operacionais
Acesse novamente via ssh e/ou console do Painel da Cloud o servidor e execute:
sudo gsettings set org.gnome.Vino require-encryption false
Ajustando o usuário ubuntu para habilitar compartilhamento da tela e acesso remoto.
Via console do Painel Cloud acesso o servidor, a tela de login gráfica estará disponível, entre com o usuário ubuntu e a senha. Assim que pronto vá para as configurações cliando no canto superior direito da tela, veja a figura a seguir:
Na tela a seguir, no canto esquerdo, selecione Sharing. Clique agora na opção Screen Sharing Off, veja a próxima figura:
Na tela que é exibida, veja a próxima figura, clique na opção Require a password , defina uma senha e na opção Networks clique em ON feche a janela que as informações serão salvas.
Reinicie uma última vez o servidor pelo próprio Painel Cloud.
Firewall
Pelo painel da Cloud configure para aceitar conexões TCP da sua rede para a porta 5900.
Redirecionamento das conexões do tipo VNC para o servidor
Ainda no Painel da Cloud, vá Port Forwarding e adicione a regra para a porta 5900 serem "repassadas" para o seu servidor ubuntu.
Acesso remoto em um Desktop Windows ou Linux.
No Linux instale o aplicativo Remmina ( client para VNC ), exemplo no SO debian/ubuntu. Para plataforma Microsoft qualquer client de VNC deverá funcionar a contento.
sudo apt-get install remmina -y
Execute o Remmina e na tela principal escolha o protocolo VNC ao lado esquerdo , veja:
Agora basta indicar o IP de acesso ao Servidor, pressione a tecla ENTER, será exibido uma tela popup para indicar a senha salva anteriormente no Sharing do Ubuntu, veja:
Assim que confirmado a tela do Ubuntu estará disponível para uso.