Открытие .desktop файл за пределами рабочего стола сразу выходит из системы

Это - мой первый вопрос с, Спрашивает Ubuntu, таким образом, я хотел бы заранее поблагодарить Вас за Ваше терпение.

Моя ситуация - это: у Меня есть a *.desktop файл (который я записал), который, как предполагается, выполняет сценарий оболочки. Мое начальное намерение состояло в том, чтобы поместить этот файл в ~/.config/autostart так, чтобы это работало бы автоматически при запуске; однако, это заставляет Ubuntu высвечивать рабочий стол в течение доли секунды, затем регистрировать меня, отступают. Я могу дважды щелкнуть по файлу по своему рабочему столу, и он запустит сценарий как, он, как предполагается. Если я беру *.desktop файл из ~/Desktop каталог и помещенный это буквально где-либо еще, двойной щелчок по нему в Наутилусе также приведет ко мне вышел из системы сразу.

*.desktop файл установлен выполнить сценарий оболочки, который запускается bash в gnome-terminal. Мои причины того, чтобы сделать это не обязательно важны, поэтому предположите, что это - способ, которым мне нужен он, чтобы быть. Если я добавляю sleep 10 к началу первого сценария оболочки я выхожусь из системы спустя 10 секунд после запуска *.desktop файл, независимо от того, как это запускается. Кажется, что проблема находится в том, что новое gnome-terminal окно запускается со второго сценария, но я не понимаю, как или почему это было бы. Настольная запись:

[Desktop entry]
Name=Autocapture
Comment=Starts autocap program
Exec=/Autocapture/Startup/InitSystem
Terminal=false
Type=Application

InitSystem:

#!/bin/bash
nohup gnome-terminal --title=Autocapture --maximize -e "bash -c 'bash /Autocapture/Startup/StartAutocap.sh';bash"
wmctrl -a "Autocapture"           # Give focus to new terminal window
kill -9 $PPID                     # Close this terminal

StartAutocap.sh:

#!/bin/bash
source /usr/local/bin/virtualenvwrapper.sh
workon Autocap
python /path/to/python/module.py

Это предполагается к (и успешно делает, если запущено от рабочего стола) запускают полный экран gnome-terminal выполнение окна bash и запуск"module.py"программа в той сессии удара. Это также закрывает первое gnome-terminal окно, которое запустило и отсоединило дочерний процесс.

Извините за невероятно длинное первое сообщение. Я просто хочу понять то, что идет не так, как надо здесь и как я смог фиксировать его. Любая справка значительно ценится!

2
задан 4 June 2018 в 23:38

1 ответ

В то время как у меня есть свои теории, я боюсь объявить, что я знаю точно (или даже удаленно), как или почему это работает. Я предположил бы, что это имеет некоторое отношение к пути a *.desktop средство запуска выполняет свою цель. Возможно, я пытался уничтожить окно терминала гнома после того, как оно было уже закрыто в конце выполнения сценария и закончило тем, что уничтожило мою сессию? Возможно, наоборот? Я не утверждаю, что знал, но я пригласил бы любого, кто делает, чтобы ответить на этот вопрос с Вашим объяснением так, чтобы другие могли научиться на моей ошибке.

Удаление строки kill -9 $PPID решенный проблема

Если сценарий выполняется от *.desktop средство запуска, начальная буква gnome-terminal окно закроется, оставляя второе. Если сценарий выполняется из командной строки (например, $ bash InitSystem), начальная буква gnome-terminal окно не закрывается.

2
ответ дан 2 December 2019 в 03:32

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

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