Рейтинг:1

автозапуск задерживается? занимает около 90-х

флаг cn

После входа в систему я ожидал, что мои автозапускаемые приложения сразу же запустятся, но, похоже, они запускаются только примерно через 90 секунд.

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

Я использую guake (выпадающий терминал) и иногда хочу нажать его сразу после входа в систему, но мне приходится ждать, пока сработает автозапуск.

Так было давно, и я даже не уверен, что это задумано, но мне интересно, есть ли способ запустить его немедленно (я пробовал с systemd, но я думаю, что для приложений X11 это тоже не подходит). Это ведет себя одинаково на нескольких моих машинах ... предыдущие и текущие настольные компьютеры и ноутбуки, и я никогда не тратил время на изучение этого, потому что я могу просто запустить приложение при входе в систему, и оно работает немедленно ... но когда я оставляю его на автозапуск задерживается. Сегодня я попытался понять это, и я совершенно не смог понять, как это отладить...

Также пробовал с приложением diff (gedit), просто чтобы увидеть, было ли это чем-то, что делало приложение, но оно ведет себя так же, и, глядя сверху, вы ясно видите, что они не работают ... а затем (90-е годы спустя) они запускаются.

~ î° cat ~/.config/autostart/guake.desktop сен 20 дек 2021 11:35:40
[Вход на рабочий стол]
Имя=Терминал Гуаке
Comment=Используйте командную строку в терминале, похожем на Quake
TryExec=гуаке
Exec=гуаке
Значок=гуаке
Тип = Приложение
Categories=GNOME;GTK;Система;Утилита;Эмулятор терминала;
Уведомление о запуске=истина
X-Desktop-File-Install-Version=0.22
X-GNOME-Autostart-Delay=0
 ~ î° cat /etc/*elease 20 дек 2021 11:38:38
DISTRIB_ID=Убунту
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=фокальный
DISTRIB_DESCRIPTION="Убунту 20.04.3 ЛТС"
ИМЯ="Убунту"
ВЕРСИЯ = "20.04.3 LTS (Фокусная ямка)"
ID=убунту
ID_LIKE=дебиан
PRETTY_NAME="Убунту 20.04.3 ЛТС"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=фокальная
UBUNTU_CODENAME=фокусный

Есть ли у кого-нибудь понимание того, что происходит?

** редактировать **

~ î° бесплатно -ч 30 дек 2021 19:07:54
              общее количество использованных бесплатных общих баффов/доступных кешей
Память: 31Gi 2,6Gi 25Gi 30Mi 2,9Gi 28Gi
Своп: 2,0Gi 0B 2,0Gi
 ~ sysctl vm.swappiness 30 декабря 2021 г. 19:07:56
vm.swappiness = 60

top после входа в систему, но до запуска приложений автозапуска

топ - 19:12:55 вверх 10 мин, 5 пользователей, средняя загрузка: 0,11, 0,32, 0,31
Задания: 460 всего, 1 бег, 458 сон, 0 остановлено, 1 зомби
%Cpu(s): 0,0 us, 0,4 sy, 0,0 ni, 99,6 id, 0,0 wa, 0,0 hi, 0,0 si, 0,0 st
MiB Mem : 32015,8 всего, 27507,7 бесплатно, 1505,3 использовано, 3002,8 бафф/кэш
Обмен МиБ: всего 2048,0, 2048,0 бесплатно, 0,0 использовано. 30073,2 доступна память 

    PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND                                                                                                                
    832 root 20 0 0 0 0 S 1,7 0,0 0:09.37 nvidia-modeset/                                                                                                        
   6604 корень 20 0 24,2g 55624 35720 S 1,3 0,2 0:01.70 Xorg                                                                                                                   
   7245 пгедес 20 0 816508 84356 49328 С 1,0 0,3 0:01.19 гуаке                                                                                                                  
    200 root 20 0 0 0 0 I 0,3 0,0 0:00.08 kworker/15:1-события                                                                                                    
   1517 корень -51 0 0 0 0 S 0,3 0,0 0:02.13 irq/110-nvidia                                                                                                         
   6747 pguedes 20 0 5041032 374532 112356 S 0,3 1,1 0:03.69 гном-оболочка                                                                                                            
   6757 pguedes 20 0 153416 8964 7020 S 0,3 0,0 0:00.19 жестикулирует                                                                                                              
   7931 pguedes 20 0 12272 4156 3076 R 0,3 0,0 0:00.20 верх                                                                                                                    
      1 корень 20 0 168648 12748 8436 S 0,0 0,0 0:01.21 systemd                                                                                                                
      2 root 20 0 0 0 0 S 0,0 0,0 0:00.00 kthreadd                                                                                                               
      3 корень 0 -20 0 0 0 I 0,0 0,0 0:00.00 rcu_gp                                                                                                                 
      4 корень 0 -20 0 0 0 I 0,0 0,0 0:00.00 rcu_par_gp                                                                                                             
      6 root 0 -20 0 0 0 I 0,0 0,0 0:00.00 kworker/0:0H-events_highpri                                                                                            
      7 корень 20 0 0 0 0 I 0,0 0,0 0:00.04 kworker/0:1-rcu_par_gp                                                                                                 
      9 корень 0 -20 0 0 0 I 0,0 0,0 0:00.00 mm_percpu_wq                                                                                                           
     10 корень 20 0 0 0 0 S 0,0 0,0 0:00.00 rcu_tasks_rude_                                                                                                        
     11 корень 20 0 0 0 0 S 0,0 0,0 0:00.00 rcu_tasks_trace                                                                                                        
     12 root 20 0 0 0 0 S 0,0 0,0 0:00.00 ksoftirqd/0                                                                                                            
     13 корень 20 0 0 0 0 I 0,0 0,0 0:00.13 rcu_sched                                                                                                              
     14 root rt 0 0 0 0 S 0,0 0,0 0:00.00 миграция/0                                                                                                            
     15 корень -51 0 0 0 0 С 0,0 0,0 0:00.
vanadium avatar
флаг cn
Если вы ожидаете информации, предоставьте краткую информацию о вашей текущей системе. Приложения с автозапуском определяются через файлы .desktop, которые находятся, среди прочего, в ~/config/autostart и должны запускаться сразу после входа в систему.
флаг cn
@vanadium не уверен, какую информацию вы имеете в виду. Я знаю, как работает автозапуск... как объяснялось выше, я пытаюсь запустить guake, но также пытался использовать gedit (пробовал установить X-GNOME-Autostart-Delay=0)... но задержка для любого приложения в автозапуск, а не конкретный ... если есть какая-то конкретная информация, которая может помочь, я могу ее предоставить, но я просто не уверен, какая информация будет полезна
heynnema avatar
флаг ru
@vanadium Вы *действительно* имеете в виду `~ /.config/autostart` :-)
vanadium avatar
флаг cn
@heynnema Наверняка опечатка. Я изменил свою клавиатуру на английскую (intl, с мертвыми клавишами AltGr), поэтому мне нужно нажать на акценты только один раз — они являются только мертвой клавишей в сочетании с AltGr. Тем не менее, я продолжаю печатать пробелы после этих формально мертвых клавиш. Это включает в себя ~. Затем мне нужно вернуться и удалить пробел - здесь я переместил файл . вместо. Старые привычки умирают очень тяжело.
vanadium avatar
флаг cn
@PedroGuedes Дело в том, что ваш вопрос не содержит краткой информации, с помощью которой другие могли бы отладить проблему. Кажется, мы все знаем, как работает автозапуск. То, что видишь, редко видишь - в инете отчеты не найдешь говоришь, и как ни странно, у тебя на всех машинах. Предоставление конкретной информации о вашей версии Ubuntu и рабочем столе и, в конечном итоге, включение .desktop автозапуска Guake может быть хорошим началом. Также предоставьте информацию о любых изменениях, которые вы, возможно, внесли в свою систему. темп. создайте новую учетную запись, затем проверьте, возникает ли проблема при входе в эту новую учетную запись...
флаг cn
@vanadium добавил детали .desktop и ОС. Но, как я уже упоминал, я попытался запустить gedit с помощью базового .desktop diff, и он ведет себя так же ... задержка кажется не связанной с программой запуска и ощущается как некоторая задержка по умолчанию для запуска всех приложений. Есть ли журналы, которые я мог бы изучить, чтобы выяснить, когда происходит вход в систему и запуск приложения?
vanadium avatar
флаг cn
Темп. создайте новую учетную запись, а затем проверьте, возникает ли проблема при входе в эту новую учетную запись. Таким образом, вы можете исключить общесистемную проблему.
heynnema avatar
флаг ru
@vanadium Хорошая идея. Голосовать за.
heynnema avatar
флаг ru
Статус пожалуйста...
флаг cn
@vanadium извините за задержку, но Рождество на минуту завладело моей жизнью :) в любом случае ... попробовал новую учетную запись ... точно такое же поведение. Точно такое же поведение на x1 carbon gen 4 и gen 9 (мои два ноутбука). Я собираюсь запустить виртуальную машину с Ubuntu и посмотреть, что она там делает... если у вас есть, например, gedit, всплывает ли она сразу после входа в систему?
флаг cn
Кстати, ребята ... с праздником и спасибо за помощь :)
флаг cn
@vanadium хорошо, что-то в моей настройке .... на виртуальной машине она просто запускается сразу (как и ожидалось) ... поскольку это происходит в моей учетной записи и только что созданной учетной записи, где еще я могу посмотреть?
heynnema avatar
флаг ru
@PedroGuedes Отредактируйте свой вопрос и покажите мне `free -h` и `sysctl vm.swappiness` и скриншот `top`. Кроме того, загрузитесь с Ubuntu Live USB и посмотрите, произойдет ли это там.
флаг cn
@heynnema обновил ответ... ищу ручку для создания загрузочного файла :)
флаг cn
хорошо ... это мое собственное чертово программное обеспечение, я создал этот демон жестов пару лет назад для моего проекта рождественских каникул https://github.com/pguedes/gesticle (я хотел узнать об окружении и ржавчине Linux для настольных компьютеров) и вот что вызывает это ... я только что попытался установить его на виртуальную машину, и он сразу же воспроизводит мою проблему ... я думаю, мне нужно выяснить, почему это происходит (демон отвечает, но, похоже, вызывает задержку), но, по крайней мере, я знаю кто виноват... это я! извините за погоню за дикими гусями!!
флаг cn
я думаю, это отдельная проблема, но если у кого-то есть намеки на то, что не так с этим https://github.com/pguedes/gesticle/blob/master/deb-assets/gesticle.desktop, я был бы рад получить ваш вклад. Я думаю, я покопаюсь в этом файле.
флаг cn
Мне потребовалась всего 1 минута, чтобы найти это в документах gnome ... «Фаза запуска приложения контролируется ключом X-GNOME-Autostart-Phase в его файле .desktop. Если это не установлено, по умолчанию используется этап приложений. Приложения в первых 4 фазах ДОЛЖНЫ сигнализировать диспетчеру сеансов, когда они запущены и работают (через XSMP); диспетчер сеансов не начнет следующую фазу, пока каждое приложение в текущей фазе не укажет, что оно готово. Приложения на этапе приложений не обязательно должны взаимодействовать с диспетчером сеансов. ` смущающий
Рейтинг:0
флаг cn

Eventually i found the issue to be a daemon (something i wrote myself) to be causing this because i missed the following lines in the gnome docs.

An application's startup phase is controlled by the X-GNOME-Autostart-Phase key in its .desktop file. If this is not set, it defaults to the Applications phase. Applications in the first 4 phases MUST signal to the session manager when they are up and running (via XSMP); the session manager won't start the next phase until every app in the current phase has indicated that it is ready. Applications in the Applications phase aren't necessarily expected to communicate with the session manager.

and also later on the same page:

In the "Initialization" phase, an application can just exit with status 0 to indicate that it is done setting up.

see https://wiki.gnome.org/Projects/SessionManagement/NewGnomeSession#Startup

which means that applications started during the Initialization phase need to return 0 to indicate that they are done setting up and the gnome session startup can continue... or it times out (like was happening to me). I missed this in the docs and so I was basically launching my daemon from that .desktop on that phase :facepalm:

fix was very basic: https://github.com/pguedes/gesticle/commit/7ad281066e77614a6a8f56cd37eef3a40fedab28#diff-80193a39279910d0f7d03cd29dba92ad660f9f167b53480f9a36e461868e8903

leaving the answer here in case it helps someone debugging something similar

Ответить или комментировать

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