Запуск .sh при входе в систему / загрузке / запуске

Запуск .sh при входе в систему / загрузке / запуске

Кажется, я начинаю сходить с ума. Я уже много чего перепробовал, но ничего не помогает.

Это версия Ubuntu 22.04 LTS для настольных ПК.

Я попробовал это руководство: https://www.baeldung.com/linux/run-script-on-startup

Мой файл скрипта довольно прост: запускает браузер Chromium в режиме киоска с этим IP-адресом/страницей.

chromium-browser -kiosk -incognito https://google.com

Сохранил этот файл как tiles.sh в /usr/local/ Затем я chmod +x tiles.sh

Первый вариант, который я попробовал: crontab -e |, куда я добавил:

@reboot root /usr/local/tiles.sh

Второе, что я попробовал, это добавить его в .profile в домашней папке в нижней строке. Ничего...

sh /usr/local/tiles.sh

Затем я попытался использовать встроенные в Ubuntu «Параметры запускаемых приложений», но снова ничего... https://itsfoss.com/manage-startup-applications-ubuntu/

Name; Tiles, Path: /usr/local/tiles.sh, I didn't add any comments.

4-е дело было с tile.service, добавленным в systemctl

[Unit]
description=Tiles
[Service]
Type=simple
ExecStart=/bin/bash /usr/local/tiles.sh
[Install]
WantedBy=multi-user.target

chmod 644 /etc/systemd/system/tiles.service

systemctl включить плитки.сервис

systemctl start tiles.service

перезагрузить


Итак, может ли кто-нибудь мне объяснить, что я делаю не так?

Редактировать:

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

  • В комментариях говорилось, что «crontab -e» предназначен только для действий «при загрузке», поэтому это не сработает.

решение1

У крона естьсвой собственный ПУТЬ, который жестко закодирован и установлен на:

/usr/bin:/bin

Это означает, что только программы, установленные в этих двух каталогах, могут быть запущены по имени через cron. Firefox установлен в /usr/bin/firefox, поэтому firefoxcron достаточно его найти, но chromium установлен как пакет snap и, скорее всего, находится в /snap/bin/chromium. Это означает, что ваш скрипт не может найти его как chromiumи вместо этого ему нужен полный путь. Это должно сработать, если вы измените свой скрипт на:

/snap/bin/chromium-browser -kiosk -incognito https://google.com

В общем, вы можете запустить type command, чтобы найти путь к команде. So type chromium-browserдаст вам путь к исполняемому файлу.

решение2

Исправление было в том, чтобы sudo apt purge chromium-browser -yпереключиться на Firefox

Связанный контент