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

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

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

Я хочу поставить 1234 в файл autostart например

 .... @program 1234 .... 

  • Запустить приложение gui при запуске
  • Как написать сценарий systemd, который запускает usb_modeswitch и подключается к Интернету при запуске?
  • Применение настроек мыши при запуске
  • startx autologin не запускается в / etc / inittab после обновления Debian Jessie
  • Запуск кода без ssh в beaglebone black
  • Ядро паника, если пароль LUKS плох x раз
  • как запустить запуск скрипта на live-дистрибутиве?
  • Устанавливать корневую файловую систему из initramfs
  • 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 - лучшая ОС в мире.