Вопрос или проблема
Я выполнил следующую команду:
$ systemctl --user list-dependencies xdg-desktop-autostart.target
xdg-desktop-autostart.target
○ ├─app-geoclue\x2ddemo\[email protected]
○ ├─app-gnome\x2dinitial\x2dsetup\x2dfirst\[email protected]
○ ├─app-gnome\x2dshell\x2doverrides\[email protected]
○ ├─app-im\[email protected]
○ ├─app-nemo\[email protected]
○ ├─app-nm\[email protected]
○ ├─app-orca\[email protected]
○ ├─app-org.gnome.Evolution\x2dalarm\[email protected]
○ ├─[email protected]
○ ├─[email protected]
○ ├─app-user\x2ddirs\x2dupdate\[email protected]
○ ├─app-xdg\x2duser\x2ddirs\[email protected]
○ └─app-yandex\[email protected]
Здесь я хочу узнать местоположение указанных файлов, в основном app-nemo\[email protected]
(чтобы я мог просмотреть содержимое файла).
Я проверил документацию systemd-xdg-autostart-generator. Ничего не нашел.
Как я могу это сделать?
Файл автоматически создается systemd-xdg-autostart-generator
.
Он смотрит на файлы .desktop
в этих двух местах
и затем создает файл .service
, который используется systemd
.
Вы должны редактировать и просматривать оригинальные .desktop файлы.
-
специфические для пользователя:
$XDG_CONFIG_HOME/autostart
(~/.config/autostart
по умолчанию) -
системные:
$XDG_CONFIG_DIRS/autostart
(/etc/xdg/autostart
по умолчанию)
Смотрите:
Местоположения файлов единиц и символических ссылок, генерируемых динамически systemd, указаны в следующих страницах man:
systemd-xdg-autostart-generator(8):
systemd-xdg-autostart-generator реализует systemd.generator(7).
По умолчанию эти пути являются временными директориями, которые включены в путь поиска systemd…
normal-dir:
/run/systemd/generator
$XDG_RUNTIME_DIR/systemd/generator
early-dir
/run/systemd/generator.early
$XDG_RUNTIME_DIR/systemd/generator.early
late-dir
/run/systemd/generator.late
$XDG_RUNTIME_DIR/systemd/generator.late
Директории normal, early и high имеют нормальные, высокие и низкие приоритеты
соответственно.
Ответ или решение
Чтобы просмотреть файлы, созданные генератором systemd-xdg-autostart-generator
, необходимо понимать, как данным компонентом системы управляются файлы автозагрузки. Генератор создает .service
файлы на основе стандартных файлов .desktop
, расположенных в системе.
1. Понимание автозагрузки через XDG
Файлы автозагрузки, которые используются в окружениях, соответствующих стандартам XDG, находятся в следующих директориях:
-
Локальные (пользовательские) файлы:
Путь по умолчанию:~/.config/autostart
Это место для пользовательских конфигураций, где пользователь может хранить свои собственные.desktop
файлы. -
Системные файлы:
Путь по умолчанию:/etc/xdg/autostart
Эти файлы действуют для всех пользователей и могут содержать глобальные настройки автозагрузки.
2. Как находятся сгенерированные файлы
Используя команду:
systemctl --user list-dependencies xdg-desktop-autostart.target
вы можете получить список зависимостей, которые относятся к целевой задаче автозагрузки. В вашем случае, например:
app-nemo@[email protected]
Это обозначает, что для приложения Nemo
был сгенерирован соответствующий .service
файл, на основе .desktop
файла.
3. Поиск, просмотр и редактирование файлов
-
Поиск файлов
.desktop
:
Чтобы просмотреть содержимое, вы можете открыть их в текстовом редакторе. Например:- Для пользовательской директории:
nano ~/.config/autostart/nemo.desktop
- Для системной директории:
nano /etc/xdg/autostart/nemo.desktop
- Для пользовательской директории:
-
Список сгенерированных
.service
файлов:
Файлы, созданныеsystemd-xdg-autostart-generator
, обычно располагаются в следующих директориях:/run/systemd/generator
$XDG_RUNTIME_DIR/systemd/generator
Для проверки сгенерированных файлов можно использовать команду
ls
:ls /run/systemd/generator
4. Применение знаний
Зная местоположение .desktop
файлов и сгенерированных .service
файлов, вы сможете производить необходимые изменения и настройки автозагрузки для своих приложений в окружении GNOME или другом совместимом графическом интерфейсе.
Заключение
Возможность управлять автозагрузкой через XDG и systemd позволяет повысить гибкость использования вашей системы. Важно помнить о строгом следовании путям и стандартам, описанным в документации, чтобы избежать конфликтов и ошибок при запуске программ. Если у вас остались вопросы или требуются дополнительные разъяснения по работе с системными службами, не стесняйтесь обращаться за помощью.