admin @ ubuntu ушел из командной строки [dубликат]

Попробуйте установить «Тема платформы» никем:

export QT_QPA_PLATFORMTHEME=

или удалить пакет appmenu-qt5:

sudo remove appmenu-qt5

, поэтому Qt5 расширенного / настроенного отображения меню не используется. Затем перезапустите Qt Creator как обычно.

qtcreator

Смотрите: https://bugs.launchpad.net/ubuntu/+source/appmenu-qt5/+bug/1307619

123
задан 6 June 2014 в 04:18

16 ответов

Недавно мне понравилось setsid. Это начинается с того, что вы просто запускаете что-то из терминала, но можете отключить (закрыть терминал), и он просто продолжается.

Это происходит потому, что команда фактически выдает и в то время как вход проходит через

Пример:

setsid gnome-calculator

Я также довольно неполноценен для того, чтобы disown, который можно использовать для разделения процесса от текущего дерева. Вы используете его в сочетании с фоном ampersand:

gnome-calculator & disown

Я также только что узнал о нерестах подоболочек с круглыми скобками. Этот простой метод работает:

(gnome-calculator &)

И, конечно, есть nohup, как вы упомянули. Я не одинок в отношении nohup, потому что у него есть тенденция писать на ~/nohup.out без меня, спрашивая его. Если вы полагаетесь на это, это может быть для вас.

nohup gnome-calculator

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

Интернет полон учебников screen, но вот простой быстрый старт:

http://thingsilearned.com/2009/05/26/gnu-screen-super-basic-tutorial/
155
ответ дан 18 July 2018 в 05:16

Недавно мне понравилось setsid. Это начинается с того, что вы просто запускаете что-то из терминала, но можете отключить (закрыть терминал), и он просто продолжается.

Это происходит потому, что команда фактически выдает и в то время как вход проходит через

Пример:

setsid gnome-calculator

Я также довольно неполноценен для того, чтобы disown, который можно использовать для разделения процесса от текущего дерева. Вы используете его в сочетании с фоном ampersand:

gnome-calculator & disown

Я также только что узнал о нерестах подоболочек с круглыми скобками. Этот простой метод работает:

(gnome-calculator &)

И, конечно, есть nohup, как вы упомянули. Я не одинок в отношении nohup, потому что у него есть тенденция писать на ~/nohup.out без меня, спрашивая его. Если вы полагаетесь на это, это может быть для вас.

nohup gnome-calculator

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

Интернет полон учебников screen, но вот простой быстрый старт:

http://thingsilearned.com/2009/05/26/gnu-screen-super-basic-tutorial/
155
ответ дан 24 July 2018 в 18:17

Одна вещь, которую не хватает многим другим, заключается в том, как отключить текущий процесс, который в настоящее время блокирует оболочку. В большинстве терминалов и оболочек Ctrl + Z останавливает текущий процесс и возвращает вас обратно к приглашению ввода. Затем вы можете выдать

bg

, чтобы отправить текущий процесс в фоновый режим. Issue

fg

вместо этого, чтобы вернуть текущий процесс на передний план.

EDIT: Более подробно в этом ответе я обнаружил позже.

10
ответ дан 18 July 2018 в 05:16

Как вы указали, вы можете запустить

nohup nm-applet &

, чтобы игнорировать конечный сигнал при закрытии терминала. Нет проблем с этим.

13
ответ дан 18 July 2018 в 05:16

Вот два пути, с которыми я бы пошел. Во-первых, не запускать его с терминала; нажмите Alt + F2, чтобы открыть диалоговое окно запуска и запустите его там (без & amp;).

С терминала запустите

nm-applet &

Но НЕ закрывайте терминал самостоятельно , То есть, не нажимайте кнопку X для закрытия и не используйте File -> Exit из своей строки меню. Если вы закроете терминал таким образом, он отправит сигнал HUP (Hang UP) в bash, который будет работать внутри, что, в свою очередь, отправит сигнал HUP всем его дочерним элементам (поэтому nohup работает в этом случае).

Вместо этого выйдите из оболочки, запустив exit или нажав Alt + D. bash затем отключит своих детей, а затем выйдет, оставив фоновый процесс все еще запущенным. И когда bash выходит, терминал потерял свой дочерний процесс, поэтому он тоже закроется.

Выполняя все это сразу:

nm-applet & exit
46
ответ дан 18 July 2018 в 05:16

Я не знаю, как это правильно, но я просто начинаю другую сессию, оставляя предыдущий. Например, я управлял простым веб-сервером на моей малине. web.py. то я начинаю новый сеанс, оставив его в покое. это оно. он также полезен, так как вы все еще обновляетесь, хотя вы работаете на другом сеансе.

0
ответ дан 18 July 2018 в 05:16

Используйте (exec PROGRAM &> /dev/null & ), чтобы разрешить PID подоболочки взять PROGRAM. Я несколько раз тестировал этот подход с несколькими различными программами. Закрытие исходного терминала не влияет на новоиспеченную программу

Маленькая демонстрация:

$ # this is before running $ (exec firefox &> /dev/null &) $ # and look, we still in side the terminal and can continue working
6
ответ дан 18 July 2018 в 05:16

Я могу порекомендовать терминал byobu. Вы можете легко отсоединить ваш процесс, нажав клавишу F6.

2
ответ дан 18 July 2018 в 05:16

Хотя есть хорошие ответы выше, я хотел бы дать 2 цента о том, как я использую MATLAB в фоновом режиме.

sudo -b matlab

Тег -b sudo может запускать приложения в фоновом режиме. Вы также можете закрыть терминал после выполнения этой команды.

