O servidor VNC trava imediatamente

0

Então, instalei recentemente o pacote tigervnc no Arch Linux (uname -r 4.18.10-arch1-1-ARCH ). Eu estou tentando obter o servidor VNC para executar através de túneis SSH, então eu estou iniciando o servidor em localhost somente com -localhost on vncserver .

O problema é que, depois de iniciar meu arquivo .service para o vncserver com systemctl start vncserver@:1 , o servidor VNC não responde e, na verdade, o processo Xvnc não está nem em execução.

Eu tentei solucionar isso primeiro, com systemctl status vncserver@:1 , o que me deu isso:

● vncserver@:1.service - Remote desktop service (VNC)
   Loaded: loaded (/etc/systemd/system/vncserver@:1.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Wed 2018-10-10 20:57:46 EEST; 10min ago
  Process: 4936 ExecStop=/usr/bin/vncserver -kill :1 (code=exited, status=2)
  Process: 4897 ExecStart=/usr/bin/vncserver :1 -fg -alwaysshared -localhost :1 (code=exited, status=0/SUCCESS)
  Process: 4891 ExecStartPre=/usr/bin/dbus-launch (code=exited, status=0/SUCCESS)
  Process: 4885 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill :1 > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)
 Main PID: 4897 (code=exited, status=0/SUCCESS)

Oct 10 20:57:41 JUHANPELIKONE-L systemd[1]: Starting Remote desktop service (VNC)...
Oct 10 20:57:42 JUHANPELIKONE-L systemd[4885]: pam_unix(login:session): session opened for user juha by (uid=0)
Oct 10 20:57:42 JUHANPELIKONE-L systemd[4891]: pam_unix(login:session): session opened for user juha by (uid=0)
Oct 10 20:57:42 JUHANPELIKONE-L systemd[1]: Started Remote desktop service (VNC).
Oct 10 20:57:42 JUHANPELIKONE-L systemd[4897]: pam_unix(login:session): session opened for user juha by (uid=0)
Oct 10 20:57:46 JUHANPELIKONE-L systemd[1]: vncserver@:1.service: Control process exited, code=exited status=2
Oct 10 20:57:46 JUHANPELIKONE-L systemd[1]: vncserver@:1.service: Failed with result 'exit-code'.

Eu então tentei diagnosticar com journalctl -xe e encontrei alguns erros de pam e, em seguida, um backtrace de segfault para Xvnc.

Eu tentei adicionar um comando dbus launch ao arquivo de serviço (ele está atualmente lá), alterando o gerenciador de janelas, removendo e adicionando parâmetros à chamada vncservice no arquivo de serviço, executando isso diretamente do emulador de terminal e reinstalando tigervnc.

O arquivo .service está em pastebin , junto com minha journalctl -x output e outras coisas, para evitar desordem.

    
por jkan5855 10.10.2018 / 20:22

1 resposta

0

Eu sei que isso é um pouco antigo e é absolutamente possível que OP tenha desistido disso. Mas eu me deparei com esse problema também, e eu tenho (por tentativa e erro) traçado de volta para a bandeira "-fg" (executado em primeiro plano). Se você executar o vncserver manualmente (ou possivelmente por algum outro meio na inicialização, o vncserver estará ok.

No entanto, remover o flag fg não corrige o problema com o systemd. Eu não sei o que causa exatamente o segfault.

Para replicar o problema sem o systemd, você pode executar manualmente o vncserver -fg e ele irá travar imediatamente, causando o mesmo problema de segfault no log do vncserver, mas se você remover o flag fg e executar vncserver sem o sinalizador foreground , o servidor ficará bem.

Algo sobre a tentativa de executar um vncserver no primeiro plano faz com que o Xvnc falhe. Eu não tenho certeza do que.

    
por 04.12.2018 / 07:20