Как удалить Update
Подлинный файл является одним из компонентов программного обеспечения Microsoft Windows Operating System, разработанного Microsoft Corporation .
Update — это аббревиатура от Windows Package Installer
Update.exe — это исполняемый файл (программа) для Windows. Расширение имени файла .exe — это аббревиатура от англ. слова executable — исполнимый. Необходимо запускать исполняемые файлы от проверенных производителей программ, потому что исполняемые файлы могут потенциально изменить настройки компьютера или нанести вред вашему компьютеру. Бесплатный форум с информацией о файлах может помочь вам разобраться является ли Update.exe вирусом, трояном, программой-шпионом, рекламой, которую вы можете удалить, или файл принадлежит системе Windows или приложению, которому можно доверять.
Вот так, вы сможете исправить ошибки, связанные с Update.exe
- Используйте программу Настройщик Windows, чтобы найти причину проблем, в том числе и медленной работы компьютера.
- Обновите программу Microsoft Teams. Обновление можно найти на сайте производителя (ссылка приведена ниже).
- В следующих пунктах предоставлено описание работы Update.exe.
Информация о файле Update.exe
от GitHub или Microsoft (www.microsoft.com) или Slack Technologies или FACE IT LIMITED или WhatsApp или Ferox Games B.V или Avira Operations GmbH & Co. KG или Igor Pavlov (www.7-zip.org) или Mozilla (www.mozilla.org) или Paul Betts или Intel (www.intel.com) или Teknum Systems AS (www.handybits.com) или Plays.tv или Bitdefender (www.bitdefender.com/) или Trend Micro (www.trendmicro.com) или Blitz или iolo Technologies (www.iolo.com).
Описание: Процесс с именем update.exe появляется как часть одной из нескольких различных программ. Многие вредоносные программы называют себя update.exe. Пожалуйста, проверьте свой файл.
Подробный анализ: Update.exe не является важным для Windows и часто вызывает проблемы. Файл Update.exe находится в подпапках «C:\Users\USERNAME». Известны следующие размеры файла для Windows 10/11/7 1,512,760 байт (27% всех случаев), 1,512,104 байт и еще 86 варианта .
У процесса есть видимое окно. Это не файл Windows. Процесс начинает работать вместе с Windows (Смотрите ключ реестра: Run , TaskScheduler , MACHINE\Run , User Shell Folders , DEFAULT\Runonce ). Поставлена цифровая подпись. Update.exe способен мониторить приложения. Поэтому технический рейтинг надежности 48% опасности.
- Если Update.exe находится в подпапках «C:\Program Files», тогда рейтинг надежности 38% опасности. Размер файла 1,512,760 байт (17% всех случаев), 2,278,616 байт и еще 49 варианта . Это не системный файл Windows. У файла поставлена цифровая подпись. Процесс начинает работу при запуске Windows (Смотрите ключ реестра: Run , TaskScheduler , MACHINE\Run , User Shell Folders , DEFAULT\Runonce ). Update.exe способен мониторить приложения.
- Если Update.exe находится в подпапках «C:\Program Files\Common Files», тогда рейтинг надежности 41% опасности. Размер файла 910,296 байт (44% всех случаев), 19,456 байт или 912,344 байт. Это не системный файл Windows. Процесс начинает работать вместе с Windows (Смотрите ключ реестра: Run , TaskScheduler , MACHINE\Run , User Shell Folders , DEFAULT\Runonce ). Update.exe представляется сжатым файлом.
- Если Update.exe находится в подпапках C:\Windows, тогда рейтинг надежности 78% опасности. Размер файла 13,179,660 байт (28% всех случаев), 7,184,007 байт и еще 4 варианта .
- Если Update.exe находится в папке C:\Windows, тогда рейтинг надежности 71% опасности. Размер файла 331,697 байт (50% всех случаев) или 302,510 байт.
- Если Update.exe находится в папке Windows для хранения временных файлов , тогда рейтинг надежности 64% опасности. Размер файла 238,080 байт (50% всех случаев) или 175 байт.
- Если Update.exe находится в подпапках C:\Windows\System32, тогда рейтинг надежности 48% опасности. Размер файла 9,216 байт (50% всех случаев) или 450,560 байт.
- Если Update.exe находится в подпапках «Мои файлы» , тогда рейтинг надежности 40% опасности. Размер файла 37,888 байт.
- Если Update.exe находится в папке C:\Windows\System32, тогда рейтинг надежности 76% опасности. Размер файла 1,141,248 байт.
- Если Update.exe находится в папке «Мои файлы» , тогда рейтинг надежности 100% опасности. Размер файла 5,297,152 байт.
- Если Update.exe находится в подпапках диска C:\, тогда рейтинг надежности 26% опасности. Размер файла 14,336 байт.
Важно: Некоторые вредоносные программы используют такое же имя файла Update.exe, например Trojan.Gen или WS.Reputation.1 (определяется антивирусом Symantec), и Backdoor:Win32/Xtrat.A или VirTool:Win32/AutInject.AU (определяется антивирусом Microsoft). Таким образом, вы должны проверить файл Update.exe на вашем ПК, чтобы убедиться, что это угроза. Мы рекомендуем Security Task Manager для проверки безопасности вашего компьютера.
Комментарий пользователя
| не удаляется Александр |
| У меня update.exe находится на диске D в папке update, которая в свою очередь находится в папке 532bd90bb6cdaeeceab6bcab. Сам файл имеет цифровую подпись Microsoft от 29 августа 2006г. Версия файла 6.3.0003.0. Вместе с update.exe в папке update находятся 2 файла updspapi.dll и wudfcustom.dll. Как все они возникли на диске D для меня остается загадкой. Незнайка Вопрошайка |
| Удаляется без проблем, если во вкладке «безопасность» дать админу статус «особые» и все полномочия системы Александр |
| У меня эта хрень появилась в количестве 6 штук на диске D. Также как и у Александра. Никак не удаляется, даже в безопасном режиме. Помимо тех файлов, что указал Александр, имеются еще несколько. Леха |
| Удаляется без проблем, если во вкладке «безопасность» дать админу статус «особые» и все полномочия системы Александр |
| У меня эта хрень появилась в количестве 6 штук на диске D. Также как и у Александра. Никак не удаляется, даже в безопасном режиме. Помимо тех файлов, что указал Александр, имеются еще несколько. Леха |
| «У меня update.exe находится на диске D в папке update, которая в свою очередь находится в папке 532bd90bb6cdaeeceab6bcab.» (Незнайка Вопрошайка) У меня также сидел update.exe в примерно такой папке и не удалялся (WinXP). Я скачал утилитку unlocker версии 1.9.0 Запустил и указал на папку с произвольным названием. Unlocker сообщил, что ничего не заблокировано, но что бы вы хотели сделать с этой папкой (Delete, Move.. и т.д.). Я выбрал Delete и все — папка со всем содержимым исчезла. Вот. Дмитрий |
| Об update.exe вообще, это ни о чём. Это дополнение для обновления в составе множества больших программ, например, в windows, avira, comodo, rogue и т. п. (иногда в виде updater). Естественно, обладает всеми свойствами материнской программы, нужными или зловредными. Поэтому сначала всегда следует уточнять, куда он относится в каждом конкретном случае. Александр |
| В Данном случае это может быть Дискорд Андрей |
| запретите доступ к системе, сложного ничего нет.. Владимир |
| ��� �� � ������������ �������� ��� ��������� ���� |
Итого: Средняя оценка пользователей сайта о файле Update.exe: — на основе 12 голосов с 11 отзывами.
55 пользователей спрашивали про этот файл. 3 пользователей не поставили рейтинг («я не знаю»). Один пользователь оценил, как важный для Windows или установленной программы. 4 пользователей оценили, как нейтрально. 4 пользователей оценили, как кажется опасным. 3 пользователей оценили, как опасный.
Лучшие практики для исправления проблем с Update
Аккуратный и опрятный компьютер — это главное требование для избежания проблем с Update. Для этого требуется регулярная проверка компьютера на вирусы, очистка жесткого диска, используя cleanmgr и sfc /scannow, удаление программ, которые больше не нужны, проверка программ, которые запускаются при старте Windows (используя msconfig) и активация Автоматическое обновление Windows. Всегда помните о создании периодических бэкапов, или в крайнем случае о создании точек восстановления.
Если у вас актуальные проблемы, попробуйте вспомнить, что вы делали в последнее время, или последнюю программу, которую вы устанавливали перед тем, как появилась впервые проблема. Используйте команду resmon, чтобы определить процесс, который вызывает проблемы. Даже если у вас серьезные проблемы с компьютером, прежде чем переустанавливать Windows, лучше попробуйте восстановить целостность установки ОС или для Windows 8 и более поздних версий Windows выполнить команду DISM.exe /Online /Cleanup-image /Restorehealth. Это позволит восстановить операционную систему без потери данных.
Следующие программы могут вам помочь для анализа процесса Update.exe на вашем компьютере: Security Task Manager отображает все запущенные задания Windows, включая встроенные скрытые процессы, такие как мониторинг клавиатуры и браузера или записей автозагрузки. Уникальная оценка рисков безопасности указывает на вероятность процесса быть потенциально опасным — шпионской программой, вирусом или трояном. Malwarebytes Anti-Malware определяет и удаляет бездействующие программы-шпионы, рекламное ПО, трояны, кейлоггеры, вредоносные программы и трекеры с вашего жесткого диска.
Update сканер
Security Task Manager показывает все запущенные сервисы Windows, включая внедренные скрытые приложения (например, мониторинг клавиатуры или браузера, авто вход). Уникальный рейтинг надежности указывает на вероятность того, что процесс потенциально может быть вредоносной программой-шпионом, кейлоггером или трояном.
Бесплатный aнтивирус находит и удаляет неактивные программы-шпионы, рекламу, трояны, кейлоггеры, вредоносные и следящие программы с вашего жесткого диска. Идеальное дополнение к Security Task Manager.
Инструмент ремонта ПК бесплатное сканирование, очистка, восстановление и оптимизация вашей системы.
Обновление GitHub Desktop
GitHub Desktop автоматически скачивает обновления и устанавливает их при перезапуске. Кроме того, можно вручную проверить наличие обновлений.
Platform navigation
Обновление GitHub Desktop

- В строке меню выберите GitHub Desktop, а затем щелкните «О GitHub Desktop«.

В модальном окне нажмите кнопку «Проверить Обновления«.
Устранение сбоя при запуске путем обновления GitHub Desktop
Если при попытке запустить GitHub Desktop версии 3.0.2–3.1.3, скачайте последнюю версию на сайте GitHub Desktop , а затем замените существующее приложение новой версией. Ваши предпочтения и отслеживаемые репозитории будут сохранены.
- Перейдите на сайт GitHub Desktop .
- Скачайте последнюю версию GitHub Desktop.
- В папке «Загрузки» найдите скачаемое приложение.
- Если скачаемое приложение находится в ZIP-файле, распакуйте файл, дважды щелкнув ZIP-файл.
- Перетащите приложение GitHub Desktop из папки «Загрузки» в папку «Приложения».
- Подтвердите диалоговое окно с просьбой заменить существующее приложение.
- Запустите GitHub Desktop.
- Подтвердите запрос о том, что приложение было скачано из Интернета.

- В строке меню выберите «Справка«, а затем щелкните «О GitHub Desktop«.

Нажмите Проверить обновления.
Как отключить автозапуск Discord

При установке на компьютер Discord автоматически попадает в автозапуск и будет стартовать вместе с Windows. Однако не всегда требуется, чтобы мессенджер находился в активном состоянии, а каждый раз закрывать его не очень удобно. Поэтому можно отключить автозапуск, чтобы только вручную открывать Discord, когда это будет необходимо. Есть четыре метода, которые помогут решить данную проблему и изменить соответствующую настройку.
Если вы выполнили один из методов, но оказалось, что программа все равно запускается вместе с операционной системой, попробуйте реализовать и следующие варианты, чтобы обеспечить комплексное отключение необходимых параметров. Часто это позволяет избавиться от возникшей проблемы.
Вариант 1: Настройки Discord
Самый простой метод удаления Дискорда из автозагрузки – поиск нужной настройки непосредственно в самом мессенджере. Достаточно будет просто деактивировать переключатель, а затем перезапустить ПК, чтобы проверить, вступили ли изменения в силу. В следующей инструкции вы узнаете, где найти этот самый параметр.
- Запустите мессенджер и на пользовательской панели внизу щелкните по значку с изображением шестеренки.

