Как сделать так, чтобы при запуске в Lubuntu 12.04 появлялся файл.sh?
Запуск lubuntu desktop на нетбуке Samsung N145.
Я так далеко /etc/xdg/lxsession/Lubuntu/autostart и добавил строку
@home/magpie/touchpad_settings.sh
Где имя моего файла touchpad_settings.sh, и он выполняется и работает, если щелкнуть, а затем выполнить.
Это означало, что я больше не мог войти в систему и получить свои панели, поэтому я отменил его со своим USB-загрузчиком и пришел сюда, чтобы посмотреть, сможет ли кто-нибудь уточнить.
Lubuntu не использует менеджер запуска, и это самодельный файл, поэтому он не будет указан в настройках сеанса рабочего стола.
Как предложено в ответах ниже, я пытался
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
/bin/sh /home/magpie/touchpad_settings.sh
exit 0
Я также попробовал строки:
/bin/bash /home/magpie/touchpad_settings.sh
а также
sh /home/magpie/touchpad_settings.sh
который не работал.
5 ответов
В файловом менеджере перейдите в /usr/share/applications, Откройте его с правами суперпользователя (Сервис -> Открыть текущую папку как root)

В окне диспетчера файлов корневого доступа создайте новый файл (Файл -> Создать новый -> Пустой файл).

Назовите новый файл touchpad.desktop.

Найдите новый созданный файл, щелкните по нему правой кнопкой мыши и отредактируйте его с помощью leafpad.

В листе вставьте следующее:
[Desktop Entry]
Name=Touchpad Autostart
Exec=/home/magpie/touchpad_settings.sh
Type=Application
Terminal=false
Сохрани это. Если вы не можете сохранить его, у вас нет окна с правами root. Начните снова и следуйте инструкциям очень тщательно.
Опять же, найдите свой файл в окне диспетчера файлов корневого доступа. Щелкните правой кнопкой мыши и скопируйте.

Теперь перейдите в корневое окно к папке автозапуска:
/etc/xdg/autostart/
Наконец, вставьте в файл рабочего стола, который вы создали ранее.

Если вы все сделали правильно, вы увидите много других файлов автозапуска, но вы также увидите файл "Автозапуск тачпада"

Это не самый быстрый способ сделать что-то, но вы, похоже, боролись с большим количеством шагов в других ответах, поэтому я хотел сделать это медленно с большим количеством деталей. Если ваш скрипт все еще не запущен после перезагрузки (не просто выйдите из системы и не войдите обратно), это проблема вашего скрипта. Может быть, двойная проверка?
Открыто /etc/rc.local в вашем редакторе с правами root и добавьте команду, которую вы хотите выполнить при запуске перед строкой exit 0 в этом файле.
В вашем случае это
sh home/magpie/myfile.sh
Вот самый простой способ добавления программ автозапуска в среде LXDE.
- сделайте 'the.sh', чтобы запустить нужную программу и сохранить ее в
/home/user/.config/autostart/the.sh(не забудьте сделать его исполняемым) - Теперь добавьте к
/home/user/.config/lxsession/LXDE/autostartподать строку@sh /home/user/.config/autostart/the.shи перезагрузите компьютер. вот и все.
NB! некоторые программы должны быть отложены при запуске, поэтому, например, conky.sh
#!/bin/sh
sleep 3
conky
- так что, может быть, первый способ, которым вы пытались автоматически запустить "touchpad_settings.sh", просто требует задержки в файле.sh.
Есть несколько способов сделать это; Самым простым может быть выполнение этих инструкций на этой странице и на этой странице, а также создание папки с именем autostart для перехода в папку.config, а затем создание записи.desktop в текстовом редакторе и ее сохранение в папке автозапуска. Запись на рабочем столе должна иметь следующие строки
[Desktop Entry]
Name=script.sh
Exec=/home/mike/script.sh
Type=Application
Terminal=false
Другой способ заключается в использовании rc.local файл:
Вы обычно добавляете полный путь вашего скрипта в rc.local файл в /etc/rc.local; rc.local выполняется только после запуска всего остального, и должен быть выполнен исполняемым (sudo chmod +x), если это еще не так. (Sudo необходим, поскольку скрипт принадлежит пользователю root, и поэтому некоторые могут рассматривать его как проблему безопасности для root для запуска пользовательского скрипта, но для пользователей домашнего рабочего стола разумно использовать rc.local Метод.)
Тем не менее, убедитесь, что вы покидаете exit 0 как последняя строка скрипта rc.local: например, мой файл rc.local содержит местоположение скрипта и две другие команды. Если вы хотите убедиться, что ваш скрипт выполняется /bin/sh или же /bin/bashпоместите это перед дорожкой; например /bin/bash /home/mike/script,
Наконец, используйте либо sudo vi /etc/rc.local или же gksudo gedit /etc/rc.local редактировать файл.
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing
# my script here
/bin/bash /home/mike/bin/script
exit 0
Вы просто использовали неверный путь в /etc/xdg/lxsession/Lubuntu/autostart:
В соответствии:
@home/magpie/touchpad_settings.sh
@ будет удален, а остальные выполнены в виде команды оболочки.
Он использует относительный путь:
home/magpie/touchpad_settings.sh
Так что если текущий рабочий каталог /home/magpieСценарий, который он запускает /home/magpie/home/magpie/touchpad_settings.sh
Добавить / чтобы исправить это, и убедитесь, что скрипт имеет разрешение на выполнение:
@/home/magpie/touchpad_settings.sh
(The @ означает, что он перезапустится, если выйдет.)