Как запустить приложение GUI с помощью скрипта Upstart

Внутри nano наиболее подходящие сочетания клавиш отображаются в нижней части окна терминала для справки. Это означает, что вам не нужно умышленно запоминать их или подчеркивать их знание.

Чем больше вы используете какой-либо текстовый редактор, тем более комфортно вы станете и тем легче будет вносить изменения быстро и эффективно.

Вот обзорный документ, который поможет вам изучить nano:

https://www.howtogeek.com/howto/42980/the-beginners-guide-to -nano-the-linux-command-line-text-editor /

Я не рекомендую изменять привязки ключевых слов nano по умолчанию (ярлыки), но вы можете, если хотите, отредактировать файл nanorc: 5]

sudo nano /etc/nanorc

Вы можете узнать о содержимом файла nanorc в соответствующей справочной странице:

man nanorc

Обучение использованию терминала - это нечто большее, чем просто использование текстового редактора. Речь идет об удобстве использования клавиатуры для взаимодействия и изменения системы.

Как и многие вещи, это процесс, и каждый раз, когда вы тратите с помощью терминала (или Linux в общий) поможет вам улучшить.

4
задан 24 February 2012 в 10:51

3 ответа

Я нашел обходное решение. Если кто-то еще знает «правильный путь», пожалуйста, дайте мне знать.

Сценарий выскочки должен написать файл флага. Другой процесс, который запускается пользователем, будет постоянно искать этот файл флага, который будет создан. Сценарий выскочки может оставить любую соответствующую информацию в файле флага. У обычного пользователя курса или root нет проблем с запуском GUI-приложений. Почему у upstart есть проблема, остается ответ.

0
ответ дан 25 May 2018 в 13:59

Upstart предназначен в первую очередь для управления системными службами.

Через GUI

Вы можете настроить приложение запуска в сеансе пользователя, выбрав Startup Applications... из меню cog в верхнем правом углу экрана, а затем выберите Add и заполните детали для gedit.

Когда вы входите в следующий раз, приложение должно начинаться с сеанса .

Через GUI

Если вы не можете использовать пользовательский интерфейс для его настройки, его можно настроить, отбросив файл .desktop в одной из директорий autostart в соответствии со спецификацией Autostart:

http://standards.freedesktop.org/autostart-spec/autostart-spec-latest.html

Если вы хотите, чтобы это повлияло на каждого пользователя в системе, поместите файл в /etc/xdg/autostart. Если вы хотите повлиять только на одного пользователя, поместите файл в ~/.config/autostart.

Файл .desktop должен выглядеть примерно так:

[Desktop Entry]
Type=Application
Exec=/usr/bin/gedit
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name=GEdit
Comment=

Если вы поместите файл в домашнем каталоге пользователя, убедитесь, что вы установили бит выполнения в файл. Это часть меры безопасности для остановки программ, которые непреднамеренно записывают рабочие файлы .desktop из-за ошибок.

7
ответ дан 25 May 2018 в 13:59
  • 1
    Скрипт должен работать от имени root. Можно ли сделать это своим путем, добавив пользователя в файл sudoers для этого конкретного скрипта? – bambuntu 24 February 2012 в 15:16
  • 2
    Вы можете сделать это, выполнив команду /usr/bin/gksudo gedit в качестве команды. Тем не менее, это заставит пользователя ввести свой пароль в стандартной конфигурации Ubuntu. – James Henstridge 24 February 2012 в 15:44

Мне удалось заставить это работать с приложением QT, установив переменную среды «ПОЛЬЗОВАТЕЛЬ» и переменную среды «DISPLAY» в сценарии upstart.

# gui - auto launch daemon

description     "gui daemon"

start on desktop-session-start
stop on desktop-shutdown

env HOME=/home/user

script
    export DISPLAY=:0
    mygui
end script

Конечно, это ограниченный пользователь, поэтому не может быть допустимым вариантом для некоторых usecases, но для моего случая он отлично работает.

0
ответ дан 25 May 2018 в 13:59

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

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