Как запустить rc.local от имени обычного пользователя?

У меня есть некоторые пожелания, чтобы я хотел, чтобы меня вызывали сразу после входа в систему, включая 'startx', и я подумал, что rc.local кажется им подходящим местом, но проблема в том, что rc.local запускается от имени пользователя root, и я не хочу этого, очевидно, я могу сделать что-то вроде этого:

su username -c somecommend-here

Но я ищу способ запустить весь rc.local как обычный пользователь, или, возможно, есть лучшее место для поставить мой код?

PS. Я использую Ubuntu-мини-ремикс 1104i386

Спасибо

8
задан 12 November 2011 в 09:25

3 ответа

Самый простой способ запустить команду при входе пользователя в систему - создать файл .desktop для команды и поместить его в папку ~/.config/autostart. Как выглядит файл рабочего стола? Вот пример, который получает домашнюю страницу Ask Ubuntu с wget каждый раз, когда пользователь входит в систему:

[Desktop Entry] 
Name=Launch wget
Comment=Fetches the Ask Ubuntu home page.
Exec=wget http://askubuntu.com/
0
ответ дан 12 November 2011 в 09:25

Я не знаю различий между /etc/rc.local и crontab, но обычно я создаю учетную запись службы и добавляю соответствующую работу. Например: sudo crontab -u p4padmin -e

@reboot ~/bin/p4p -d -r ~/var/p4p/cache/foo -p 2020 -t depot:2020 -L ~/var/p4p/log/foo.log

Вам не нужно входить в систему для запуска службы.

0
ответ дан 12 November 2011 в 09:25

Путь linux состоит в добавлении ваших команд в ~/.bashrc вместо /etc/rc.local.

У каждого пользователя есть .bashrc в его домашнем каталоге. Этот файл сценария запускается автоматически сразу после входа пользователя. Он запускается с учетными данными пользователя, поэтому команда su не требуется.

Мне кажется, что это именно то, что вы ищете.

0
ответ дан 12 November 2011 в 09:25

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

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