Некоторые приложения в Ubuntu 19.10 запускаются очень медленно

Мне нужно было автоматизировать это в сценарии python, поэтому я применил чрезвычайно полезный ответ LiLo на следующее:

#!/usr/bin/env python import os import sys from subprocess import Popen, PIPE import fcntl driver = sys.argv[-1] print "resetting driver:", driver USBDEVFS_RESET= 21780 try: lsusb_out = Popen("lsusb | grep -i %s"%driver, shell=True, bufsize=64, stdin=PIPE, stdout=PIPE, close_fds=True).stdout.read().strip().split() bus = lsusb_out[1] device = lsusb_out[3][:-1] f = open("/dev/bus/usb/%s/%s"%(bus, device), 'w', os.O_WRONLY) fcntl.ioctl(f, USBDEVFS_RESET, 0) except Exception, msg: print "failed to reset device:", msg

В моем случае это был драйвер cp210x (который я мог бы сказать из lsmod | grep usbserial), поэтому вы можете сохранить приведенный выше фрагмент как reset_usb.py, а затем сделать это:

sudo python reset_usb.py cp210x

Это также может быть полезно, если у вас еще нет настройки компилятора в вашей системе, но вы имеют python.

2
задан 29 October 2019 в 09:02

8 ответов

После того как возникла та же проблема и выполнила strace + много повторных поисков, я обнаружил, что это решает проблему навсегда (filezilla, keepassX и т. Д. Теперь запускаются мгновенно):

sudo apt-get install appmenu-gtk2-module

Затем перезагрузитесь.

28
ответ дан 20 November 2019 в 03:11

Не удается подтвердить, что установка appmenu-gtk2-module решает проблему. Также "dbus-launch --exit-with-session" предоставляет только частичное решение. Например, VLC сталкивается с теми же проблемами запуска. Запуск его как «dbus-launch --exit-with-session vlc» позволяет избежать описанной задержки запуска. Однако интеграция с верхней панелью и raven в рабочем столе Budgie теряется.

Следовательно, вопрос, что именно вызывает эту проблему и как ее решить, все еще открыт.

Edit: Я хотел бы уточнить, что Я считаю, что не все в порядке с VLC при выполнении с dbus-launch. Я приложил четыре скриншота - два с суффиксом OK, которые показывают интеграцию с Budgie при выполнении без dbus-launch. Второй набор с суффиксом NOK показывает, что он выполняется с dbus-launch. Разница особенно заметна на скриншотах vlcRaven. Кроме того, поведение при нажатии значка на верхней панели отличается. При dbus-launch щелчок левой кнопкой мыши по значку открывает показанное меню, а тот же самый скрывает / показывает приложение. Меню открывается после щелчка правой кнопкой мыши по значку. Я не считаю такое поведение демонстрационным, хотя оно может дать дополнительные подсказки, что на самом деле вызывает проблему.

Панель VLC Raven NOK Панель VLC Raven OK Верхняя панель NOK Верхняя панель OK

2
ответ дан 20 November 2019 в 03:11

Я могу подтвердить проблему. Для некоторых приложений запуск сильно задерживается, другие запускаются довольно быстро. После запуска все приложения работают нормально, без каких-либо задержек.

Я также могу подтвердить, что у меня нет проблем с запуском приложений, если я использую dbus-launch --exit-with-session vlc . Также запуск приложения от имени пользователя root устраняет задержку.

strace останавливается на этом этапе со всеми отложенными приложениями:

poll([{fd=14, events=POLLIN}], 1, 25000) = 1 ([{fd=14, revents=POLLIN}])
read(14, "\1\0\0\0\0\0\0\0", 16)        = 8
poll([{fd=14, events=POLLIN}], 1, 25000

Я рад любой подсказке!

Изменить: Если кто-то ищет для временного решения проблемы:

  1. Установите menulibre

  2. Откройте редактор меню (menulibre) и найдите приложение, запуск которого задерживается

  3. Добавьте dbus-launch --exit-with-session APPLICATION к команде запуска

  4. Открепить его из списка задач значков

  5. Открыть приложение через меню и снова закрепить

Теперь приложение запускается с помощью команды dbus-launch из меню «Пуск» и панель задач.

1
ответ дан 20 November 2019 в 03:11

Я также испытываю чрезвычайно медленные времена запуска приложения также для некоторых приложений. Вот некоторые другие, которых я нашел:

  • hexchat
  • onlyoffice-desktopeditors (и снимок И установки репозитория)
  • Lazarus 2.0.6 w/fpc 3.0.4 (установил .deb файлы из lazarus-ide.org)

Lazarus также несколько раз запирал мою систему. AS это - критическое приложение разработки для меня, я работал вокруг этого путем создания версии Qt5 Lazarus, который работает как ожидалось.

0
ответ дан 20 November 2019 в 03:11

Я нашел возможное решение того, что похоже, та же проблема, которая влияет только на приложения QT (в отличие от GTK) и проявляется только после чистой установки Ubuntu Budgie 19.10 (но не при обновлении на месте):

  • Отредактируйте ~ /.profile файл в вашем / home / $ (whoami) директоре
  • В верхней части добавьте: export QT_STYLE_OVERRIDE = cleanlooks (вместо «cleanlooks» вы также можете использовать один из следующих вариантов: cde, motif, plastique, Windows или Fusion (но не «gtk2», что означает, что это какая-то проблема с зависимостями или другая)) - вики Arch дополнительная информация об этой переменной среды .
  • Выйдите из системы и войдите снова, и приложения QT должны снова запуститься очень быстро.

Вы теряете тематику gtk2 приложений QT, хотя в VLC вы можете вручную настроить ее на использование тем gtk2, и, похоже, она работает нормально.

Ручная установка dbus-launch с приложениями QT также работала для меня (хотя это оставляет осиротевшие процессы dbus-daemon, запущенные после закрытия каждого приложения).

1
ответ дан 20 November 2019 в 03:11

Как упоминалось здесь dbus-launch --exit-with-session ПРИЛОЖЕНИЕ оставляет осиротевшие процессы dbus-daemon , выполняющиеся после закрытия каждого приложения. Поэтому я написал небольшой сценарий, чтобы избежать этого:

#!/bin/bash

app="$1"
shift

dbus-launch --exit-with-session "$app" "$@" & pid=$!; sleep 0.5 && export killme=$(pgrep -nx dbus-daemon); export killme2=$(pgrep -f "dbus-launch --exit-with-session $app"); wait $pid && kill $killme $killme2

Сохраните его в папке PATH, например в каталоге ~ / bin с именем fastrun и запустите его так:

fastrun APPLICATION
0
ответ дан 5 January 2021 в 21:54

Я тоже столкнулся с этой проблемой при обновлении до 20.04. После долгого чтения и тестирования я обнаружил, что вы получаете две разные версии 20.04 в зависимости от того, какой маршрут обновления вы выберете. Если вы выберете метод обновления через Интернет с 18.04.4, у вас нет этой проблемы, все приложения открываются мгновенно при запуске от имени пользователя root или пользователя. Если вы используете метод чистой установки с загруженным образом, то у вас возникает проблема, когда приложения открываются мгновенно при запуске от имени пользователя root, но при запуске от имени пользователя возникает тайм-аут DBUS.

Таким образом, похоже, что Ubuntu установит две разные системы, которые одна это предполагаемая версия? Что касается меня, я предпочитаю метод Release-Upgrade, так как мне неприятно иметь систему, которая работает при запуске приложений как root, но не работает как пользователь.

С уважением, Tom

0
ответ дан 5 January 2021 в 21:54

У меня была аналогичная проблема с GTK-приложениями и xmonad (и запуском X через xinit). Я решил эту проблему, добавив следующую строку в свой .xinitrc :

dbus-update-activation-environment DISPLAY XAUTHORITY
1
ответ дан 5 January 2021 в 21:54

Другие вопросы по тегам:

Похожие вопросы: