Как сделать так, чтобы при запуске в 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

, которые не работа.

3
задан 23 July 2012 в 00:14

5 ответов

В файловом менеджере перейдите к /usr/share/applications. Откройте его с правами доступа root (Инструменты -> Открыть текущую папку как корень)

Open as root

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

blank file

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

file name

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

enter image description here

В leafpad вставьте следующее:

[Desktop Entry]
Name=Touchpad Autostart
Exec=/home/magpie/touchpad_settings.sh
Type=Application
Terminal=false

Сохраните его. Если вы не можете сохранить его, у вас нет окна с правами root. Начните все сначала и очень внимательно следуйте инструкциям.

Опять же, найдите свой файл в окне диспетчера файлов корневого доступа. Щелкните правой кнопкой мыши и скопируйте.

Copy

Теперь перейдите в корневое окно к папке автозапуска:

/etc/xdg/autostart/

Наконец, вставьте в свой файл рабочего стола, который вы создали ранее.

Autostart File

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

[ 119] It's there...

Это не самый быстрый способ сделать что-то, но вы, похоже, боролись с большим количеством шагов в других ответах, поэтому я хотел сделать это медленно с большим количеством деталей. Если ваш скрипт все еще не запущен после перезагрузки (не просто выйдите из системы и не войдите обратно), это проблема вашего скрипта. Может быть, двойная проверка?

0
ответ дан 23 July 2012 в 00:14

Вот самый простой способ добавления программ автозапуска в среде LXDE.

  1. сделать 'the.sh', чтобы запустить нужную программу и сохранить ее в /home/user/.config/autostart/the.sh (не забудьте сделать ее исполняемой)
  2. теперь добавьте в файл /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 файл.

0
ответ дан 23 July 2012 в 00:14

Вы просто использовали неверный путь в /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

(@ означает, что он будет перезапущен, если выйдет.)

0
ответ дан 23 July 2012 в 00:14

Есть несколько способов сделать это; проще всего следовать этим инструкциям на на этой странице и на этой и создать папку с именем 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.) [ 1118]

Однако, убедитесь, что вы оставили 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
0
ответ дан 23 July 2012 в 00:14

Откройте /etc/rc.local в своем редакторе с правами root и добавьте команду, которую вы хотите выполнить при запуске, перед строкой exit 0 в этом файле.

В вашем случае это

sh home/magpie/myfile.sh
0
ответ дан 23 July 2012 в 00:14

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

Похожие вопросы: