Habilita a área de trabalho remota para o Gnome na linha de comando?

6

Estou tentando configurar alguns scripts de automação para configurar um ambiente Linux. Gostaria de habilitar o compartilhamento de área de trabalho remota sem que o usuário precise realmente usar a GUI para fazer isso. Meu plano é escrever um script em lote que edite alguns arquivos para fazer isso automaticamente, se possível.

Estou usando o Fedora 16 com o Gnome.

Eu quero alcançar o seguinte: link

Qualquer dica sobre o arquivo a ser editado seria muito apreciado.

    
por M S 19.04.2013 / 21:41

4 respostas

9

Se eu entendi bem: você quer compartilhar o gnome ou outro ambiente remotamente como está, então a maneira mais fácil de conseguir isso é usar o x11vnc. Ele compartilha o servidor X11 real como está após o login do usuário:

x11vnc -display :0

Ou se você quiser que o servidor vnc seja executado após o login, você pode automatizar com este script:

#!/bin/bash
/usr/bin/x11vnc -nap -wait 50 -noxdamage -passwd PASSWORD -display :0 -forever -o /var/log/x11vnc.log -bg

Você pode colocar este script em programas de inicialização no gnome, para que ele possa ser executado automaticamente quando o usuário fizer o login. Note que este script não é seguro pois a variável PASSWORD da sessão é vista claramente para qualquer pessoa que possa ler o arquivo e qualquer pessoa que saiba a senha pode se conectar à sessão vnc (a senha neste caso é 8 símbolos perguntados quando você está conectando remotamente). Se você quiser uma busca de conexão mais segura, como fazer o tunelamento vnc ssh.

    
por 20.04.2013 / 18:28
6

Meu método favorito para conexões remotas é usar o vino. É semelhante ao x11vnc, mas acho muito mais fácil de configurar (embora eu esteja usando tipicamente uma GUI). Com o Vino ativado, o gnome é configurado para aceitar conexões vnc para a sessão ativa (aquela que está atualmente conectada), para cada inicialização. Qualquer janela ou aplicativo aberto na tela será visível na conexão vnc.

Em casos normais (por exemplo, através de uma GUI), é suficiente configurá-lo executando

$ vino-preferences

Na ausência de uma GUI, as configurações devem ser alteradas usando gsettings . Algo como

$ gsettings set org.gnome.Vino enabled true
$ gsettings set org.gnome.Vino view-only true
$ gsettings set org.gnome.Vino authentication-methods "['vnc']"
$ gsettings set org.gnome.Vino prompt-enabled false
$ gsettings set org.gnome.Vino require-encryption true

ativaria a área de trabalho remota com valores reais. Você pode ver a lista completa de opções, bem como uma descrição de seus efeitos abrindo dconf-editor e navegando para desktop.gnome.remote-access .

Se o seu computador tiver vários usuários, o Vino precisará ser configurado para cada usuário.

Para se conectar à sua sessão remota, você pode usar qualquer cliente vnc padrão. No entanto, você deve encaminhar a porta 5900 para o computador ao qual deseja se conectar a partir do firmware do seu roteador. Como alternativa, se você também estiver permitindo conexões ssh com esses computadores, pode ser mais fácil e mais seguro usar o vnc por meio de um túnel ssh. De sua máquina local:

ssh -L 5900:localhost:5900 <remote server>

Em seguida, abra um cliente vnc e conecte-se a 127.0.0.1:5900 e faça o login com o nome de usuário e a senha do seu servidor remoto.

    
por 21.04.2013 / 00:34
1

Se eu precisar de acesso à minha área de trabalho, geralmente só faço SSH e executo "x11vnc" e, em seguida, conecto com o VNC.

    
por 20.04.2013 / 21:32
1

Consegui definir uma nova instalação do Ubuntu 16.04 a partir de uma conexão ssh remota com o seguinte script:

#!/bin/bash
export DISPLAY=:0
read -e -p "VNC Password: " -i "ubuntu" password
dconf write /org/gnome/desktop/remote-access/enabled true
dconf write /org/gnome/desktop/remote-access/prompt-enabled false
dconf write /org/gnome/desktop/remote-access/authentication-methods "['vnc']"
dconf write /org/gnome/desktop/remote-access/require-encryption false
dconf write /org/gnome/desktop/remote-access/vnc-password \"\'$(echo -n $password | base64)\'\"
dconf dump /org/gnome/desktop/remote-access/
sudo service lightdm restart

A cotação é importante para qualquer uma das configurações de string (ticks únicos entre aspas).

Para que o dconf possa gravar, ele precisa de acesso ao XWindows, e é por isso que a parte export DISPLAY é necessária. Eu acho que você ainda precisa estar logado na área de trabalho na máquina Ubuntu real para se conectar com o VNC depois disso.

O comando dump está pronto para confirmar todas as configurações, você realmente não precisa disso.

    
por 09.04.2017 / 03:14