Notícias sobre Ubuntu, Debian, Fedora, Linux, Android, Tecnologia, LibreOffice e muito mais!

Como configurar o Xfce via servidor remoto Ubuntu e acessá-lo via VNC

Veja como configurar o Xfce através de acesso remoto!

Hoje em dia muitos servidores dispensam ambientes gráficos, mas e quando precisarmos executar alguma aplicação no servidor? E que seja necessário manter tal aplicativo sendo executado por um tempo para fazermos testes para os nossos usuários finais, como vamos fazer? Pois é, neste tutorial veja como configurar o Xfce no servidor remoto usando o Ubuntu, claro você pode usar outros ambientes como KDE, Gnome, Mate e etc.

Instalando o ambiente de trabalho e o servidor VNC no Ubuntu

Xfce é um desktop leve e ideal para uso em um servidor remoto. Primeiro instale os pacotes xfce e o servidor tightvnc. Como estamos falando de um servidor que esta sendo usado em produção, então é importante atualizar o cache dos pacotes, o sistema e só depois seguir os passos abaixo:
sudo apt-get update
sudo apt-get install xfce4 xfce4-goodies tightvncserver
Observe que isso só irá instalar os pacotes e não vai iniciar nada, vale lembrar que o cenário atual é um servidor sem ambiente gráfico. Então vamos lá, começaremos o vncserver com configurações específicas por conta própria, mais adiante neste guia.
Para evitar erros, ou caso aconteça alguma parada no gerenciador de pacotes vamos executar o comando abaixo para garantir que a instalação anterior esteja com as dependências de maneira satisfatórias:
sudo dpkg --configure -a

Criando um novo usuário no VNC em nosso servidor Ubuntu

A próxima coisa a fazer é criar um usuário unix que será usado durante as sessões vnc. O nome de usuário pode ser qualquer coisa. Use o comando adduser, lembre-se que os comandos devem ser sempre executados como root:
adduser emanuel

Configurando a “senha vnc” para o usuário

O servidor vnc mantém uma senha separada que é usada para fazer login no servidor VNC via cliente VNC. Essa senha é diferente da senha de usuário do Unix. Ela é configurada usando o comando vncpasswd, veja abaixo como fazer, mas primeiro vamos mudar para o usuário emanuel que criamos na etapa anterior:
su - emanuel
Agora sim, vamos criar uma senha:
vncpasswd
Observe que o arquivo passwd não existia e foi criado conforme as saídas do terminal que foram geradas para você. Se você já tiver executado o comando vncserver anteriormente, então teria criado os arquivos. Quando você executa o vncserver pela primeira vez, ele cria um script de inicialização padrão.
No entanto, não precisamos executar o comando vncserver. Ele deve ser iniciado automaticamente usando scripts de inicialização.

Criando o script xstartup

O próximo arquivo importante é o script xstartup. Ele contém instruções sobre quais aplicativos X devem ser iniciados. Neste caso, o ambiente de trabalho é a aplicação X que temos de iniciar.
Primeiro faça um backup do arquivo se ele já existir
mv ~/.vnc/xstartup ~/.vnc/xstartup.bak
Agora edite-o usando nano
nano .vnc/xstartup
Nota: Isso está dentro do diretório pessoal do usuário vnc, ou seja /home/emanuel/.vnc/xstartup
Digite as seguintes linhas no script xstartup:
#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &
O comando startxfce4 irá iniciar o desktop xfce. Salve o arquivo e feche-o.
 
Torne o arquivo xstartup executável. Isso é necessário para que o vncserver possa executar este arquivo, para isso execute os comandos abaixo:
chmod +x ~/.vnc/xstartup

Criando arquivo do serviço VNC

O próximo passo é criar um arquivo de serviço VNC para que possamos iniciar o servidor VNC usando o comando service e não precisar executar o comando vncserver todas às vezes que formos usar o serviço.
Certifique-se de digitar o nome de utilizador correto na variável USER. Este é o usuário que o servidor VNC vai usar para iniciar a sessão da área de trabalho.
sudo nano /etc/init.d/vncserver
Cole o seguinte script
#!/bin/bash
PATH="$PATH:/usr/bin/"
export USER="emanuel"
DISPLAY="1"
DEPTH="16"
GEOMETRY="1024x768"
OPTIONS="-depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY}"
. /lib/lsb/init-functions
case "$1" in
start)
log_action_begin_msg "Starting vncserver for user '${USER}' on localhost:${DISPLAY}"
su ${USER} -c "/usr/bin/vncserver ${OPTIONS}"
;;
stop)
log_action_begin_msg "Stoping vncserver for user '${USER}' on localhost:${DISPLAY}"
su ${USER} -c "/usr/bin/vncserver -kill :${DISPLAY}"
;;
restart)
$0 stop
$0 start
;;
esac
exit 0]
Salve o arquivo e feche-o. Vamos agora torná-lo executável:
chmod +x /etc/init.d/vncserver

Iniciando o serviço

É hora de executar o vncserver e testar. Primeiro recarregue systemctl para que ele possa usar o script de inicialização vncserver:
systemctl daemon-reload
Agora inicie o vncserver. Ele inicia o servidor na porta 5901:
service vncserver start
Verifique se tudo esta funcionando:
service vncserver status
cat ~/.vnc/*.pid
ps -ef | grep tightvnc
 
Verifique as portas abertas do servidor VNC. Você precisa do número de porta correto ao usar o cliente VNC:
netstat -nlp | grep vnc
O servidor VNC também pode ser iniciado chamando o script diretamente:
/etc/init.d/vncserver start
Para parar vncserver
service vncserver stop

Instalando o cliente vncviewer na área de trabalho

Agora que temos o servidor vnc funcionando com o ambiente de desktop gui, é hora de instalar um cliente vnc e acessar o desktop remoto.
Instale o xtightvncviewer no Ubuntu, para isso execute os comandos abaixo:
sudo apt-get install xtightvncviewer
Agora, conecte-se ao servidor VNC remoto usando o comando vncviewer:
vncviewer -quality 5 -encodings "copyrect tight hextile zlib corre rre raw" -compresslevel 5 IPADDR:5901
Usamos codificações de baixa qualidade e compressão para comprimir os dados de imagem sendo transferidos afim de torná-los mais rápidos. Usar outros visualizadores do VNC como o KRDC pode ser mais lento, mas use o que gostar mais.
Referências:
Comentários