- Вы будете перенаправлены в окно настроек, где вас интересует раздел с названием «Настройки Windows».

- Найдите параметр «Открыть Discord» и деактивируйте переключатель напротив него, чтобы он стал серым.

На этом все, поэтому вы можете сейчас или позже перезапустить операционную систему, чтобы проверить, не будет ли Дискорд автоматически запускаться. Кстати, в этом же меню с настройками вы можете сделать так, чтобы он открывался только свернутым, если вам мешает именно то, что каждый раз на экране появляется окно мессенджера.
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Вариант 2: Диспетчер задач
Автозапуск в Windows работает таким образом, что программа создает системную запись, которая обрабатывается при старте ОС, запуская и само приложение. Эта запись отображается на одной из вкладок Диспетчера задач, откуда ее и можно отключить.
- Щелкните по меню «Пуск» правой кнопкой мыши и из контекстного меню выберите пункт «Диспетчер задач». Если вы знаете другие методы запуска этого системного приложения, ничего не мешает использовать именно их.

- Переключитесь на вкладку «Автозагрузка» и найдите строки с надписью «Update» от издателя «GitHub». У них может быть значок Discord или иконка пустого файла. Обратите внимание на состояние данных параметров. Если автозагрузка включена, то состояние будет «Включено».

- Для отключения щелкните по строке правой кнопкой мыши и выберите пункт «Отключить». Сделайте так со всеми одинаковыми приложениями «Update», если в списке их больше одного.

