Eu tenho um servidor rodando Ubuntu 12.10 e preciso ser capaz de remotamente para este servidor sem estar logado.
Tenho encontrado muitas soluções, mas nenhuma parece funcionar com 12.10.
Qualquer pessoa pode me dar instruções passo a passo sobre como configurar o x11vnc
para começar como um serviço (antes do login do usuário) para que ao me conectar com o VNC eu seja apresentado com uma tela gráfica de login?
I'sou novo no Linux, portanto, por favor, dê o máximo de detalhes possíveis em suas respostas/comentários.
Obrigado
Instale o x11vnc:
sudo apt-get install x11vnc
Crie uma senha para o seu usuário:
x11vnc -storepasswd
Se você tiver a configuração ssh você pode usá-la para iniciar o x11vnc assumindo que você já esteja logado, mas lembre-se de dizer para usar o seu arquivo de senha:
x11vnc -usepw
Se você não estiver logado, você receberá um erro com a explicação:
If NO ONE is logged into an X session yet, but there is a greeter login
program like "gdm", "kdm", "xdm", or "dtlogin" running, you will need
to find and use the raw display manager MIT-MAGIC-COOKIE file.
Some examples for various display managers:
gdm: -auth /var/gdm/:0.Xauth
-auth /var/lib/gdm/:0.Xauth
kdm: -auth /var/lib/kdm/A:0-crWk72
-auth /var/run/xauth/A:0-crWk72
xdm: -auth /var/lib/xdm/authdir/authfiles/A:0-XQvaJk
dtlogin: -auth /var/dt/A:0-UgaaXa
Assumindo que você está usando o lightdm para o login você pode corrigir este problema você pode iniciar o x11vnc com o comando:
sudo x11vnc -xkb -noxrecord -noxfixes -noxdamage -display :0 -auth /var/run/lightdm/root/:0 -usepw
Não tenho a certeza se esta é a melhor ideia para correr x11vnc como raiz. Talvez alguém possa editar com uma forma de aceder ao login sem usar o sudo.
Uma vez isto em execução, você deve ser capaz de se conectar usando um cliente vnc como o krdc (para o KDE). Você pode querer usar GNU Screen para manter o x11vnc rodando sem precisar da sessão ssh aberta.
Consegui descobrir isto usando http://ubuntuforums.org/showthread.php?t=2039022.
Aqui está um exemplo de trabalho de arranque que pode usar para o fazer funcionar na inicialização. Ele precisa ser colocado em /etc/init/x11vnc.conf. (Note que novas versões do Ubuntu usam systemd então veja a outra resposta que tem um exemplo de configuração systemd):
# description "start and stop x11vnc"
description "x11vnc"
start on runlevel [2345]
stop on runlevel [^2345]
console log
#chdir /home/
#setuid 1000
#setgid 1000
respawn
respawn limit 20 5
exec x11vnc -xkb -noxrecord -noxfixes -noxdamage -display :0 -auth /var/run/lightdm/root/:0 -usepw
Uma vez feito este arquivo, você pode iniciá-lo executando: sudo start x11vnc Você pode verificar o log em: /var/log/upstart/x11vnc.log
As respostas acima resolvem o problema, embora um par de emendas para versões do Ubuntu com systemd (15.04+), como se segue:
Execute os seguintes passos para instalar:
sudo apt-get install x11vnc
sudo x11vnc -storepasswd yourVNCpasswordHERE /etc/x11vnc.pass
# for Ubuntu 15.04+
sudo nano /lib/systemd/system/x11vnc.service
# for Ubuntu 16.10+
sudo nano /etc/systemd/system/x11vnc.service
Insira isto no arquivo:
[Unit]
Description="x11vnc"
Requires=display-manager.service
After=display-manager.service
[Service]
ExecStart=/usr/bin/x11vnc -xkb -noxrecord -noxfixes -noxdamage -display :0 -auth guess -rfbauth /etc/x11vnc.pass
ExecStop=/usr/bin/killall x11vnc
Restart=on-failure
Restart-sec=2
[Install]
WantedBy=multi-user.target
Então, começa com:
sudo systemctl daemon-reload
sudo systemctl start x11vnc
E garantir que o serviço começa no arranque:
sudo systemctl enable x11vnc
Aqui's como:
Instale o servidor X11VNC (ou através do Ubuntu Centro de Software -> Servidor X11VNC)
sudo apt-get install x11vnc
Criar um arquivo de senha VNC.
sudo x11vnc -storepasswd yourVNCpasswordHERE /etc/x11vnc.pass
Criar um arquivo de trabalho no editor nano (ou gedit, leafpad, etc.).
sudo nano /etc/init/x11vnc.conf
Cola isto no ficheiro:
começar no login-sessão-início
roteiro
/usr/bin/x11vnc -xkb -forever -auth /var/run/lightdm/root/:0 -display :0 -rfbauth /etc/x11vnc.pass -rfbport 5900 -bg -o /var/log/x11vnc.log
guião final
Guardar o ficheiro. Você criou um trabalho para o evento Upstart login-session-start.
Reinicie o Ubuntu.
Isso'é isso! Agora você deve ser capaz de se conectar com qualquer cliente VNC mesmo antes do login.