
Estou tentando fazer com que o x11vnc seja executado na inicialização com o openSuse, mas não estou tendo muita sorte. Aqui está o que eu fiz até agora.
Editei /etc/X11/xdm/Xsetup
e adicionei as seguintes linhas no final, logo antes exit 0
:
#run x11vnc automatically
/usr/bin/x11vnc -rfbauth /usr/bin/vnc/passwd -o /var/log/x11vnc.log -forever -bg
Eu criei o arquivo `/usr/bin/vnc/passwd usando:
sudo x11vnc -storepasswd /usr/bin/vnc/passwd
Quando reinicio, faço um ps -A | grep x11
e não vejo o processo em execução. Também não vejo nenhum /var/log/x11vnc.log
arquivo criado. Posso executar o comando no diretório bash e funciona bem. Tenho a sensação de que esse script nunca será executado na inicialização.
Também criei um novo arquivo chamado /etc/kde4/kdm/Xsetup
e coloquei as duas linhas de cima nele, e mesmo comportamento.
As permissões do arquivo são:
-rw------- 1 root root 8 Apr 26 22:26 /usr/bin/vnc/passwd
-rwxr-xr-x 1 root root 5691 Apr 26 22:01 /etc/X11/xdm/Xsetup
Alguma ideia?
ATUALIZAR
Eu até tentei apenas ecoarOlá Mundopara um arquivo de texto no Xsetup
qual também não faz nada. Parece que este script simplesmente não é executado na inicialização.
ATUALIZAÇÃO 2:
Atualizei para 12.1, mas nenhuma das minhas tentativas funcionou.
Responder1
Aqui está o que consegui encontrar, ou deve funcionar:
Para corrigir x11vnc:
Digite estes comandos em um console como user
:
mkdir ~/.vnc
x11vnc -storepasswd "password" ~/.vnc/passwd
Coloque isso no arquivo ~/.x11vncrc substituindo user
pelo seu nome de usuário:
display :0
rfbauth /home/user/.vnc/passwd
forever
bg
Agora, para iniciá-lo automaticamente sempre que user
fizer login:
ln -s /usr/bin/x11vnc ~/.kde/Autostart/x11vnc
Agora reinicie ou reinicie a sessão da área de trabalho.
(fonte)
YaST:
Na área de trabalho do KDE, selecione o ícone do YaST, digite a senha de root e selecione OK; então selecioneServiços de rede > Administração remota.
Selecione Permitir administração remota; em seguida, selecione Concluir
(fonte)
Responder2
Reverta /etc/X11/xdm/Xsetup
ao estado original (remova suas edições). Isso não está sendo chamado durante a inicialização do sistema.
Adicione sua linha de inicialização /usr/bin/x11vnc -rfbauth /usr/bin/vnc/passwd -o /var/log/x11vnc.log -forever -bg
ao arquivo /etc/init.d/after.local
.
A menos que você queira escrever um compatível init script
que inicie/interrompa/reinicie o x11vnc
processo (o que é possível, mas está além do escopo desta resposta), você deve colocar todos os processos que deseja executar na inicialização em /etc/init.d/after.local
.
Nota: Em sistemas RedHat, isso entraria no formato rc.local
. O SUSE usa before.local
(executar antes dos scripts de inicialização) e after.local
(executar após os scripts de inicialização).
Responder3
Não tenho uma instalação do SuSE 11 na minha frente para verificar.
Uther está no caminho certo - mas você precisa iniciar o programa APÓS o X11 ter sido iniciado.
Não tenho certeza se PODE funcionar se apenas o X estiver em execução - você QUER que ele seja executado se, por exemplo, o "convidado" fizer login através da tela de login do X-window?
Com o 12, o SuSE altera todo o material do script de inicialização, então você pode querer apenas atualizar e corrigir no 12:
http://news.opensuse.org/2011/12/22/systemd-%E2%80%93-boot-faster-and-cleaner-with-opensuse-12-1/
Como objetivo geral, você vai querer descobrir o que realmente está sendo executado como sua "tela de login" no X (provavelmente gdm -http://projects.gnome.org/gdm/) e como isso foi acionado. Onde quer que ele esteja sendo executado, você desejará executar seu x11vnc diretamente antes ou logo depois disso.