Вариант 3: Параметры Windows
В настройках Windows есть еще один раздел, через который можно управлять автозагрузкой. Кстати, установленные в Диспетчере задач значения не всегда синхронизируются с этим разделом, поэтому может возникнуть ситуация, когда Дискорд все равно запустится. Рекомендую вам проверить состояние приложения и таким способом:
- Откройте меню «Пуск» и через него перейдите в «Параметры».

- На панели слева выберите раздел «Приложения».

- Перейдите в категорию «Автозагрузка».

- В ней вы увидите такой же список приложений, как и в Диспетчере задач. Найдите связанные с Дискордом записи и измените состояние переключателей напротив них на «Откл.».

Вариант 4: Сторонние программы
Есть много разных программ, которые пользователи устанавливают для оптимизации Windows, удаления мусорных файлов и очистки кэша. Некоторые из них еще позволяют управлять автозагрузкой. Это может быть CCleaner, Autoruns, WinOptimizer и многие другие. Все они работают примерно одинаково, поэтому выделять конкретную не буду. Если у вас есть такая программа, откройте меню управлением автозагрузкой и отключите через нее записи, связанные с Discord примерно так же, как делали это при выполнении предыдущих инструкций.
![]()
Вы можете приступить к проверке изменений после выполнения одного или нескольких предложенных методов. Все они были проверены и оказались работоспособными, поэтому можете выбрать любой, чтобы отключить автозагрузку Дискорда при запуске ПК. Повторюсь, что можете одновременно использовать хоть все варианты сразу, чтобы 100% добиться нужного результата.
Всё как у больших. Автозагрузка приложений в оконных менеджерах linux

