Я сделал приложение C ++.
Приложение просто дает мне вывод терминала (просто чтобы убедиться, что мой сценарий запущен правильно). Там нет графического интерфейса. Я хочу, чтобы мое приложение запустилось, когда мой компьютер загружен. Мой скрипт потоки видео через Ethernet.
Я хотел бы запустить его при запуске. В настоящее время, что я делаю в терминале:
cd /home/myproject/build
./myapp
Как я могу автоматически выполнить эти команды при запуске на Ubuntu 18.04?
Я предполагаю, что вы используете аромат Ubuntu по умолчанию, поэтому у вас есть Tranme-Terminal
как эмулятор терминала.
Чтобы запустить исполняемый файл, который выводит к терминалу при запуске, вы можете создать файл myApp.desktop
в ~ / .Config / Autostart
, содержащий следующие строки:
[Desktop Entry]
Type=Application
Exec=gnome-terminal -e /home/<username>/myproject/build/myapp
Hidden=false
NoDisplay=false
X-GNOME-Autostart-Enabled=true
Name=myapp
Comment=My awesome video streaming app.
Не забудьте изменить <имя пользователя>
с фактическим значением имени пользователя Unix, которое вы можете получить, запустив WHOAMI
в окне терминала.
Наиболее важные строки в этом .desktop
файл - это строка EXEC
(командная строка программы для запуска) и включена X-GNOME-AUTOSTART
строка (работает ли она при запуске или нет). Он запускает окно терминала ( Gnome-Terminal -e
) и запускает ваше компиливное приложение. Вы можете настроить линии, начиная с имя
и комментарий
к вашему вкусу.
Я бы предложил CRONTAB
с модификатором @reboot
в качестве NeaTest Solution, но он не выводится на терминал, вы можете вывести его на адрес электронной почты, хотя. Cron позволяет запланированными задачами на основе времени или на перезагрузке.
Команда:
crontab -e
Выберите Nano в качестве редактора. (или ваш предпочтительный вариант) Затем добавьте:
MAILTO="youremail@emailprovider"
@reboot cd /home/myproject/build && ./myapp
в файл.
Вы также можете запустить команды @hurely, @daily, @yearly или в определенный раз в течение недели или месяца.
также добавьте Shell = / bin / bash
в начале файла для отправки команд на правильную оболочку