Se você deseja compartilhar sua área de trabalho pela LAN ou pela Internet no Linux, uma das melhores maneiras é hospedar um servidor VNC. Existem muitas soluções VNC diferentes para compartilhamento de desktop no Linux. Neste artigo, falaremos sobre o TigerVNC. Ele oferece uma solução de servidor VNC confiável, é fácil de instalar e compatível com várias versões do Linux.
ALERTA DE SPOILER: Role para baixo e assista ao tutorial em vídeo no final deste artigo.
últimas postagens
Ubuntu
sudo apt install tigervnc-standalone-server tigervnc-viewer
Debian
sudo apt-get install tigervnc-standalone-server tigervnc-viewer
Arch Linux
sudo pacman -S tigervnc
Fedora
sudo dnf install tigervnc-server
OpenSUSE
Pegue o pacote TigerVNC na página de serviço de compilação do OpenSUSE. Todas as versões modernas do SUSE são suportadas. Para instalar, clique no botão de instalação com um clique.
Outros Linux
TigerVNC é uma das plataformas VNC mais usadas no Linux. Isso significa que há uma boa chance de sua distribuição ser suportada e que há um pacote instalável disponível. Pesquise no gerenciador de pacotes da sua distribuição Linux por “tiger vnc” e “tiger vnc server”. Instale-os e continue com este guia.
Não consegue encontrar um pacote? Dirija-se ao website oficial para aprender como obter um binário ou o código-fonte.
Configurar
O TigerVNC configurará automaticamente as coisas e as preparará para uso. Para iniciar o processo de configuração do servidor, abra uma janela de terminal. Dentro da janela do terminal, use o seguinte comando:
vncserver
Como esse comando é executado dentro do terminal, o prompt solicitará uma senha para acessar seus desktops pelo VNC. Em um navegador da Web, vá para gerador de senha fortee gere uma senha segura. Isso é crítico, especialmente se você planeja canalizar suas conexões VNC para a Internet.
Digite a senha no prompt e o arquivo de configuração será gerado e salvo em ~/.vnc.
Executando o servidor
Por padrão, o servidor VNC que você acabou de configurar só será executado quando você abrir um terminal e executar o comando vncserver. Como as coisas já estão configuradas, a ferramenta iniciará tudo e imprimirá o endereço para se conectar pela LAN.
vncserver
Nota: para executar o VNC pela internet, consulte o manual do seu roteador e a porta 111 de encaminhamento de porta.
Execução automática com Systemd
Executar o servidor com um comando é bom se tudo o que você precisa é de acesso rápido aqui e ali. No entanto, se você precisar de uma conexão constante, o melhor caminho a percorrer é permitir que o VNC seja executado constantemente por meio de seu sistema init. Como a maioria dos sistemas operacionais Linux modernos usa o systemd, é isso que o exemplo abordará.
Se o seu sistema operacional Linux não usa o sistema systemd init, você precisará adicionar o comando “vncserver” para inicializar via xinitrc, ou algo semelhante.
Habilite o servidor para ser executado na inicialização com o seguinte comando systemd.
systemctl --user enable [email protected]:1
Não execute este comando fora do modo de usuário, pois pode ser um problema de segurança. Além disso, não ative o servidor VNC para executar constantemente se você não confiar em outras pessoas em sua rede.
Matando o servidor VNC
Às vezes, o TigerVNC pode falhar e atrapalhar. Se a qualquer momento você precisar matar o servidor a qualquer momento, use este comando.
vncserver -kill :1
Lembre-se de que este comando matará apenas uma instância em execução por vez. Se você estiver executando várias versões do servidor ao mesmo tempo, precisará especificá-lo no comando. Para fazer isso, substitua o :1 pelo número que o servidor forneceu quando você o iniciou com o comando.
Iniciando seu ambiente de desktop
Só porque você pode se conectar ao seu servidor VNC, não significa que algo acontecerá. Para que algo aconteça quando você fizer login, você precisará especificá-lo dentro de um arquivo de inicialização automática. Faça um indo a um terminal e digitando:
echo '#!/bin/sh' > ~/.vnc/xstartup chmod u+x ~/.vncxstartup
Em seguida, localize o código para iniciar o ambiente de desktop. Para encontrar esse código, abra outra guia do terminal e use o comando cd para ir para o diretório xsessions.
cd /usr/share/xsessions/
Dentro desta pasta, use LS para revelar tudo que está lá. É aqui que ficam todos os arquivos de sessão para ambientes de desktop. Neste exemplo, usaremos o LXDE Desktop, mas o conceito é o mesmo para todos os ambientes de desktop.
Usando cat e grep, revele o comando dentro do arquivo xsession Desktop.
cat LXDE.desktop | grep "Exec="
A execução do comando cat neste arquivo de sessão revela o comando start para o LXDE:
Exec=/usr/bin/startlxde
Esqueça o “Exec=”, e foque apenas em “/usr/bin/lxde“. Usando o editor de texto Nano, cole este código recém-descoberto no arquivo de inicialização e pressione Ctrl + O para salvá-lo.
nano ~/.vnc/xstartup exec /usr/bin/startlxde &
Esse processo funcionará com qualquer sessão de ambiente de desktop dentro de /usr/share/xsessions/.
Conectando a um servidor em execução
Conectar-se a um servidor VNC em execução na rede é muito fácil. Para começar, lembre-se de que cada vez que você executa uma instância do servidor VNC, ele cria um 1. A primeira instância do servidor (também conhecida como executando o comando apenas uma vez) criará:
example-linux-pc:1
Executá-lo 4 vezes, em 4 terminais separados, criará:
example-linux-pc:1 example-linux-pc:2 example-linux-pc:3 example-linux-pc:4
Desde que o computador que procura se conectar à sessão, bem como o computador que hospeda a sessão, estejam na mesma rede, uma conexão pode ser feita apenas com o nome do host. Para conectar, abra um terminal e digite o seguinte comando.
vncviewer example-linux-pc:1
Depois de inserir o comando no prompt, a ferramenta TigerVNC GUI será aberta e solicitará uma senha. Digite a senha que você escreveu durante o processo de configuração para se conectar.
Conecte-se com GUI em vez disso
Não quer se conectar pela linha de comando? Em caso afirmativo, abra o visualizador Tiger VNC e preencha o endereço do servidor dentro do prompt. Digite a senha que você foi solicitado a preencher quando começou.