2

Моя Debian virtual machine настроена на автоматический вход в систему, и я хочу сделать так, чтобы при автоматическом входе в систему терминал открывал и запускал команду

python /home/pymodbus/examples/common/synchronous_client.py

Вывод скрипта python происходит внутри терминала, поэтому я хотел бы открыть его в первую очередь. Я уже провел много исследований и пробовал много вещей, в том числе поместил эту команду в файл /etc/rc.local , но, похоже, это ничего не сделало.

Кроме того, я попробовал это

gnome-terminal -e "python /home/pymodbus/examples/common/synchronous_client.py"

Но это не запустило терминал при входе в систему, как я и думал.

У кого-нибудь есть понимание того, как этого добиться? Я очень плохо знаком с Linux, и попытка выяснить, какие пакеты и инструменты мне нужны, была очень запутанным опытом!

2 ответа2

1

Поэтому я смог выяснить, как это сделать, и я хотел бы поделиться своими выводами здесь. Вот шаги, которые я предпринял:

  1. Чтобы заставить команду работать при запуске, я отредактировал файл .bashrc в /home/etc/ и поместил свою команду в самый конец, после всего написанного ранее кода (sudo python /home/usr/pymodbus/examples/common/synchronous_client.py). Убедитесь, что в вашей команде есть sudo.
  2. Чтобы запустить терминал при запуске, я создал файл рабочего стола в ~/.config/autostart (если у вас нет папки автозапуска, вы можете просто создать ее).

  3. В папке автозапуска я создал файл .desktop именем gnome-terminal.desktop и заполнил его следующим образом:

    [Desktop Entry]
    Type=Application
    Exec=gnome-terminal
    Hidden=false
    NoDisplay=false
    X-GNOME-Autostart-enabled=true
    Name[en_NG]=Terminal
    Name=Terminal
    Comment[en_NG]=Start Terminal On Startup
    Comment=Start Terminal On Startup
    
  4. Наконец, чтобы обойти необходимость ввода пароля sudo когда я хотел запустить скрипт, я запустил команду sudo visudo и поместил следующую строку в самый конец файла:

    <username> ALL=(ALL) NOPASSWD:ALL
    

Я надеюсь, что это поможет любому, кто может попытаться сделать что-то похожее на меня!

0

Изучите использование cron в качестве механизма запуска. Внизу списка записей cron добавьте @reboot python /home/pymodbus/examples/common/synchronous_client.py & (не забывайте о &). Вы можете установить скрипт для запуска при запуске компьютера - не забудьте chmod +x рассматриваемый скрипт - это позволяет системе выполнить скрипт.

Доступ к cron осуществляется с помощью команды sudo crontab -e

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