Где сценарии запуска для Рабочего стола Единицы?

Я хочу запустить скрипт, как только моя lightdm аутентификация успешно выполняется, и моя Единица начинает загружаться. и я хочу запустить свои скрипты как пользователь root.

где сценарии запуска расположены в Единице?

11
задан 7 May 2014 в 11:48

3 ответа

Сначала поместите свой сценарий в /usr/bin и дайте, выполняют разрешение.

Теперь создают .desktop файл в /home/[user-name]/.config/autostart/, которые выполняют Ваш сценарий, который работает при запуске.

Пример:-Позволил Вашему имени файла сценария, "пример", или "example.sh"

Создают .desktop файл с gedit со следующими строками и сохраняют как filename.desktop в /home/[user-name]/.config/autostart/

[Desktop Entry]
Type=Application
Exec=sudo example
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name=myscript
Comment=Startup Script

Здесь Exec=sudo example или Exec=sudo example.sh выполнения Ваш сценарий , поскольку корень от /usr/bin Дает, выполняют разрешение в .desktop файл.

Теперь, Сценарий работает на запуске.

5
ответ дан 16 November 2019 в 15:04

Другая возможность:

Создают файл в $HOME/.config/upstart/my-upstart-script.conf

start on desktop-start
stop on desktop-end

script
  sudo fdisk -l > /home/[user-name]/upstart-test.txt        
end script

Более подробная информация к Выскочка :

http://ifdeflinux.blogspot.de/2013/04/upstart-user-sessions-in-ubuntu-raring.html

http://upstart.ubuntu.com/cookbook/

Infos для выполнения sudo без пароля:

, Как запустить приложение с помощью sudo без пароля?

, Как я выполняю определенные команды sudo без пароля?

4
ответ дан 16 November 2019 в 15:04

Для выполнения команды как корня , после вход в систему, существует другой простой прием:

Это делает два шага:

  • создают триггер , файл на входе в систему
  • создает cronjob, выполненный корнем (набор в /etc/crontab), для выполнения крошечного сценария (выполняющий команду) , если и [только 1 113], если триггерный файл существует. Так как триггерный файл удален тем же сценарием, Ваша команда только работает однажды.

последовательность тогда:

USER LOGIN > trigger file is created > cronjob runs script (with your command) and removes trigger file, > next time the script passes, since the trigger file does not exist anymore

установка

два маленьких сценария:

Один для создания триггерного файла на входе в систему:

#!/bin/sh
touch $HOME/.trigger

и два выполняет команду:

#!/bin/bash

FILE="/path/to/your/homedirectory/.trigger"
# don't use $HOME here, since you run it by root

if [ -f $FILE ]; then
   <your command here, run by root>
   rm -f $FILE
fi
  • копия оба сценария в два пустых файла, сохраните их как create_trigger.sh и run_command.sh.
  • По причинам удобства, сделайте их обоих исполняемым файлом.
  • Добавляют следующую команду к Вашим Приложениям Запуска (Тире>, Приложения Запуска> Добавляют)

    /path/to/create_trigger.sh
    
  • , Добавляет следующая строка к /etc/crontab файл (sudo nano /etc/crontab):

    * * * * * root /path/to/run_command.sh
    

Теперь определенная команда выполняет единственное время в течение одной минуты от входа в систему.

2
ответ дан 16 November 2019 в 15:04

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

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