Возможно, несвязанный, но есть замечательный веб-сайт, который вы можете использовать для объяснения команд оболочки. http://explainshell.com/explain/8/sudo

1
ответ дан 18 July 2018 в 05:16

Одна вещь, которую не хватает многим другим, заключается в том, как отключить текущий процесс, который в настоящее время блокирует оболочку. В большинстве терминалов и оболочек Ctrl + Z останавливает текущий процесс и возвращает вас обратно к приглашению ввода. Затем вы можете выдать

bg

, чтобы отправить текущий процесс в фоновый режим. Issue

fg

вместо этого, чтобы вернуть текущий процесс на передний план.

EDIT: Более подробно в этом ответе я обнаружил позже.

10
ответ дан 24 July 2018 в 18:17

Как вы указали, вы можете запустить

nohup nm-applet &

, чтобы игнорировать конечный сигнал при закрытии терминала. Нет проблем с этим.

13
ответ дан 24 July 2018 в 18:17
  • 1
    Любые другие альтернативы? Только ради познания, а не для чего-то еще – OVERTONE 22 February 2012 в 06:38
  • 2
    В wikipedia ( ru.wikipedia.org/wiki/Nohup ) есть предложение использовать echo command | at now, который я не мог заставить его работать. – desgua 22 February 2012 в 06:45
  • 3
    Интересно, как это работает из пользовательского интерфейса при двойном щелчке значка или программы. – OVERTONE 23 February 2012 в 16:22

Вот два пути, с которыми я бы пошел. Во-первых, не запускать его с терминала; нажмите Alt + F2, чтобы открыть диалоговое окно запуска и запустите его там (без & amp;).

С терминала запустите

nm-applet &

Но НЕ закрывайте терминал самостоятельно , То есть, не нажимайте кнопку X для закрытия и не используйте File -> Exit из своей строки меню. Если вы закроете терминал таким образом, он отправит сигнал HUP (Hang UP) в bash, который будет работать внутри, что, в свою очередь, отправит сигнал HUP всем его дочерним элементам (поэтому nohup работает в этом случае).

Вместо этого выйдите из оболочки, запустив exit или нажав Alt + D. bash затем отключит своих детей, а затем выйдет, оставив фоновый процесс все еще запущенным. И когда bash выходит, терминал потерял свой дочерний процесс, поэтому он тоже закроется.

Выполняя все это сразу:

nm-applet & exit
46
ответ дан 24 July 2018 в 18:17
  • 1
    Это восхитительно! Никогда не знал об этом, и вы, кажется, единственный человек, который упоминает об этом. Определенно, это мой любимый подход, когда в среде рабочего стола. Жаль, что я больше не могу повышать; – 7hi4g0 24 January 2015 в 10:01
  • 2
    Я попробовал это с другим приложением, и это не сработало: matlab & exit Выполнение работы с двумя отдельными командами хорошо работало: matlab & exit – MattKelly 11 November 2016 в 00:00
  • 3
    Мне было интересно, почему OP сказал, что закрытие терминала привело к сбою его фоновых программ. Я никогда не пытался закрыть терминал с помощью «x». в окне. – user1717828 29 March 2017 в 15:51
  • 4
    кнопка x убивает, что он не выполняет чистое завершение, выполняется команда exit. вы можете перенаправить кнопку x на команду exit вместо этого ... – Tim Baker 2 February 2018 в 11:35

Я не знаю, как это правильно, но я просто начинаю другую сессию, оставляя предыдущий. Например, я управлял простым веб-сервером на моей малине. web.py. то я начинаю новый сеанс, оставив его в покое. это оно. он также полезен, так как вы все еще обновляетесь, хотя вы работаете на другом сеансе.

0
ответ дан 24 July 2018 в 18:17
  • 1
    Добро пожаловать в Ask Ubuntu! Я рекомендую изменить этот ответ, чтобы развернуть его с подробными сведениями о том, как это сделать. (См. Также Как написать хороший ответ? для общих советов о том, какие ответы наиболее ценны в Ask Ubuntu.) – David Foerster 6 July 2016 в 01:51

Используйте (exec PROGRAM &> /dev/null & ), чтобы разрешить PID подоболочки взять PROGRAM. Я несколько раз тестировал этот подход с несколькими различными программами. Закрытие исходного терминала не влияет на новоиспеченную программу

Маленькая демонстрация:

$ # this is before running $ (exec firefox &> /dev/null &) $ # and look, we still in side the terminal and can continue working
6
ответ дан 24 July 2018 в 18:17
  • 1
    Hmmm (exec firefox) висит терминал, пока я не выйду из Firefox ... и закрыв терминал SIGHUPs оболочкой и подоболочкой – kos 30 November 2015 в 15:48
  • 2
    Я отредактировал свой ответ. Протестировал его несколькими другими программами. Я не заметил, что firefox или другая программа висит на управляющем терминале в этой версии – Sergiy Kolodyazhnyy 7 August 2016 в 21:39
  • 3
    хорошо работает для меня – Zanna 21 August 2016 в 22:12

Я могу порекомендовать терминал byobu. Вы можете легко отсоединить ваш процесс, нажав клавишу F6.

2
ответ дан 24 July 2018 в 18:17

Хотя есть хорошие ответы выше, я хотел бы дать 2 цента о том, как я использую MATLAB в фоновом режиме.

sudo -b matlab

Тег -b sudo может запускать приложения в фоновом режиме. Вы также можете закрыть терминал после выполнения этой команды.

Возможно, несвязанный, но есть замечательный веб-сайт, который вы можете использовать для объяснения команд оболочки. http://explainshell.com/explain/8/sudo

1
ответ дан 24 July 2018 в 18:17

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

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