Измените / etc / xdg / lxsession / LXDE / автозапуск перед загрузкой

У меня есть некоторые параметры, которые я хотел бы изменить в /etc/xdg/lxsession/LXDE/autostart , прежде чем он будет запущен. Я получаю параметры из команды grep. Я хотел бы подать их в файл autostart но не знаю, как это сделать.

В настоящее время у меня есть grep "stuff" /file/one который выводит 1234.

  • Служба syslog-ng не начинается с systemd, но команда отлично работает
  • Можно ли изменить порядок глобуса?
  • Автоматический запуск разблокировки rfkill при запуске
  • отключить CTRL-D окно закрыть в терминаторе (эмулятор терминала)
  • Выполнить конкретную команду в заданной директории без cd'ing?
  • Есть ли способ заставить Linux рассматривать initramfs как конечную корневую файловую систему?
  • Я хочу поставить 1234 в файл autostart например

     .... @program 1234 .... 

  • Эквивалент Unix для OS X. Искатель Duplicate Exactly
  • Firefox - чтение URL-адресов открытых вкладок из командной строки
  • Отклоните SSH-соединения от стран, не включенных в список, используя hosts.allow / hosts.deny в CentOS
  • Приоритет && vs & in bash и zsh
  • Передача нескольких аргументов в sudo внутри функции
  • sudo: невозможно выполнить ./script.sh: нет такого файла или каталога
  • One Solution collect form web for “Измените / etc / xdg / lxsession / LXDE / автозапуск перед загрузкой”

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

    После правильного ввода имени пользователя и пароля все скрипты в /etc/X11/Xsession.d находятся в алфавитном порядке (не запускаются, это очень важная разница!). Поэтому, если вы хотите, чтобы какая-то логика произошла после входа в систему, но перед запуском среды вашего рабочего стола это место для размещения ваших скриптов.

    В таком скрипте вы можете поставить

     for item in $(grep "stuff" /file/one) do echo "@program ${item}" >> /etc/xdg/lxsession/LXDE/autostart done 

    Это добавит строки, которые вы хотите записать, к которым вы хотите добавить. Это '>>', который заставляет оболочку добавлять строки в конец файла, а не заменять файл. Это ответ на ваш вопрос.

    Теперь вот проблема: с таким скриптом результат вашего grep будет добавлен в файл автозапуска каждый раз, когда вы входите на свой компьютер. Поэтому в первый раз эта программа будет запускаться один раз. При следующем входе в систему дважды и три раза при следующем входе в систему. Список ваших программ автозапуска будет продолжать расти, пока ваш grep даст результаты для добавления в файл автозапуска. Вот почему я изначально сказал, что вы делаете неправильную ошибку.

    Кроме того, существует не только глобальный /etc/xdg/lxsession/LXDE/autostart . Вы можете иметь файл ~/.config/lxsession/LXDE/autostart для каждого отдельного пользователя. Даже если вы единственный пользователь, работающий на вашем компьютере, вы должны отредактировать файл в своем домашнем каталоге ( ~ расширяется до вашего домашнего каталога), чем глобальный.

    И как окончательный совет, если вы хотите запускать программы, просто добавьте запись в свой ~/.config/lxsession/LXDE/autostart для сценария оболочки, который выполняет цикл for, как указано выше, но вместо добавления строк в какой-либо файл вы фактически выполните команды. Когда вы запускаете команды с символом & в конце строки, эти программы будут выполняться в фоновом режиме, и сценарий не будет блокироваться.

    Linux и Unix - лучшая ОС в мире.