Existe um comando shutdown / restart para x11VNC? - Linux (Debian)

5

Estou executando o Linux (Debian). Recentemente instalei o servidor x11VNC no meu computador. Eu encontrei o comando para iniciar o servidor é:

x11vnc -display :0

Eu tenho procurado, mas não encontrei nenhuma informação sobre como reiniciar e desligar o servidor x11VNC. Existe um comando (s) para fazer isso?

    
por synthesis 13.02.2014 / 23:15

5 respostas

5

Se você estiver usando systemd , poderá configurá-lo como um serviço. Eu encontrei este segmento que mostra uma tarefa semelhante de configuração de x11vnc como um serviço Systemd. O tópico é intitulado: Index »Newbie Corner» como habilitar o x11vnc na inicialização usando o systemd? .

De um comentário nesse tópico

  1. Crie o arquivo: /etc/systemd/system/x11vnc.service

    [Unit]
    Description=VNC Server for X11
    Requires=display-manager.service
    After=display-manager.service
    
    [Service]
    Type=forking
    ExecStart=/usr/bin/x11vnc -norc -forever -shared -bg -rfbauth /etc/x11vnc.pass -allow 192.168.1. -autoport 5900 -o /var/log/x11vnc.log
    
  2. Crie o arquivo: /etc/systemd/system/graphical.target

    #  This file is part of systemd.
    #
    #  systemd is free software; you can redistribute it and/or modify it
    #  under the terms of the GNU Lesser General Public License as published by
    #  the Free Software Foundation; either version 2.1 of the License, or
    #  (at your option) any later version.
    
    [Unit]
    Description=Graphical Interface
    Documentation=man:systemd.special(7)
    Requires=multi-user.target
    After=multi-user.target
    Conflicts=rescue.target
    Wants=display-manager.service
    Wants=x11vnc.service
    AllowIsolate=yes
    
    [Install]
    Alias=default.target
    
  3. Ativar o serviço Systemd

    $ sudo systemctl enable graphical.target
    

    Isso deve criar um link como este:

    /etc/systemd/system/default.target -> /etc/systemd/system/graphical.target

  4. Reinicializar

por 13.02.2014 / 23:40
10

Como você sabe como iniciar o servidor, aqui está uma maneira de pará-lo com cuidado:

x11vnc -R stop

basicamente, você envia um comando remoto (consulte -remote ) para a instância em execução.

    
por 19.05.2015 / 13:48
2

A solução para isso que funciona para mim é:

$ x11vnc -clear-all
    
por 07.12.2014 / 07:28
0

Tente:

killall x11vnc && /usr/bin/x11vnc -rfbport 5900 -bg -vncconnect -xvnc -forever 

Adicione opções personalizadas.

    
por 07.12.2014 / 04:57
0

TLDR : O que você deseja está aqui, com um serviço de tipo "não necessário":

link

Caso você queira tocar, eu fiz isso antes de encontrar a resposta certa. Funcionou às vezes, porque foi configurado errado. Se você usar -bg ou qualquer outro script que saia imediatamente após a execução, você precisará disso, caso contrário, basta seguir o primeiro link para executar o serviço x11vnc corretamente. Acabei de usá-lo, funciona perfeitamente.

Recomendado : Todas as coisas abaixo apenas para jogar com

Antes de mais nada, você deve usar o serviço Type=oneshot ao longo de RemainAfterExit=yes para que a ação "Parar" funcione. Eu tenho lutado até que eu tenha o meu trabalhando.

Para parar o servidor x11vnc por "display" como você faria com vncserver -kill :1 (: 1 aqui significa: 5901 porque vnc usa portas padrão de 590x) você precisa usar no exemplo lsof para obter pid, depois matar graciosamente ou não, você escolhe a opção -9 ou outra de sua escolha.

Se você sempre usa o serviço (então o mesmo rfbport) com o serviço, você já conhece a porta de escuta, então pode ser como:

ExecStop=/bin/bash -c "/bin/kill -9 'lsof -i:5901 -t'"

Como esses parâmetros só aceitam binarios e não permitem pipe, você tem que agrupar todos dentro de bash -c "command"

O meu parece link e não funciona na inicialização, mas funciona se você reiniciar ou iniciar manualmente.

O servidor não será eliminado se você executar o início novamente, mas o reinício será feito.

Se você planeja executar vários x11servers em portas diferentes, você deve adicionar @ ao nome do serviço e, em seguida, invocar com o número desejado, e modificar o script para usar% i como argumento.

Basta usar x11vnc @ NUMBER para iniciar o serviço:

Nome do arquivo de serviço: x11vnc @ .service Ative-o com a porta 5901: sudo systemctl enable x11vnc@1 Exemplo de ExecStart de Serviço: / usr / bin / x11vnc -forever -shared -bg -rfbport 590% i -display: 0 -geometry 800x600 -rfbauth /etc/x11vnc.pass -listen 127.0.0 $ Exemplo do Service ExecStop: / bin / sh -c "/ bin / kill -9 lsof -i:590%i -t " Inicie: sudo service x11vnc@1 start para ser executado na porta 5901

O meu parece link e não funciona na inicialização, mas funciona se você reiniciá-lo ou iniciar manualmente.

    
por 31.03.2018 / 00:37