О как интересно, подумалось мне. Можно реализовать функционал полноценных Desktop Environments , по автоматическому запуску приложений, при старте. А у меня как раз i3wm, который таковым не является и которому такой функционал не помешал бы. Надо это дело исследовать. Тогда я ещё не знал во что ввязался. Как оказалось, не всё так просто.
Переменные XDG, freedesktop.org, desktop-файлы и autostart
Пользователям полноценных линуксовых графических окружений (KDE, Gnome, Mate etc) прекрасно известна возможность автозапуска приложений при логине пользователя в систему, разработанную инициативной группой Freedesktop.org (ранее X Desktop Group, или XDG), подобная той, что существует, например, в Windows. Данный функционал обеспечивается обычными *.desktop файлами, но лежащими по определённым путям:
- $XDG_CONFIG_DIRS/autostart/ ( /etc/xdg/autostart/ по умолчанию) — общесистемная директория, для всех пользователей. Туда, обычно, попадают десктоп файлы при установке софта пакетным менеджером.
- $XDG_CONFIG_HOME/autostart/ ( $HOME/.config/autostart/ по умолчанию) — Пользовательская директория, имеющая больший приоритет, нежели общесистемная, то есть если в пользовательской лежит десктоп файл с таким же именем, что и в общесистемной, будет использован именно пользовательский файл.
Если в этих переменных семейства XDG directories не указано иное, или эти переменные отсутствуют (так происходит в большинстве классических дистрибутивов, привет NixOS!), будут использованы значения по умолчанию.
Итак, с директориями определились. Файлы в них можно:
- Симлинкнуть из стандартных путей: $XDG_DATA_DIRS/applications/ ( /usr/share/applications/ по умолчанию) или из пользовательского $XDG_DATA_HOME/applications/ ( ~/.local/share/applications по умолчанию), куда, кстати, любят класть свои файлы Steam, Itch.io или Wine.
- Можно создать самому, написав десктоп файлы руками.
- Можно нажать галочку «Запускать при старте системы», в каком-нибудь софте, например, в телеграм клиенте и тогда уже софт сам создаст в $XDG_CONFIG_HOME/autostart/ свой файл.
Всё хорошо. Одно плохо. Это не работает, как минимум, в Leftwm, Spectrwm, xmonad, bspwm, dwm (без патчей точно) и, разумеется, в любимом i3wm. Просто потому, что у них отсутствует session manager. И вот тут мы переходим к самому интересному. Встречайте! systemd!
Systemd как спасательный круг тайловых (и не очень) оконных менеджеров
Эта глава будет самой объёмной. Тут мы разберёмся кто и как может помочь разобрать залежи desktop файлов, кто, как и когда их запустит, и при чём тут вообще systemd. Поехали!
▍ Developers, developers, developers! Генераторы, генераторы, генераторы!
Systemd, как известно, это не только система инициализации, логгирования событий, но и набор готовых дополнительных утилит, готовых сервисов с их юнитами, система управления сетью, and more… Среди прочего systemd может выступать в качестве системного менеджера для пользовательских сервисов — юнитов, работающих в пространстве пользователя. То есть после логина пользователя в систему запускается ещё один экземпляр /usr/lib/systemd только уже от пользователя и позволяет запускать юниты в пространстве пользователя, с наследованием его окружения и правами.
Среди других интересных и полезных вещей в systemd есть такая штука, как генераторы. Маленькие утилиты запускаемые на раннем этапе загрузки системы или сразу после логина пользователя и выполняющие динамическую генерацию юнитов и/или их конфигов. Например, есть генератор, который читает /etc/fstab и на его основе генерирует *.mount юниты. Или генератор, который вычитывает файлы *.conf из /etc/environment.d/ и $HOME/.config/environment.d/ и на их основе собирает переменные которые пользователь видит набирая команду env и которые наследуются всеми пользовательскими юнитами. Среди прочего есть и генератор, который пробегает по $XDG_CONFIG_DIRS/autostart и $XDG_CONFIG_HOME/autostart , вычитывает *.desktop файлы, генерирует пользовательские *.service юниты и кладёт их в /run/user//systemd/generator.late .
Всё хорошо и замечательно, но есть одно но. Если есть сервисы, их должен кто-то вовремя запустить. То есть запустить ровно тогда, когда будет запущена графическая оболочка… Если посмотреть, произвольный такой юнит, мы увидим там упоминание target-а graphical-session.target (Юнит на основе десктоп файла апплета управления Bluetooth cat /run/user/1000/systemd/generator.late/app-blueman@autostart.service ):
# Automatically generated by systemd-xdg-autostart-generator [Unit] Documentation=man:systemd-xdg-autostart-generator(8) SourcePath=/etc/xdg/autostart/blueman.desktop PartOf=graphical-session.target Description=Blueman Applet After=graphical-session.target [Service] Type=exec ExecStart=:/usr/bin/blueman-applet Restart=no TimeoutSec=5s Slice=app.slice
Хорошо, но что это за graphical-session.target? В выводе systemctl —user —type=target , если выполнить команду из-под i3wm никакого такого таргета не наблюдается. А вот если запустить из-под, например, Gnome, то вполне:
Многабукв и ничего интересного 😉
UNIT LOAD ACTIVE SUB DESCRIPTION basic.target loaded active active Basic System default.target loaded active active Main User Target gnome-session-initialized.target loaded active active GNOME Session is initialized gnome-session-manager.target loaded active active GNOME Session Manager is ready gnome-session-pre.target loaded active active Tasks to be run before GNOME Session starts gnome-session-x11-services.target loaded active active GNOME session X11 services gnome-session-x11.target loaded active active GNOME X11 Session gnome-session-x11@zorin.target loaded active active GNOME X11 Session (session: gnome) gnome-session.target loaded active active GNOME Session gnome-session@gnome.target loaded active active GNOME Session (session: gnome) graphical-session-pre.target loaded active active Session services which should run early before the graphical session is brought up graphical-session.target loaded active active Current graphical user session org.gnome.SettingsDaemon.A11ySettings.target loaded active active GNOME accessibility target org.gnome.SettingsDaemon.Color.target loaded active active GNOME color management target org.gnome.SettingsDaemon.Datetime.target loaded active active GNOME date & time target org.gnome.SettingsDaemon.Housekeeping.target loaded active active GNOME maintenance of expirable data target org.gnome.SettingsDaemon.Keyboard.target loaded active active GNOME keyboard configuration target org.gnome.SettingsDaemon.MediaKeys.target loaded active active GNOME keyboard shortcuts target org.gnome.SettingsDaemon.Power.target loaded active active GNOME power management target org.gnome.SettingsDaemon.PrintNotifications.target loaded active active GNOME printer notifications target org.gnome.SettingsDaemon.Rfkill.target loaded active active GNOME RFKill support target org.gnome.SettingsDaemon.ScreensaverProxy.target loaded active active GNOME FreeDesktop screensaver target org.gnome.SettingsDaemon.Sharing.target loaded active active GNOME file sharing target org.gnome.SettingsDaemon.Smartcard.target loaded active active GNOME smartcard target org.gnome.SettingsDaemon.Sound.target loaded active active GNOME sound sample caching target org.gnome.SettingsDaemon.Wacom.target loaded active active GNOME Wacom tablet support target org.gnome.SettingsDaemon.XSettings.target loaded active active GNOME XSettings target org.gnome.Shell.target loaded active active GNOME Shell paths.target loaded active active Paths sockets.target loaded active active Sockets timers.target loaded active active Timers LOAD = Reflects whether the unit definition was properly loaded. ACTIVE = The high-level unit activation state, i.e. generalization of SUB. SUB = The low-level unit activation state, values depend on unit type. 31 loaded units listed. Pass --all to see loaded but inactive units, too. To show all installed unit files use 'systemctl list-unit-files'.
И что же со всем этим делать и как быть? Как получить заветный target?
▍ Графическая оболочка тоже сервис. Подсматриваем в Gnome
Если в Gnome запустить systemctl —user —type=service можно заметить интересный сервис:
UNIT LOAD ACTIVE SUB DESCRIPTION at-spi-dbus-bus.service loaded active running Accessibility services bus dbus.service loaded active running D-Bus User Message Bus . gnome-shell-x11.service loaded active running GNOME Shell on X11 .
Становится всё интереснее. Значит Gnome запускается как systemd сервис ( gnome-shell-x11.service ). Ну а уж из сервиса можно реализовывать любые зависимости. В принципе ожидаемо. Но как реализовывать такое для произвольной графической оболочки, которая не заточена под такие тонкие извращения? Надеемся на то не должно быть сложно… Перво-наперво смотрим в юнит ( systemctl cat —user gnome-shell-x11.service ) и понимаем, что ничего не понимаем и что мы немножко попали…
# /usr/lib/systemd/user/gnome-shell-x11.service [Unit] Description=GNOME Shell on X11 # On X11, try to show the GNOME Session Failed screen OnFailure=gnome-shell-disable-extensions.service gnome-session-failed.target OnFailureJobMode=replace CollectMode=inactive-or-failed RefuseManualStart=on RefuseManualStop=on After=gnome-session-manager.target Requisite=gnome-session-initialized.target PartOf=gnome-session-initialized.target Before=gnome-session-initialized.target # The units already conflict because they use the same BusName #Conflicts=gnome-shell-wayland.service # Limit startup frequency more than the default StartLimitIntervalSec=15s StartLimitBurst=3 [Service] Type=notify ExecStart=/usr/bin/gnome-shell # Exit code 1 means we are probably *not* dealing with an extension failure SuccessExitStatus=1 # On X11 we want to restart on-success (Alt+F2 + r) and on-failure. Restart=always
Ладно, чёрт с ним, идём смотреть в *.desktop файл xsessions( cat /usr/share/xsessions/gnome.desktop )…
[Desktop Entry] Name=GNOME Comment=This session logs you into GNOME Exec=env GNOME_SHELL_SESSION_MODE=gnome /usr/bin/gnome-session --systemd --session=gnome TryExec=/usr/bin/gnome-shell Type=Application DesktopNames=GNOME X-GDM-SessionRegisters=true X-Ubuntu-Gettext-Domain=gnome-session-3.0
… и понимаем, что попали несколько серьёзнее чем хотелось бы и что гном, в данном случае, нам мало чем поможет. Он изначально заточен под работу с systemd. Идём в эти наши интернеты.
▍ Выходим на финишную прямую. Пишем враппер, юнит и наконец удачно стартуем
Не буду затягивать и утомлять читателя подробностями того, как и где приходилось выуживать информацию по крупицам. Это были и маны и ArchWiki и чёрт его знает что ещё. Лучше сразу приведу готовые, в меру откомментированные файлы.
Итак, копируем дефолтный /usr/share/xsessions/i3.desktop в /usr/share/xsessions/i3-systemd.desktop и немного модифицируем.
[Desktop Entry] ### Было: ### # Name=i3 ### Стало: ### Name=i3 via systemd Comment=improved dynamic tiling window manager ### Было: ### # Exec=i3 # TryExec=i3 ### Стало: ### Exec=i3-service TryExec=i3-service Type=Application X-LightDM-DesktopName=i3 DesktopNames=i3 Keywords=tiling;wm;windowmanager;window;manager;
Теперь нам нужно написать враппер i3-service который будет подготавливать окружение и запускать i3wm в качестве сервиса. Ну и, разумеется, сам i3.service файл тоже должен быть написан. Итак враппер /usr/local/bin/i3-service :
#!/usr/bin/env sh # Импортируем и загружаем в d-bus сессию переменные из логин менеджера. /etc/X11/xinit/xinitrc.d/50-systemd-user.sh systemctl --user import-environment XDG_SEAT XDG_VTNR XDG_SESSION_ID XDG_SESSION_TYPE XDG_SESSION_CLASS if command -v dbus-update-activation-environment >/dev/null 2>&1; then dbus-update-activation-environment XDG_SEAT XDG_VTNR XDG_SESSION_ID XDG_SESSION_TYPE XDG_SESSION_CLASS fi # Загружаем иксовые ресурсы. userresources=$HOME/.Xresources usermodmap=$HOME/.Xmodmap sysresources=/etc/X11/xinit/.Xresources sysmodmap=/etc/X11/xinit/.Xmodmap if [ -f $sysresources ]; then xrdb -merge $sysresources fi if [ -f $sysmodmap ]; then xmodmap $sysmodmap fi if [ -f "$userresources" ]; then xrdb -merge "$userresources" fi if [ -f "$usermodmap" ]; then xmodmap "$usermodmap" fi # Запускаем xinitrc* скрипты. if [ -d /etc/X11/xinit/xinitrc.d ] ; then for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do [ -x "$f" ] && . "$f" done unset f fi # И собственно запускаем сервис. exec systemctl --wait --user start i3.service
Ну и наконец вишенка на нашем торте, сам /etc/systemd/user/i3.service :
[Unit] Description=i3wm tiling window manager for X Documentation=man:i3(5) Wants=graphical-session-pre.target After=graphical-session-pre.target # Самое главное, биндимся к таргету графической сессии.. BindsTo=graphical-session.target PartOf=graphical-session.target # . и не забываем включить таргет, ради которого всё затевалось. Before=xdg-desktop-autostart.target Wants=xdg-desktop-autostart.target [Service] Type=simple # Запускаем i3 через d-bus launcher. Мы же хотим, чтоб у нас работал d-bus? ExecStart=/usr/bin/dbus-launch --sh-syntax --exit-with-session i3 --shmlog-size 0 Restart=on-failure RestartSec=5 TimeoutStopSec=10
- Записываемся.
- Для проверки добавляем в автозагрузку, например, тот же клиент телеграма.
- Идём на перезагрузку и в дисплейном менеджере при старте системы, выбираем пункт «i3 via systemd»
Что в итоге?
- Работает автозагрузка, прямо как в каком-нить гноме.
- Бонусом получили graphical-session.target , к которому можно биндить сервисы, зависящие от запущенной графической оболочки. Например, до этого у меня падал, при загрузке юнит clipboard manager-а, в результате приходилось костылять таймаут… Теперь не падает.
- Можно выкинуть из конфига i3 всё, что запускается при старте (Директива exec —no-startup-id и это вот всё) и упаковать в отдельные аккуратные пользовательские *.service и по-человечески рулить ими в процессе работы. Например, отключать и включать lockscreen простым systemctl —user start / stop
- Для автозагружаемых юнитов, сгенерённых из *.desktop файлов, в самих этих файлах их можно отключать, добавив строчку Hidden=true
Ну и вообще, приятно быть первооткрывателем. Ибо в процессе гугления и чтения манов, готового рецепта обнаружено не было. Так что любители wm, не относящиеся к systemd хейтерам. Пробуйте. За месяц использования был замечен ровно один косяк. Не работает gvgs-* функционал в pcman-fm, если его запустить хоткеем из i3 Но если запустить из rofi, волшебным образом всё начинает работать. Возможно я забыл импортировать какую-то переменную в d-bus Ну и, чтоб не копипастить, ссылка на гитхаб.

- Блог компании RUVDS.com
- Настройка Linux
- Графические оболочки
- *nix