A janela do Okular não aparecerá se o wvdial estiver em execução

3

Atualmente estou usando o Debian Testing (Stretch) com o kernel 4.6.0-1-amd64 e o Cinnamon Desktop 3.2. Meu leitor de PDF preferido é o Okular, que é um aplicativo do KDE / Qt.

O Okular roda bem exceto quando wvdial está em execução, caso em que o processo estará em execução quando iniciado, mas a janela não será mostrada em lugar algum, independentemente de como eu a inicie (do ALT- Lançador F2, a partir do menu de canela, ou o terminal). O processo será listado pelos gerenciadores de tarefas (HTOP, ps e outros), mas a janela simplesmente não aparecerá. Estatisticamente falando, isso acontece 100% do tempo.

Etapas para reproduzir:

  • Execute wvdial como raiz para se conectar à Internet por meio de um modem celular USB.
  • Após a conexão ser estabelecida, execute o Okular.
  • Não importa quantas vezes você ligue, as janelas nunca aparecerão.
  • Finalize wvdial usando CTRL-C.
  • Execute o Okular novamente. A janela aparecerá.

Alguém sabe o que está acontecendo aqui?

P.S: Eu preciso usar wvdial em vez do Network Manager para escolher facilmente entre redes 3G e 4G com um arquivo de configuração simples e script de wrapper. Meu provedor aplica diferentes limites de dados para redes 3G e 4G independentes entre si, portanto, preciso usar as redes sob demanda, dependendo das minhas necessidades. Normalmente, utilizo a rede 3G para navegação na Web e o 4G para downloads grandes, videoconferência e atualização de sistemas operacionais.

Editar: Estas são as últimas 3 linhas de strace okular com wvdial em execução:

socket(AF_INET, SOCK_STREAM, IPPROTO_TCP) = 15
bind(15, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("0.0.0.0")}, 16) = 0
connect(15, {sa_family=AF_INET, sin_port=htons(111), sin_addr=inet_addr("127.0.0.1")}, 16
    
por Larssend 04.02.2017 / 05:06

1 resposta

2

Usando strace para descobrir em qual syscall o Okular para, descobriu-se que ele queria conectar o serviço portmapper (porta 111) no host local. A interface de loopback não tinha um endereço IP, por qualquer motivo, e a atribuição de um endereço IP resolveu o problema.

    
por 06.02.2017 / 08:15