В Linux используйте разные файлы .zshrc для разных приложений.

Когда systemd запускает систему, одним из первых запускаемых сервисных модулей является systemd -tmpfiles -setup. Этот сервис запускает команду:

# systemd-tmpfiles --create --remove 

Эта команда сначала считывает файлы конфигурации из (менее важных):

  • /usr/lib/tmpfiles.d/ *.conf-эти файлы предоставлены соответствующими пакет RPM и не должен редактироваться системным администратором.
  • /run/tmpfiles.d/ *.conf-эти файлы обычно используются демонами для управлять своими временными файлами среды выполнения
  • /etc/tmpfiles.d/ *.conf-эти файлы предназначены для системных администраторов для настройки пользовательских временных местоположений и переопределить поставщика -по умолчанию

Также есть три места, где хранятся временные файлы:

  • /var-Переменные данные, специфичные для этой системы, которые должны сохраняться между загрузками
  • /run-Данные времени выполнения для процессов, запущенных с момента последней загрузки. Сюда входят, среди прочего, файлы идентификаторов процессов и файлы блокировки. Содержимое этого каталога воссоздается при перезагрузке.
  • /tmp-Мир -место для записи временных файлов. Файлы, к которым не обращались, не изменялись или не модифицировались в течение 10 дней, удаляются. автоматически. Другой временный каталог существует в /var/tmp в какие файлы не были доступны, изменены или изменены в более более 30 дней удаляются автоматически.

Подведение итогов:
проверьте файлы конфигурации tmp, чтобы понять, почему установка tmp занимает так много времени, особенно обратите внимание на записи в каталоге /run, потому что он воссоздается во время загрузки.

1
29.09.2019, 10:32
1 ответ

Со стороны клемм

В конфигурации каждого терминала или средства запуска терминала установите переменную среды, например. TERM_SUBTYPE=tilixили TERM_SUBTYPE=deepinили TERM_SUBTYPE=vscode. В вашем .zshrcпроверьте значение этой переменной:

case $TERM_SUBTYPE in
  tilix) …;;
  …
  '') …;;
esac

Строка '')— это случай, когда ничего не установлено TERM_SUBTYPE. Вы можете оставить его, если вам нечего делать в этом случае.

Со стороны кожуха

Эмулятор терминала обычно является родителем оболочки, поэтому проверьте родительский процесс.

case ${$(ps -p $PPID -o comm=):t} in
  tilix) …;;
  deepin-terminal) …;;
  code-insiders) …;;
  *) …;
esac

Строка *)является резервной, если родительский процесс не является одним из распознанных случаев. Вы можете оставить его, если вам нечего делать в этом случае.

2
27.01.2020, 23:30

Теги

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