На этот вопрос уже есть ответ здесь:
Я использую Ubuntu 14.04 LTS на виртуальной машине и пытаюсь настроить его так, чтобы при запуске rts up, он также автоматически следует описанию на startmeup.sh.desktop
, чтобы запустить сценарий taskhome.sh
.
Скрипт startmeup.sh.desktop
имеет следующий код:
[Desktop Entry]
Type=Application
Exec=/home/kvm/scripts/taskhome.sh
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name[en]=Startmeup
Name=Startmeup
Comment[en]=
Comment=
Я помещаю файл startmeup.sh.desktop
в папку config \ autostart
и я сделал его исполняемым с помощью команды chmod + x
, но когда я перезагружаю Ubuntu, скрипт taskhome.sh
не выполняется (я думаю, это просто из-за запуска . sh.desktop
тоже просто не запускается).
Если я запустил дом задач .sh
вручную У меня нет никаких проблем.
Если я открою папку, содержащую сценарий startmeup.sh.desktop, и дважды щелкну по ней, появится taskhome.sh
скрипт запускается без проблем.
Однако, если я попытаюсь выполнить сценарий startmeup.sh.desktop
на терминале с помощью команды ./ startmeup.sh.desktop
, я получу сообщение об ошибке "
line 1: [Desktop: command not found.
Могу ли я что-нибудь сделать, чтобы скрипт заработал при запуске Ubuntu?
Выполнение ./startmeup.sh.desktop
от терминала не будет работать, поскольку эти .desktop
не сценарий оболочки.
Также добавьте:
Terminal=true
, который мог бы помочь!
Для запущения приложения на запуске необходимо сделать это обычный путь:
Ожидайте минута, какая папка Вы вставляли сценарий? Ваш Q говорит config\autostart
..., он, как предполагается, находится в ~/.config/autostart
(в Вашей домашней папке) и должен работать, когда пользователь входит в систему, не только на начальной загрузке (если тот пользователь не автоматически зарегистрирован также)
, Вы не имеете Icon=...
строка, но это не могло бы испечь большую разницу.
И что сценарий, как предполагается, делает? Это не установлено работать в терминале (Terminal=true
, мог бы сделать это), поэтому, как Вы знаете, что это не работает в фоновом режиме?
Попытайтесь изменить режим "Exec =" с этим:
Exec=gnome-terminal -x /home/kvm/scripts/taskhome.sh
Страница справочника для-x:
-x, --execute
Execute the remainder of the command line inside the terminal.
Должен быть похожим:
[Desktop Entry]
Type=Application
Exec=gnome-terminal -x /home/kvm/scripts/taskhome.sh
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name[en]=Startmeup
Name=Startmeup