Я хотел бы запустить файл .sh, используя bash для выхода из системы и завершения работы Ubuntu. Я искал в Интернете и нашел только исправления для KDE и GNOME. Сценарий прост, мне просто нужно знать, могу ли я добавить строку кода в файл «logoff / shutdown» или если мне нужно ссылаться на него в другом скрипте.
Если вы найдете эту тему после июня 2016 года, Ubuntu и ее производные, включая Mint, будут использовать systemd для управления инициализацией и выключением системы.
С помощью systemd вы создаете один или два файла для вызова своих сценариев с помощью шаблонов ниже и выполняете команду. Простой.
Сначала создайте сценарии, которые вы хотите запустить при запуске и / или выключении. Я создал .scopening_atstart и .scfullcopy_atend.
Сначала убедитесь, что они оба исполняются, щелкнув правой кнопкой мыши файл, выбрав свойства и убедившись, что под разрешениями вы отметили «Разрешить» выполнение файла как программы.
Два созданных файла заполняют и сохраняют содержимое ramdisk. Они также создают файл в моем домашнем каталоге, чтобы доказать, что служба работает. Они были в форме:
#!/bin/sh
cp -pru /home/john/zRamdisk/subdirectory1/* /home/john/.wine/drive_c/subdirectory1/
rm /home/john/stop_time
date +%D' '%T > /home/john/stop_time
Затем я открыл свой файловый менеджер как root, открыл /etc/systemd/system и создал файл startup.service и файл save-ramdisk.service. Очевидно, вы можете выбрать свои собственные имена, а общие имена могли включать в себя файл запуска johns_start.service и файл выключения, называемый johns_shutdown.service. Просто не выбирайте существующие имена сервисов.
[Unit]
Description=Startup Applications
[Service]
Type=oneshot
RemainAfterExit=false
ExecStart=/home/john/.scopening_atstart
[Install]
WantedBy=multi-user.target
и
[Unit]
Description=Save Ramdisk to Wine drive C
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/bin/true
ExecStop=/home/john/.scfullcopy_atend
[Install]
WantedBy=multi-user.target
Вы можете использовать те же служебные файлы, заменяя полный путь к исполняемому скрипту для моего. [ ! d13]
Затем для каждого из них выполните команду systemctl enable your_files_name (но без службы суффиксов). Итак, мой первый был systemctl enable startup
Перезагрузите компьютер один раз, чтобы запустить службы. Служба запуска будет выполняться всякий раз, когда systemd вводит многопользовательскую цель и службу остановки, когда она выходит из многопользовательской цели. Ниже будут описаны альтернативные служебные файлы с различными условиями активации.
В этом описании предполагается, что вы работаете из своего домашнего каталога, а чем / home / john, используйте sudo по мере необходимости и ваш выбор редактора, где я пишу vim или svim.
Создайте сценарии запуска и завершения работы с первой строкой #!/bin/sh и сделайте их исполняемыми с помощью chmod +x my_new_filename.
Создайте два файла, как указано выше, или в этом примере один файл для работы с задачами запуска и завершения работы. Я буду выполнять скрипты в своем домашнем каталоге, но @don_crissti показал некоторые альтернативы в Stack Exchange.
svim /etc/systemd/system/start_and_stop.service
и скопировал в содержимое файла:
[Unit]
Description=Run Scripts at Start and Stop
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/home/john/.startup_commands #your paths and filenames
ExecStop=/home/john/.shutdown_commands
[Install]
WantedBy=multi-user.target
Затем Включить службу с помощью команду:
systemctl enable start_and_stop
и перезагрузите вашу систему, после чего службы будут активны. Команды systemctl is-enabled start_and_stop и systemctl is-active start_and_stop могут использоваться для мониторинга ваших новых сервисов.
Файлы, прежде всего используемые открывать или закрывать многопользовательскую среду для запуска запуска скриптов. В приведенном ниже файле используется начало четырех потенциальных процессов выключения для запуска его скриптов. Добавление или удаление целевых объектов на линии Before line + WantedBy позволит вам делать более точные различия:
Этот файл был предложен в ответ на Unix & amp; Linux by @Matthias, но мне не удалось заставить его работать, пока я не добавил раздел «Установка».
Снова отредактируйте скрипт в /etc/systemd/service/ и включите его, используя systemctl enable your_file_name. Когда я сменил цели, я использовал команду systemclt disable file_name, а затем снова включил ее, которая привязала ее к целевым каталогам. Перезагрузитесь и служба будет работать.
[Unit]
Description=Do something required
DefaultDependencies=no
Before=shutdown.target reboot.target halt.target
# This works because it is installed in the target and will be
# executed before the target state is entered
# Also consider kexec.target
[Service]
Type=oneshot
ExecStart=/home/john/.my_script #your path and filename
[Install]
WantedBy=halt.target reboot.target shutdown.target
Если вы найдете эту тему после июня 2016 года, Ubuntu и ее производные, включая Mint, будут использовать systemd для управления инициализацией и выключением системы.
С помощью systemd вы создаете один или два файла для вызова своих сценариев с помощью шаблонов ниже и выполняете команду. Простой.
Сначала создайте сценарии, которые вы хотите запустить при запуске и / или выключении. Я создал .scopening_atstart и .scfullcopy_atend.
Сначала убедитесь, что они оба исполняются, щелкнув правой кнопкой мыши файл, выбрав свойства и убедившись, что под разрешениями вы отметили «Разрешить» выполнение файла как программы.
Два созданных файла заполняют и сохраняют содержимое ramdisk. Они также создают файл в моем домашнем каталоге, чтобы доказать, что служба работает. Они были в форме:
#!/bin/sh
cp -pru /home/john/zRamdisk/subdirectory1/* /home/john/.wine/drive_c/subdirectory1/
rm /home/john/stop_time
date +%D' '%T > /home/john/stop_time
Затем я открыл свой файловый менеджер как root, открыл /etc/systemd/system и создал файл startup.service и файл save-ramdisk.service. Очевидно, вы можете выбрать свои собственные имена, а общие имена могли включать в себя файл запуска johns_start.service и файл выключения, называемый johns_shutdown.service. Просто не выбирайте существующие имена сервисов.
[Unit]
Description=Startup Applications
[Service]
Type=oneshot
RemainAfterExit=false
ExecStart=/home/john/.scopening_atstart
[Install]
WantedBy=multi-user.target
и
[Unit]
Description=Save Ramdisk to Wine drive C
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/bin/true
ExecStop=/home/john/.scfullcopy_atend
[Install]
WantedBy=multi-user.target
Вы можете использовать те же служебные файлы, заменяя полный путь к исполняемому скрипту для моего. [ ! d13]
Затем для каждого из них выполните команду systemctl enable your_files_name (но без службы суффиксов). Итак, мой первый был systemctl enable startup
Перезагрузите компьютер один раз, чтобы запустить службы. Служба запуска будет выполняться всякий раз, когда systemd вводит многопользовательскую цель и службу остановки, когда она выходит из многопользовательской цели. Ниже будут описаны альтернативные служебные файлы с различными условиями активации.
В этом описании предполагается, что вы работаете из своего домашнего каталога, а чем / home / john, используйте sudo по мере необходимости и ваш выбор редактора, где я пишу vim или svim.
Создайте сценарии запуска и завершения работы с первой строкой #!/bin/sh и сделайте их исполняемыми с помощью chmod +x my_new_filename.
Создайте два файла, как указано выше, или в этом примере один файл для работы с задачами запуска и завершения работы. Я буду выполнять скрипты в своем домашнем каталоге, но @don_crissti показал некоторые альтернативы в Stack Exchange.
svim /etc/systemd/system/start_and_stop.service
и скопировал в содержимое файла:
[Unit]
Description=Run Scripts at Start and Stop
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/home/john/.startup_commands #your paths and filenames
ExecStop=/home/john/.shutdown_commands
[Install]
WantedBy=multi-user.target
Затем Включить службу с помощью команду:
systemctl enable start_and_stop
и перезагрузите вашу систему, после чего службы будут активны. Команды systemctl is-enabled start_and_stop и systemctl is-active start_and_stop могут использоваться для мониторинга ваших новых сервисов.
Файлы, прежде всего используемые открывать или закрывать многопользовательскую среду для запуска запуска скриптов. В приведенном ниже файле используется начало четырех потенциальных процессов выключения для запуска его скриптов. Добавление или удаление целевых объектов на линии Before line + WantedBy позволит вам делать более точные различия:
Этот файл был предложен в ответ на Unix & amp; Linux by @Matthias, но мне не удалось заставить его работать, пока я не добавил раздел «Установка».
Снова отредактируйте скрипт в /etc/systemd/service/ и включите его, используя systemctl enable your_file_name. Когда я сменил цели, я использовал команду systemclt disable file_name, а затем снова включил ее, которая привязала ее к целевым каталогам. Перезагрузитесь и служба будет работать.
[Unit]
Description=Do something required
DefaultDependencies=no
Before=shutdown.target reboot.target halt.target
# This works because it is installed in the target and will be
# executed before the target state is entered
# Also consider kexec.target
[Service]
Type=oneshot
ExecStart=/home/john/.my_script #your path and filename
[Install]
WantedBy=halt.target reboot.target shutdown.target
Если вы найдете эту тему после июня 2016 года, Ubuntu и ее производные, включая Mint, будут использовать systemd для управления инициализацией и выключением системы. У меня были проблемы со старым подходом, поэтому я исследовал системный путь.
С помощью systemd вы создаете один или два файла для вызова своих сценариев с использованием шаблонов ниже и выполните команду. Простой.
Сначала создайте сценарии, которые вы хотите запустить при запуске и / или выключении. Я создал .scopening_atstart и .scfullcopy_atend.
Затем убедитесь, что они оба исполняются, щелкнув файл правой кнопкой мыши, выбрав свойства и убедившись, что под разрешениями вы отметили «Разрешить выполнение файла в качестве программы».
Два созданных мной файла заполняют и сохраняют содержимое ramdisk. Они также создают файл в моем домашнем каталоге, чтобы доказать, что служба работает. Они были в форме:
#!/bin/sh
cp -pru /home/john/zRamdisk/subdirectory1/* /home/john/.wine/drive_c/subdirectory1/
rm /home/john/stop_time
date +%D' '%T > /home/john/stop_time
Затем я открыл свой файловый менеджер как root, открыл /etc/systemd/system
и создал файл startup.service и файл save-ramdisk.service. Очевидно, вы можете выбрать свои собственные имена, а общие имена могли включать в себя файл запуска johns_start.service и файл выключения, называемый johns_shutdown.service. Просто не выбирайте существующие имена сервисов.
[Unit]
Description=Startup Applications
[Service]
Type=oneshot
RemainAfterExit=false
ExecStart=/home/john/.scopening_atstart
[Install]
WantedBy=multi-user.target
и
[Unit]
Description=Save Ramdisk to Wine drive C
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/bin/true
ExecStop=/home/john/.scfullcopy_atend
[Install]
WantedBy=multi-user.target
Вы можете использовать одни и те же служебные файлы, заменяя полный путь к исполняемому скрипту для моего.
Наконец, для каждого из них выполните команду systemctl enable your_files_name (но без службы суффиксов). Итак, мой первый был systemctl enable startup
Перезагрузите компьютер один раз, чтобы запустить службы. Служба запуска будет выполняться всякий раз, когда systemd вводит многопользовательскую цель и службу остановки, когда она выходит из многопользовательской цели.
В этом описании предполагается, что вы работаете в своем домашнем каталоге, а не в / home / john, используйте sudo по мере необходимости и ваш выбор редактора, где я пишу vim или svim.
Создайте сценарии запуска и завершения работы оболочки с первой строкой #!/bin/sh
и сделайте их исполняемыми с помощью chmod +x my_new_filename
.
Создайте два файла, как указано выше, или в этом примере один файл для работы с задачами запуска и завершения работы. Я буду выполнять скрипты в своем домашнем каталоге, но @don_crissti показал некоторые альтернативы в Stack Exchange.
svim /etc/systemd/system/start_and_stop.service
и скопируйте в файл:
[Unit]
Description=Run Scripts at Start and Stop
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/home/john/.startup_commands #your paths and filenames
ExecStop=/home/john/.shutdown_commands
[Install]
WantedBy=multi-user.target
Затем Включите службу с помощью команду:
systemctl enable start_and_stop
и перезагрузите систему, после чего службы будут активны. Команды systemctl is-enabled start_and_stop
и systemctl is-active start_and_stop
могут использоваться для контроля ваших новых сервисов.
Файлы, прежде всего, используют открытые или закрытые многопользовательской среды для запуска запуска скриптов. В приведенном ниже файле используется начало четырех потенциальных процессов выключения для запуска его скриптов. Добавление или удаление целевых объектов на линии Before line + WantedBy позволит вам делать более тонкие различия:
Этот файл был предложен в ответ на Unix & amp; Linux by @Matthias, но мне не удалось заставить его работать до тех пор, пока я не добавлю раздел установки.
Снова отредактируйте скрипт в /etc/systemd/service/
и включите его, используя systemctl enable your_file_name
. Когда я сменил цели, я использовал команду systemclt disable file_name
, а затем снова включил ее, которая привязала ее к целевым каталогам. Перезагрузка и обслуживание будут работать.
[Unit]
Description=Do something required
DefaultDependencies=no
Before=shutdown.target reboot.target halt.target
# This works because it is installed in the target and will be
# executed before the target state is entered
# Also consider kexec.target
[Service]
Type=oneshot
ExecStart=/home/john/.my_script #your path and filename
[Install]
WantedBy=halt.target reboot.target shutdown.target
Если вы найдете эту тему после июня 2016 года, Ubuntu и ее производные, включая Mint, будут использовать systemd для управления инициализацией и выключением системы. У меня были проблемы со старым подходом, поэтому я исследовал системный путь.
С помощью systemd вы создаете один или два файла для вызова своих сценариев с использованием шаблонов ниже и выполните команду. Простой.
Сначала создайте сценарии, которые вы хотите запустить при запуске и / или выключении. Я создал .scopening_atstart и .scfullcopy_atend.
Затем убедитесь, что они оба исполняются, щелкнув файл правой кнопкой мыши, выбрав свойства и убедившись, что под разрешениями вы отметили «Разрешить выполнение файла в качестве программы».
Два созданных мной файла заполняют и сохраняют содержимое ramdisk. Они также создают файл в моем домашнем каталоге, чтобы доказать, что служба работает. Они были в форме:
#!/bin/sh
cp -pru /home/john/zRamdisk/subdirectory1/* /home/john/.wine/drive_c/subdirectory1/
rm /home/john/stop_time
date +%D' '%T > /home/john/stop_time
Затем я открыл свой файловый менеджер как root, открыл /etc/systemd/system
и создал файл startup.service и файл save-ramdisk.service. Очевидно, вы можете выбрать свои собственные имена, а общие имена могли включать в себя файл запуска johns_start.service и файл выключения, называемый johns_shutdown.service. Просто не выбирайте существующие имена сервисов.
[Unit]
Description=Startup Applications
[Service]
Type=oneshot
RemainAfterExit=false
ExecStart=/home/john/.scopening_atstart
[Install]
WantedBy=multi-user.target
и
[Unit]
Description=Save Ramdisk to Wine drive C
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/bin/true
ExecStop=/home/john/.scfullcopy_atend
[Install]
WantedBy=multi-user.target
Вы можете использовать одни и те же служебные файлы, заменяя полный путь к исполняемому скрипту для моего.
Наконец, для каждого из них выполните команду systemctl enable your_files_name (но без службы суффиксов). Итак, мой первый был systemctl enable startup
Перезагрузите компьютер один раз, чтобы запустить службы. Служба запуска будет выполняться всякий раз, когда systemd вводит многопользовательскую цель и службу остановки, когда она выходит из многопользовательской цели.
В этом описании предполагается, что вы работаете в своем домашнем каталоге, а не в / home / john, используйте sudo по мере необходимости и ваш выбор редактора, где я пишу vim или svim.
Создайте сценарии запуска и завершения работы оболочки с первой строкой #!/bin/sh
и сделайте их исполняемыми с помощью chmod +x my_new_filename
.
Создайте два файла, как указано выше, или в этом примере один файл для работы с задачами запуска и завершения работы. Я буду выполнять скрипты в своем домашнем каталоге, но @don_crissti показал некоторые альтернативы в Stack Exchange.
svim /etc/systemd/system/start_and_stop.service
и скопируйте в файл:
[Unit]
Description=Run Scripts at Start and Stop
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/home/john/.startup_commands #your paths and filenames
ExecStop=/home/john/.shutdown_commands
[Install]
WantedBy=multi-user.target
Затем Включите службу с помощью команду:
systemctl enable start_and_stop
и перезагрузите систему, после чего службы будут активны. Команды systemctl is-enabled start_and_stop
и systemctl is-active start_and_stop
могут использоваться для контроля ваших новых сервисов.
Файлы, прежде всего, используют открытые или закрытые многопользовательской среды для запуска запуска скриптов. В приведенном ниже файле используется начало четырех потенциальных процессов выключения для запуска его скриптов. Добавление или удаление целевых объектов на линии Before line + WantedBy позволит вам делать более тонкие различия:
Этот файл был предложен в ответ на Unix & amp; Linux by @Matthias, но мне не удалось заставить его работать до тех пор, пока я не добавлю раздел установки.
Снова отредактируйте скрипт в /etc/systemd/service/
и включите его, используя systemctl enable your_file_name
. Когда я сменил цели, я использовал команду systemclt disable file_name
, а затем снова включил ее, которая привязала ее к целевым каталогам. Перезагрузка и обслуживание будут работать.
[Unit]
Description=Do something required
DefaultDependencies=no
Before=shutdown.target reboot.target halt.target
# This works because it is installed in the target and will be
# executed before the target state is entered
# Also consider kexec.target
[Service]
Type=oneshot
ExecStart=/home/john/.my_script #your path and filename
[Install]
WantedBy=halt.target reboot.target shutdown.target
Если вы найдете эту тему после июня 2016 года, Ubuntu и ее производные, включая Mint, будут использовать systemd для управления инициализацией и выключением системы. У меня были проблемы со старым подходом, поэтому я исследовал системный путь.
С помощью systemd вы создаете один или два файла для вызова своих сценариев с использованием шаблонов ниже и выполните команду. Простой.
Сначала создайте сценарии, которые вы хотите запустить при запуске и / или выключении. Я создал .scopening_atstart и .scfullcopy_atend.
Затем убедитесь, что они оба исполняются, щелкнув файл правой кнопкой мыши, выбрав свойства и убедившись, что под разрешениями вы отметили «Разрешить выполнение файла в качестве программы».
Два созданных мной файла заполняют и сохраняют содержимое ramdisk. Они также создают файл в моем домашнем каталоге, чтобы доказать, что служба работает. Они были в форме:
#!/bin/sh
cp -pru /home/john/zRamdisk/subdirectory1/* /home/john/.wine/drive_c/subdirectory1/
rm /home/john/stop_time
date +%D' '%T > /home/john/stop_time
Затем я открыл свой файловый менеджер как root, открыл /etc/systemd/system
и создал файл startup.service и файл save-ramdisk.service. Очевидно, вы можете выбрать свои собственные имена, а общие имена могли включать в себя файл запуска johns_start.service и файл выключения, называемый johns_shutdown.service. Просто не выбирайте существующие имена сервисов.
[Unit]
Description=Startup Applications
[Service]
Type=oneshot
RemainAfterExit=false
ExecStart=/home/john/.scopening_atstart
[Install]
WantedBy=multi-user.target
и
[Unit]
Description=Save Ramdisk to Wine drive C
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/bin/true
ExecStop=/home/john/.scfullcopy_atend
[Install]
WantedBy=multi-user.target
Вы можете использовать одни и те же служебные файлы, заменяя полный путь к исполняемому скрипту для моего.
Наконец, для каждого из них выполните команду systemctl enable your_files_name (но без службы суффиксов). Итак, мой первый был systemctl enable startup
Перезагрузите компьютер один раз, чтобы запустить службы. Служба запуска будет выполняться всякий раз, когда systemd вводит многопользовательскую цель и службу остановки, когда она выходит из многопользовательской цели.
В этом описании предполагается, что вы работаете в своем домашнем каталоге, а не в / home / john, используйте sudo по мере необходимости и ваш выбор редактора, где я пишу vim или svim.
Создайте сценарии запуска и завершения работы оболочки с первой строкой #!/bin/sh
и сделайте их исполняемыми с помощью chmod +x my_new_filename
.
Создайте два файла, как указано выше, или в этом примере один файл для работы с задачами запуска и завершения работы. Я буду выполнять скрипты в своем домашнем каталоге, но @don_crissti показал некоторые альтернативы в Stack Exchange.
svim /etc/systemd/system/start_and_stop.service
и скопируйте в файл:
[Unit]
Description=Run Scripts at Start and Stop
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/home/john/.startup_commands #your paths and filenames
ExecStop=/home/john/.shutdown_commands
[Install]
WantedBy=multi-user.target
Затем Включите службу с помощью команду:
systemctl enable start_and_stop
и перезагрузите систему, после чего службы будут активны. Команды systemctl is-enabled start_and_stop
и systemctl is-active start_and_stop
могут использоваться для контроля ваших новых сервисов.
Файлы, прежде всего, используют открытые или закрытые многопользовательской среды для запуска запуска скриптов. В приведенном ниже файле используется начало четырех потенциальных процессов выключения для запуска его скриптов. Добавление или удаление целевых объектов на линии Before line + WantedBy позволит вам делать более тонкие различия:
Этот файл был предложен в ответ на Unix & amp; Linux by @Matthias, но мне не удалось заставить его работать до тех пор, пока я не добавлю раздел установки.
Снова отредактируйте скрипт в /etc/systemd/service/
и включите его, используя systemctl enable your_file_name
. Когда я сменил цели, я использовал команду systemclt disable file_name
, а затем снова включил ее, которая привязала ее к целевым каталогам. Перезагрузка и обслуживание будут работать.
[Unit]
Description=Do something required
DefaultDependencies=no
Before=shutdown.target reboot.target halt.target
# This works because it is installed in the target and will be
# executed before the target state is entered
# Also consider kexec.target
[Service]
Type=oneshot
ExecStart=/home/john/.my_script #your path and filename
[Install]
WantedBy=halt.target reboot.target shutdown.target
Если вы найдете эту тему после июня 2016 года, Ubuntu и ее производные, включая Mint, будут использовать systemd для управления инициализацией и выключением системы. У меня были проблемы со старым подходом, поэтому я исследовал системный путь.
С помощью systemd вы создаете один или два файла для вызова своих сценариев с использованием шаблонов ниже и выполните команду. Простой.
Сначала создайте сценарии, которые вы хотите запустить при запуске и / или выключении. Я создал .scopening_atstart и .scfullcopy_atend.
Затем убедитесь, что они оба исполняются, щелкнув файл правой кнопкой мыши, выбрав свойства и убедившись, что под разрешениями вы отметили «Разрешить выполнение файла в качестве программы».
Два созданных мной файла заполняют и сохраняют содержимое ramdisk. Они также создают файл в моем домашнем каталоге, чтобы доказать, что служба работает. Они были в форме:
#!/bin/sh
cp -pru /home/john/zRamdisk/subdirectory1/* /home/john/.wine/drive_c/subdirectory1/
rm /home/john/stop_time
date +%D' '%T > /home/john/stop_time
Затем я открыл свой файловый менеджер как root, открыл /etc/systemd/system
и создал файл startup.service и файл save-ramdisk.service. Очевидно, вы можете выбрать свои собственные имена, а общие имена могли включать в себя файл запуска johns_start.service и файл выключения, называемый johns_shutdown.service. Просто не выбирайте существующие имена сервисов.
[Unit]
Description=Startup Applications
[Service]
Type=oneshot
RemainAfterExit=false
ExecStart=/home/john/.scopening_atstart
[Install]
WantedBy=multi-user.target
и
[Unit]
Description=Save Ramdisk to Wine drive C
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/bin/true
ExecStop=/home/john/.scfullcopy_atend
[Install]
WantedBy=multi-user.target
Вы можете использовать одни и те же служебные файлы, заменяя полный путь к исполняемому скрипту для моего.
Наконец, для каждого из них выполните команду systemctl enable your_files_name (но без службы суффиксов). Итак, мой первый был systemctl enable startup
Перезагрузите компьютер один раз, чтобы запустить службы. Служба запуска будет выполняться всякий раз, когда systemd вводит многопользовательскую цель и службу остановки, когда она выходит из многопользовательской цели.
В этом описании предполагается, что вы работаете в своем домашнем каталоге, а не в / home / john, используйте sudo по мере необходимости и ваш выбор редактора, где я пишу vim или svim.
Создайте сценарии запуска и завершения работы оболочки с первой строкой #!/bin/sh
и сделайте их исполняемыми с помощью chmod +x my_new_filename
.
Создайте два файла, как указано выше, или в этом примере один файл для работы с задачами запуска и завершения работы. Я буду выполнять скрипты в своем домашнем каталоге, но @don_crissti показал некоторые альтернативы в Stack Exchange.
svim /etc/systemd/system/start_and_stop.service
и скопируйте в файл:
[Unit]
Description=Run Scripts at Start and Stop
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/home/john/.startup_commands #your paths and filenames
ExecStop=/home/john/.shutdown_commands
[Install]
WantedBy=multi-user.target
Затем Включите службу с помощью команду:
systemctl enable start_and_stop
и перезагрузите систему, после чего службы будут активны. Команды systemctl is-enabled start_and_stop
и systemctl is-active start_and_stop
могут использоваться для контроля ваших новых сервисов.
Файлы, прежде всего, используют открытые или закрытые многопользовательской среды для запуска запуска скриптов. В приведенном ниже файле используется начало четырех потенциальных процессов выключения для запуска его скриптов. Добавление или удаление целевых объектов на линии Before line + WantedBy позволит вам делать более тонкие различия:
Этот файл был предложен в ответ на Unix & amp; Linux by @Matthias, но мне не удалось заставить его работать до тех пор, пока я не добавлю раздел установки.
Снова отредактируйте скрипт в /etc/systemd/service/
и включите его, используя systemctl enable your_file_name
. Когда я сменил цели, я использовал команду systemclt disable file_name
, а затем снова включил ее, которая привязала ее к целевым каталогам. Перезагрузка и обслуживание будут работать.
[Unit]
Description=Do something required
DefaultDependencies=no
Before=shutdown.target reboot.target halt.target
# This works because it is installed in the target and will be
# executed before the target state is entered
# Also consider kexec.target
[Service]
Type=oneshot
ExecStart=/home/john/.my_script #your path and filename
[Install]
WantedBy=halt.target reboot.target shutdown.target
Если вы найдете эту тему после июня 2016 года, Ubuntu и ее производные, включая Mint, будут использовать systemd для управления инициализацией и выключением системы. У меня были проблемы со старым подходом, поэтому я исследовал системный путь.
С помощью systemd вы создаете один или два файла для вызова своих сценариев с использованием шаблонов ниже и выполните команду. Простой.
Сначала создайте сценарии, которые вы хотите запустить при запуске и / или выключении. Я создал .scopening_atstart и .scfullcopy_atend.
Затем убедитесь, что они оба исполняются, щелкнув файл правой кнопкой мыши, выбрав свойства и убедившись, что под разрешениями вы отметили «Разрешить выполнение файла в качестве программы».
Два созданных мной файла заполняют и сохраняют содержимое ramdisk. Они также создают файл в моем домашнем каталоге, чтобы доказать, что служба работает. Они были в форме:
#!/bin/sh
cp -pru /home/john/zRamdisk/subdirectory1/* /home/john/.wine/drive_c/subdirectory1/
rm /home/john/stop_time
date +%D' '%T > /home/john/stop_time
Затем я открыл свой файловый менеджер как root, открыл /etc/systemd/system
и создал файл startup.service и файл save-ramdisk.service. Очевидно, вы можете выбрать свои собственные имена, а общие имена могли включать в себя файл запуска johns_start.service и файл выключения, называемый johns_shutdown.service. Просто не выбирайте существующие имена сервисов.
[Unit]
Description=Startup Applications
[Service]
Type=oneshot
RemainAfterExit=false
ExecStart=/home/john/.scopening_atstart
[Install]
WantedBy=multi-user.target
и
[Unit]
Description=Save Ramdisk to Wine drive C
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/bin/true
ExecStop=/home/john/.scfullcopy_atend
[Install]
WantedBy=multi-user.target
Вы можете использовать одни и те же служебные файлы, заменяя полный путь к исполняемому скрипту для моего.
Наконец, для каждого из них выполните команду systemctl enable your_files_name (но без службы суффиксов). Итак, мой первый был systemctl enable startup
Перезагрузите компьютер один раз, чтобы запустить службы. Служба запуска будет выполняться всякий раз, когда systemd вводит многопользовательскую цель и службу остановки, когда она выходит из многопользовательской цели.
В этом описании предполагается, что вы работаете в своем домашнем каталоге, а не в / home / john, используйте sudo по мере необходимости и ваш выбор редактора, где я пишу vim или svim.
Создайте сценарии запуска и завершения работы оболочки с первой строкой #!/bin/sh
и сделайте их исполняемыми с помощью chmod +x my_new_filename
.
Создайте два файла, как указано выше, или в этом примере один файл для работы с задачами запуска и завершения работы. Я буду выполнять скрипты в своем домашнем каталоге, но @don_crissti показал некоторые альтернативы в Stack Exchange.
svim /etc/systemd/system/start_and_stop.service
и скопируйте в файл:
[Unit]
Description=Run Scripts at Start and Stop
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/home/john/.startup_commands #your paths and filenames
ExecStop=/home/john/.shutdown_commands
[Install]
WantedBy=multi-user.target
Затем Включите службу с помощью команду:
systemctl enable start_and_stop
и перезагрузите систему, после чего службы будут активны. Команды systemctl is-enabled start_and_stop
и systemctl is-active start_and_stop
могут использоваться для контроля ваших новых сервисов.
Файлы, прежде всего, используют открытые или закрытые многопользовательской среды для запуска запуска скриптов. В приведенном ниже файле используется начало четырех потенциальных процессов выключения для запуска его скриптов. Добавление или удаление целевых объектов на линии Before line + WantedBy позволит вам делать более тонкие различия:
Этот файл был предложен в ответ на Unix & amp; Linux by @Matthias, но мне не удалось заставить его работать до тех пор, пока я не добавлю раздел установки.
Снова отредактируйте скрипт в /etc/systemd/service/
и включите его, используя systemctl enable your_file_name
. Когда я сменил цели, я использовал команду systemclt disable file_name
, а затем снова включил ее, которая привязала ее к целевым каталогам. Перезагрузка и обслуживание будут работать.
[Unit]
Description=Do something required
DefaultDependencies=no
Before=shutdown.target reboot.target halt.target
# This works because it is installed in the target and will be
# executed before the target state is entered
# Also consider kexec.target
[Service]
Type=oneshot
ExecStart=/home/john/.my_script #your path and filename
[Install]
WantedBy=halt.target reboot.target shutdown.target
Если вы найдете эту тему после июня 2016 года, Ubuntu и ее производные, включая Mint, будут использовать systemd для управления инициализацией и выключением системы. У меня были проблемы со старым подходом, поэтому я исследовал системный путь.
С помощью systemd вы создаете один или два файла для вызова своих сценариев с использованием шаблонов ниже и выполните команду. Простой.
Сначала создайте сценарии, которые вы хотите запустить при запуске и / или выключении. Я создал .scopening_atstart и .scfullcopy_atend.
Затем убедитесь, что они оба исполняются, щелкнув файл правой кнопкой мыши, выбрав свойства и убедившись, что под разрешениями вы отметили «Разрешить выполнение файла в качестве программы».
Два созданных мной файла заполняют и сохраняют содержимое ramdisk. Они также создают файл в моем домашнем каталоге, чтобы доказать, что служба работает. Они были в форме:
#!/bin/sh
cp -pru /home/john/zRamdisk/subdirectory1/* /home/john/.wine/drive_c/subdirectory1/
rm /home/john/stop_time
date +%D' '%T > /home/john/stop_time
Затем я открыл свой файловый менеджер как root, открыл /etc/systemd/system
и создал файл startup.service и файл save-ramdisk.service. Очевидно, вы можете выбрать свои собственные имена, а общие имена могли включать в себя файл запуска johns_start.service и файл выключения, называемый johns_shutdown.service. Просто не выбирайте существующие имена сервисов.
[Unit]
Description=Startup Applications
[Service]
Type=oneshot
RemainAfterExit=false
ExecStart=/home/john/.scopening_atstart
[Install]
WantedBy=multi-user.target
и
[Unit]
Description=Save Ramdisk to Wine drive C
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/bin/true
ExecStop=/home/john/.scfullcopy_atend
[Install]
WantedBy=multi-user.target
Вы можете использовать одни и те же служебные файлы, заменяя полный путь к исполняемому скрипту для моего.
Наконец, для каждого из них выполните команду systemctl enable your_files_name (но без службы суффиксов). Итак, мой первый был systemctl enable startup
Перезагрузите компьютер один раз, чтобы запустить службы. Служба запуска будет выполняться всякий раз, когда systemd вводит многопользовательскую цель и службу остановки, когда она выходит из многопользовательской цели.
В этом описании предполагается, что вы работаете в своем домашнем каталоге, а не в / home / john, используйте sudo по мере необходимости и ваш выбор редактора, где я пишу vim или svim.
Создайте сценарии запуска и завершения работы оболочки с первой строкой #!/bin/sh
и сделайте их исполняемыми с помощью chmod +x my_new_filename
.
Создайте два файла, как указано выше, или в этом примере один файл для работы с задачами запуска и завершения работы. Я буду выполнять скрипты в своем домашнем каталоге, но @don_crissti показал некоторые альтернативы в Stack Exchange.
svim /etc/systemd/system/start_and_stop.service
и скопируйте в файл:
[Unit]
Description=Run Scripts at Start and Stop
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/home/john/.startup_commands #your paths and filenames
ExecStop=/home/john/.shutdown_commands
[Install]
WantedBy=multi-user.target
Затем Включите службу с помощью команду:
systemctl enable start_and_stop
и перезагрузите систему, после чего службы будут активны. Команды systemctl is-enabled start_and_stop
и systemctl is-active start_and_stop
могут использоваться для контроля ваших новых сервисов.
Файлы, прежде всего, используют открытые или закрытые многопользовательской среды для запуска запуска скриптов. В приведенном ниже файле используется начало четырех потенциальных процессов выключения для запуска его скриптов. Добавление или удаление целевых объектов на линии Before line + WantedBy позволит вам делать более тонкие различия:
Этот файл был предложен в ответ на Unix & amp; Linux by @Matthias, но мне не удалось запустить его, пока я не добавил раздел «Установка».
Снова отредактируйте скрипт в /etc/systemd/service/
и включите его, используя systemctl enable your_file_name
. Когда я сменил цели, я использовал команду systemclt disable file_name
, а затем снова включил ее, которая привязала ее к целевым каталогам. Перезагрузка и обслуживание будут работать.
[Unit]
Description=Do something required
DefaultDependencies=no
Before=shutdown.target reboot.target halt.target
# This works because it is installed in the target and will be
# executed before the target state is entered
# Also consider kexec.target
[Service]
Type=oneshot
ExecStart=/home/john/.my_script #your path and filename
[Install]
WantedBy=halt.target reboot.target shutdown.target
Если вы найдете эту тему после июня 2016 года, Ubuntu и ее производные, включая Mint, будут использовать systemd для управления инициализацией и выключением системы. У меня были проблемы со старым подходом, поэтому я исследовал системный путь.
С помощью systemd вы создаете один или два файла для вызова своих сценариев с использованием шаблонов ниже и выполните команду. Простой.
Сначала создайте сценарии, которые вы хотите запустить при запуске и / или выключении. Я создал .scopening_atstart и .scfullcopy_atend.
Затем убедитесь, что они оба исполняются, щелкнув файл правой кнопкой мыши, выбрав свойства и убедившись, что под разрешениями вы отметили «Разрешить выполнение файла в качестве программы».
Два созданных мной файла заполняют и сохраняют содержимое ramdisk. Они также создают файл в моем домашнем каталоге, чтобы доказать, что служба работает. Они были в форме:
#!/bin/sh
cp -pru /home/john/zRamdisk/subdirectory1/* /home/john/.wine/drive_c/subdirectory1/
rm /home/john/stop_time
date +%D' '%T > /home/john/stop_time
Затем я открыл свой файловый менеджер как root, открыл /etc/systemd/system
и создал файл startup.service и файл save-ramdisk.service. Очевидно, вы можете выбрать свои собственные имена, а общие имена могли включать в себя файл запуска johns_start.service и файл выключения, называемый johns_shutdown.service. Просто не выбирайте существующие имена сервисов.
[Unit]
Description=Startup Applications
[Service]
Type=oneshot
RemainAfterExit=false
ExecStart=/home/john/.scopening_atstart
[Install]
WantedBy=multi-user.target
и
[Unit]
Description=Save Ramdisk to Wine drive C
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/bin/true
ExecStop=/home/john/.scfullcopy_atend
[Install]
WantedBy=multi-user.target
Вы можете использовать одни и те же служебные файлы, заменяя полный путь к исполняемому скрипту для моего.
Наконец, для каждого из них выполните команду systemctl enable your_files_name (но без службы суффиксов). Итак, мой первый был systemctl enable startup
Перезагрузите компьютер один раз, чтобы запустить службы. Служба запуска будет выполняться всякий раз, когда systemd вводит многопользовательскую цель и службу остановки, когда она выходит из многопользовательской цели.
В этом описании предполагается, что вы работаете в своем домашнем каталоге, а не в / home / john, используйте sudo по мере необходимости и ваш выбор редактора, где я пишу vim или svim.
Создайте сценарии запуска и завершения работы оболочки с первой строкой #!/bin/sh
и сделайте их исполняемыми с помощью chmod +x my_new_filename
.
Создайте два файла, как указано выше, или в этом примере один файл для работы с задачами запуска и завершения работы. Я буду выполнять скрипты в своем домашнем каталоге, но @don_crissti показал некоторые альтернативы в Stack Exchange.
svim /etc/systemd/system/start_and_stop.service
и скопируйте в файл:
[Unit]
Description=Run Scripts at Start and Stop
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/home/john/.startup_commands #your paths and filenames
ExecStop=/home/john/.shutdown_commands
[Install]
WantedBy=multi-user.target
Затем Включите службу с помощью команду:
systemctl enable start_and_stop
и перезагрузите систему, после чего службы будут активны. Команды systemctl is-enabled start_and_stop
и systemctl is-active start_and_stop
могут использоваться для контроля ваших новых сервисов.
Файлы, прежде всего, используют открытые или закрытые многопользовательской среды для запуска запуска скриптов. В приведенном ниже файле используется начало четырех потенциальных процессов выключения для запуска его скриптов. Добавление или удаление целевых объектов на линии Before line + WantedBy позволит вам делать более тонкие различия:
Этот файл был предложен в ответ на Unix & amp; Linux by @Matthias, но мне не удалось заставить его работать до тех пор, пока я не добавлю раздел установки.
Снова отредактируйте скрипт в /etc/systemd/service/
и включите его, используя systemctl enable your_file_name
. Когда я сменил цели, я использовал команду systemclt disable file_name
, а затем снова включил ее, которая привязала ее к целевым каталогам. Перезагрузка и обслуживание будут работать.
[Unit]
Description=Do something required
DefaultDependencies=no
Before=shutdown.target reboot.target halt.target
# This works because it is installed in the target and will be
# executed before the target state is entered
# Also consider kexec.target
[Service]
Type=oneshot
ExecStart=/home/john/.my_script #your path and filename
[Install]
WantedBy=halt.target reboot.target shutdown.target