3

В настоящее время я использую Debian Testing (Stretch) с ядром 4.6.0-1-amd64 и Cinnamon Desktop 3.2. Я предпочитаю программу чтения PDF-файлов Okular, которая является приложением KDE/Qt.

Okular работает нормально, кроме случаев, когда работает wvdial , и в этом случае процесс будет запускаться при запуске, но окно нигде не будет отображаться, независимо от того, как я его запускаю (из панели запуска ALT-F2, из меню Cinnamon или из терминала), Процесс будет перечислен менеджерами задач (HTOP, ps и др.), Но окно просто не появится. По статистике, это происходит в 100% случаев.

Действия по воспроизведению:

  • Запустите wvdial от имени пользователя root для подключения к Интернету через сотовый модем USB.
  • После того, как соединение установлено, запустите Okular.
  • Независимо от того, сколько раз вы звоните, окна никогда не появятся.
  • Завершите wvdial используя CTRL-C.
  • Запустите Okular снова. Окно появится.

Кто-нибудь знает, что здесь происходит?

PS: мне нужно использовать wvdial вместо Network Manager, чтобы легко выбирать между сетями 3G и 4G с помощью простого файла конфигурации и сценария оболочки. Мой провайдер применяет разные ограничения данных для сетей 3G и 4G независимо друг от друга, поэтому я должен иметь возможность использовать любую сеть по требованию в зависимости от моих потребностей. Обычно я буду использовать сеть 3G для просмотра веб-страниц и 4G для крупных загрузок, видеоконференций и обновления / обновления операционных систем.

Редактировать: Это последние 3 строки из strace okular с запущенным wvdial :

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

1 ответ1

2

Используя strace чтобы выяснить, на каком этапе останавливается системный вызов Okular, оказалось, что он хочет подключить службу portmapper (порт 111) на localhost. Интерфейс обратной связи по какой-либо причине не имел IP-адреса, и назначение ему IP-адреса решило проблему.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .