У меня установлен rtorrent и я пытаюсь запустить эту команду, чтобы она автоматически запускалась при запуске:

screen -S rtorrent -d -m su root -c "rtorrent"

Я добавил его в: nano /etc/rc.local

Но ничего не происходит, когда я перезагружаюсь. Если я наберу его в моем терминале, он будет нормально работать без проблем? Зачем?

1 ответ1

1

/etc/rc.local используется для запуска служб. Сервисы обычно не имеют какого-либо графического интерфейса или требуют какого-либо взаимодействия с пользователем. Если вы ожидаете, что rtorrent автоматически откроет какое-то окно, прежде чем вы войдете в систему, этого не произойдет, поскольку rtorrent не знает, какой DISPLAY или tty использовать для дисплея.

Если вы хотите, чтобы rtorrent запускался автоматически при входе в систему, попробуйте ввести команду rtorrent в один из ваших файлов .bash. Однако не забудьте проверить, работает ли он уже, если вы не хотите, чтобы он вызывался каждый раз, когда вы запускаете новое окно терминала или другое приложение, которое получает файлы .bash.

Надеюсь это поможет.

ОБНОВИТЬ:

С https://www.gnu.org/software/bash/manual/html_node/Bash-Startup-Files.html.

Когда Bash вызывается как интерактивная оболочка входа в систему или как неинтерактивная оболочка с параметром --login, она сначала читает и выполняет команды из файла /etc /profile, если этот файл существует. После прочтения этого файла он ищет ~ /.bash_profile, ~ /.bash_login и ~ /.profile в указанном порядке, а также читает и выполняет команды из первой, которая существует и доступна для чтения.

Таким образом, если вы поместите вашу команду в файл ~/.bash_login, например, при каждом входе в систему будет выполнено все, что находится в ~/.bash_login, включая вашу команду rtorrent.

Кстати, ~ означает ваш домашний каталог или $ {HOME}, если вы этого не знали.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .