Запустить исполняемый файл после входа в систему

Итак, у меня есть исполняемый файл (вывод gcc, компилирующий C-программу), который я хотел бы запустить после входа в систему, так что это первое, что видит пользователь при входе в систему. Это графическое меню, которое отображает системную информацию (только для чтения).

После экспериментов с /.profile, просто добавив следующую команду bash с путем к исполняемому файлу

exec /home/TUI/bin/main 

Мне удалось заставить мою программу работать и отображать пользовательский интерфейс после входа в систему, но затем при выходе мне постоянно предлагается войти в систему в цикле, и процесс повторяется снова и снова. Я считаю, что я не помещаю сценарий в нужное место. Будет ли это идти в /etc/rc.local? ~/.bashrc ...?

Как лучше всего запустить программу после входа пользователя в систему? Пожалуйста, держитесь со мной, я не очень разбираюсь в сценариях оболочки и процессе инициализации Ubuntu. Заранее спасибо!

1 ответ

Решение

Проблема в вашем подходе заключается в том, что вы используете exec,

$ help exec
exec: exec [-cl] [-a name] [command [arguments ...]] [redirection ...]
    Replace the shell with the given command.

    Execute COMMAND, replacing this shell with the specified program.
    ARGUMENTS become the arguments to COMMAND.  If COMMAND is not specified,
    any redirections take effect in the current shell.

[...]

Если вы опустите exec и просто запустите свой исполняемый файл, как показано ниже, сеанс входа в систему не должен прерываться при закрытии приложения.

exec /home/TUI/bin/main 

Тем не менее, см. Как автоматически запускать приложения при входе в систему? для альтернативных (и, возможно, более простых) подходов для автозапуска приложений при входе в систему.

Другие вопросы по тегам