Произошла ошибка при создании дочернего процесса для этого терминала

I am trying to launch a new gnome-terminal with a command executed

When I execute gnome-terminal, a new terminal opens smoothly.

Now when I run this

gnome-terminal -- "zsh; echo hello"

I expect a new terminal with zsh to open, with hello printed.

But what I get is a new terminal with this:

Screenshot from 2020-10-07 21-35-32

There was an error creating the child process for this terminal
Failed to execute child process “zsh; echo hello” (No such file or directory)

Some important results

Please take a look


❯ gnome-terminal -e "echo hello"
# Option “-e” is deprecated and might be removed in a later version of gnome-terminal.
# Use “-- ” to terminate the options and put the command line to execute after it.
❯ gnome-terminal --command "echo hello"
# Option “--command” is deprecated and might be removed in a later version of gnome-terminal.
# Use “-- ” to terminate the options and put the command line to execute after it.

Executing the following lines, does something like some ghost moves on the screen, but produces no visible output

❯ gnome-terminal --window -- echo hello
❯ gnome-terminal --tab -- echo hello
❯ gnome-terminal --tab -- echo hello
❯ gnome-terminal --tab --wait  -- echo hello

Where am I making mistake ? How can do do my intended job ie launch a new zsh terminal with hello printed, and waiting for next command

Я использую Ubuntu начиная с версии 10.04 и считаю ее более дружественной по сравнению с Windows. Прямо сейчас я использую «Precise 12.04». Я создал много пользовательских модулей запуска для скриптов bash, и у меня никогда не было проблем до вчерашнего дня.

Я установил программный пакет с несколькими исполняемыми файлами. Основной исполняемый файл abaqus находится в optsoftwaresname и является символической ссылкой на исполняемый файл abq610i в /opt/softwaresname/executables/.

Основной exe abaqus требует некоторых аргументов командной строки. Я использую аргумент cae, (то есть abaqus cae), но с другой командой, чтобы визуализировать графику в лучшем режиме, поэтому последний вызов: XLIB_SKIP_ARGB_VISUALS=1 abaqus cae

Я сделал псевдоним для этой длинной команды в файле .bash_rc как:

alias abaquscae="XLIB_SKIP_ARGB_VISUALS=1 abaqus cae"

Все отлично работало, так как псевдоним запускает программное обеспечение. Будучи ленивым чемпионом, я подумал о создании для этого каирского дока. Поэтому я ввел abaquscae в поле «Команда запуска по клику» и проверил «Запустить в терминале». Однако, к моему ужасу, при нажатии на панель запуска он выдал ошибку ::

There was an error creating the child process for this terminal
Failed to execute child process "abaquscae" (No such file or directory)

Следовательно, я написал небольшой файл сценария bash «abaquscae.sh»:

#!/bin/sh
"XLIB_SKIP_ARGB_VISUALS=1 abaqus cae"

и сохранил в , сделал его исполняемым, и после запуска в оболочке bash я снова получил похожую ошибку, а именно:

./abaquscae.sh: 2: ./abaquscae.sh: XLIB_SKIP_ARGB_VISUALS=1 abaqus cae: not found 

Теперь я полностью потерян, я перепробовал много трюков, например
1 — удаление запятых в скрипте bash,
2 — создание его dos2unix,
3 — использование полного пути к исполняемому файлу
, но этот скрипт не выполняется терминал bash.

ПРОБЛЕМА:

Команда (а также ее псевдоним) отлично работают в терминале bash, однако, когда они запускаются через какой-то другой канал (например, скрипты / средства запуска), Терминал с треском не может их распознать :( ..

Если у любого эксперта есть совет / информация о том, как решить эту проблему, пожалуйста, поделитесь. Я буду очень благодарен.

1 Answer

Sorted by:

Reset to default

1

It looks like you entered terminal in the configuration in the place where you should write the program name that should run inside the terminal window.

Normally, that is a input field below the name ot the terminal profile you are editing.

/bin/bash would be good, if you want to use bash normally.

You can leave it empty, then a default is choosen — which is probably bash too.

answered Jul 9, 2015 at 8:03

Volker Siegel's user avatar

Volker SiegelVolker Siegel

16.5k4 gold badges51 silver badges77 bronze badges

Not the answer you’re looking for? Browse other questions tagged

  • terminal

or ask your own question.

1 Answer

Sorted by:

Reset to default

1

It looks like you entered terminal in the configuration in the place where you should write the program name that should run inside the terminal window.

Normally, that is a input field below the name ot the terminal profile you are editing.

/bin/bash would be good, if you want to use bash normally.

You can leave it empty, then a default is choosen — which is probably bash too.

answered Jul 9, 2015 at 8:03

Volker Siegel's user avatar

Volker SiegelVolker Siegel

16.5k4 gold badges51 silver badges77 bronze badges

Not the answer you’re looking for? Browse other questions tagged

  • terminal

or ask your own question.

  • Печать

Страницы: [1]   Вниз

Тема: Запуск команды в gnome-terminal  (Прочитано 3805 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн
rvkdw

drkwv@drkwv-ubuntu:~$ gnome-terminal —command «cd ..»

вылетает с ошибкой

«Произошла ошибка при создании дочернего процесса для этого терминала»

1) Что я делаю не так?
2) Как надо это делать?

До этого устанавливал NautilusSVN и потом его удалял по инструкциям с сайта разработчика. Может ли эта ошибка вылетать из-за установки NautilusSVN?

« Последнее редактирование: 30 Марта 2009, 16:15:14 от rvkdw »


Оффлайн
Psy[H[]

можно попробовать:

gnome-terminal -x blablablaно не для всех работает. Для sudo, например, опять же вылетает ошибка с дочерним процессом.
Хочу gnome-terminal прикрутить к gmrun, там нужно указать команду терминала, к которой присовокупляется вводимая команда. Сейчас прописал gnome-terminal -x но не для всего работает.

Я знаю только то, что ничего не знаю.
                                     


Оффлайн
rvkdw

можно попробовать:
gnome-terminal -x blablablaно не для всех работает. Для sudo, например, опять же вылетает ошибка с дочерним процессом.
Хочу gnome-terminal прикрутить к gmrun, там нужно указать команду терминала, к которой присовокупляется вводимая команда. Сейчас прописал gnome-terminal -x но не для всего работает.

Дело в том, что я монтирую папку через sshfs, но отмонтироваться, по неясным мне причинам, она не хочет (только через sudo). Для того, чтобы ее примонтировать, я написал скрипт на ruby, который работает. Однако, чтобы отмонтировать нужно набрать пароль для sudo. Можно ли набирать пароль для sudo не через терминал?

gnome-terminal -x также вываливается.


Оффлайн
ArcFi

nautilus sftp://$USER@192.168.1.2+ настроить доступ по ключам или пароль в менеджер паролей добавить.
Так не проще будет? Или я не так понял?


Оффлайн
Veter

Можно ли набирать пароль для sudo не через терминал?

gksudo


Оффлайн
rvkdw

nautilus sftp://$USER@192.168.1.2+ настроить доступ по ключам или пароль в менеджер паролей добавить.
Так не проще будет? Или я не так понял?

Я об этой возможности не знал.

Можно ли набирать пароль для sudo не через терминал?

gksudo

Спасибо.


Оффлайн
Psy[H[]

а как все-таки сделать чтобы gnome-terminal не выдавал ошибок дочерних процессов?

Я знаю только то, что ничего не знаю.
                                     


  • Печать

Страницы: [1]   Вверх

Я использую Ubuntu начиная с версии 10.04 и считаю ее более дружественной по сравнению с Windows. Прямо сейчас я использую «Precise 12.04». Я создал много пользовательских модулей запуска для скриптов bash, и у меня никогда не было проблем до вчерашнего дня.

Я установил программный пакет с несколькими исполняемыми файлами. Основной исполняемый файл abaqus находится в optsoftwaresname и является символической ссылкой на исполняемый файл abq610i в /opt/softwaresname/executables/.

Основной exe abaqus требует некоторых аргументов командной строки. Я использую аргумент cae, (то есть abaqus cae), но с другой командой, чтобы визуализировать графику в лучшем режиме, поэтому последний вызов: XLIB_SKIP_ARGB_VISUALS=1 abaqus cae

Я сделал псевдоним для этой длинной команды в файле .bash_rc как:

alias abaquscae="XLIB_SKIP_ARGB_VISUALS=1 abaqus cae"

Все отлично работало, так как псевдоним запускает программное обеспечение. Будучи ленивым чемпионом, я подумал о создании для этого каирского дока. Поэтому я ввел abaquscae в поле «Команда запуска по клику» и проверил «Запустить в терминале». Однако, к моему ужасу, при нажатии на панель запуска он выдал ошибку ::

There was an error creating the child process for this terminal
Failed to execute child process "abaquscae" (No such file or directory)

Следовательно, я написал небольшой файл сценария bash «abaquscae.sh»:

#!/bin/sh
"XLIB_SKIP_ARGB_VISUALS=1 abaqus cae"

и сохранил в , сделал его исполняемым, и после запуска в оболочке bash я снова получил похожую ошибку, а именно:

./abaquscae.sh: 2: ./abaquscae.sh: XLIB_SKIP_ARGB_VISUALS=1 abaqus cae: not found 

Теперь я полностью потерян, я перепробовал много трюков, например
1 — удаление запятых в скрипте bash,
2 — создание его dos2unix,
3 — использование полного пути к исполняемому файлу
, но этот скрипт не выполняется терминал bash.

ПРОБЛЕМА:

Команда (а также ее псевдоним) отлично работают в терминале bash, однако, когда они запускаются через какой-то другой канал (например, скрипты / средства запуска), Терминал с треском не может их распознать :( ..

Если у любого эксперта есть совет / информация о том, как решить эту проблему, пожалуйста, поделитесь. Я буду очень благодарен.

  • Печать

Страницы: [1]   Вниз

Тема: Запуск команды в gnome-terminal  (Прочитано 3811 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн
rvkdw

drkwv@drkwv-ubuntu:~$ gnome-terminal —command «cd ..»

вылетает с ошибкой

«Произошла ошибка при создании дочернего процесса для этого терминала»

1) Что я делаю не так?
2) Как надо это делать?

До этого устанавливал NautilusSVN и потом его удалял по инструкциям с сайта разработчика. Может ли эта ошибка вылетать из-за установки NautilusSVN?

« Последнее редактирование: 30 Марта 2009, 16:15:14 от rvkdw »


Оффлайн
Psy[H[]

можно попробовать:

gnome-terminal -x blablablaно не для всех работает. Для sudo, например, опять же вылетает ошибка с дочерним процессом.
Хочу gnome-terminal прикрутить к gmrun, там нужно указать команду терминала, к которой присовокупляется вводимая команда. Сейчас прописал gnome-terminal -x но не для всего работает.

Я знаю только то, что ничего не знаю.
                                     


Оффлайн
rvkdw

можно попробовать:
gnome-terminal -x blablablaно не для всех работает. Для sudo, например, опять же вылетает ошибка с дочерним процессом.
Хочу gnome-terminal прикрутить к gmrun, там нужно указать команду терминала, к которой присовокупляется вводимая команда. Сейчас прописал gnome-terminal -x но не для всего работает.

Дело в том, что я монтирую папку через sshfs, но отмонтироваться, по неясным мне причинам, она не хочет (только через sudo). Для того, чтобы ее примонтировать, я написал скрипт на ruby, который работает. Однако, чтобы отмонтировать нужно набрать пароль для sudo. Можно ли набирать пароль для sudo не через терминал?

gnome-terminal -x также вываливается.


Оффлайн
ArcFi

nautilus sftp://$USER@192.168.1.2+ настроить доступ по ключам или пароль в менеджер паролей добавить.
Так не проще будет? Или я не так понял?


Оффлайн
Veter

Можно ли набирать пароль для sudo не через терминал?

gksudo


Оффлайн
rvkdw

nautilus sftp://$USER@192.168.1.2+ настроить доступ по ключам или пароль в менеджер паролей добавить.
Так не проще будет? Или я не так понял?

Я об этой возможности не знал.

Можно ли набирать пароль для sudo не через терминал?

gksudo

Спасибо.


Оффлайн
Psy[H[]

а как все-таки сделать чтобы gnome-terminal не выдавал ошибок дочерних процессов?

Я знаю только то, что ничего не знаю.
                                     


  • Печать

Страницы: [1]   Вверх

Я пытаюсь запустить новый gnome-терминал с выполненной командой

Когда я выполняю gnome-terminal, новый терминал открывается плавно.

Теперь, когда я запускаю это

gnome-terminal -- "zsh; echo hello"

Я ожидаю, что откроется новый терминал с zsh и напечатан привет.

Но я получаю новый терминал с таким:

Screenshot from 2020-10-07 21-35-32

There was an error creating the child process for this terminal
Failed to execute child process “zsh; echo hello” (No such file or directory)

Некоторые важные результаты

Пожалуйста, взгляните


❯ gnome-terminal -e "echo hello"
# Option “-e” is deprecated and might be removed in a later version of gnome-terminal.
# Use “-- ” to terminate the options and put the command line to execute after it.
❯ gnome-terminal --command "echo hello"
# Option “--command” is deprecated and might be removed in a later version of gnome-terminal.
# Use “-- ” to terminate the options and put the command line to execute after it.

Выполнение следующих строк делает что-то вроде призрачных движений по экрану, но не дает видимого вывода

❯ gnome-terminal --window -- echo hello
❯ gnome-terminal --tab -- echo hello
❯ gnome-terminal --tab -- echo hello
❯ gnome-terminal --tab --wait  -- echo hello

Где я ошибаюсь? Как выполнить мою предполагаемую работу, т.е. запустить новый терминал zsh с напечатанным приветствием и дождаться следующей команды

2 ответа

Лучший ответ

Дело в том, что вы открываете новый терминал, но выполняете эти команды в своем реальном терминале. Если вы хотите запускать эти команды В новом терминале, вы должны указать параметр -x, который говорит, что он выполнит оставшуюся часть командной строки внутри терминала, который будет открыт. Теперь вы можете написать команду, но вам нужно указать параметр -c для zsh, чтобы zsh принял первый аргумент «Команды в запятых» как команду. Теперь терминал выполнит команду и останется открытым, не мигая. Но у него не будет оболочки, и я думаю, вы хотите продолжать писать команды, поэтому вам нужно будет exec zsh. Вот и все.

Это было бы примерно так:

gnome-terminal --x zsh -c 'echo hello; exec zsh'


1

Arnau Mas
6 Мар 2021 в 01:13

Первая строка вашего кода может содержать что-то вроде:

#!/usr/bin/expect -f

Или

#!/bin/bash

Убедитесь, что этот каталог существует. Например, возможно, вы запускаете программу, ожидающую, когда она не установлена.


-2

inye
10 Фев 2021 в 18:55

#
11 лет, 5 месяцев назад

Темы:

3

Сообщения:

9

Участник с: 07 августа 2011

Буквально недавно обновил систему, после того как появился ArchLinux 2011.08.19. После этого перестала работать гномовская консоль: Произошла ошибка при создании дочернего процесса для этого терминала
getpt failed: Нет такого файла или каталога. Пробывал в fstab прописать такое:
devpts /dev/pts devpts gid=5,mode=620 0 0
не помогло. Дальше не знаю как быть(((

cucullus

#
11 лет, 5 месяцев назад

cucullus avatar

Темы:

258

Сообщения:

3460

Участник с: 06 июня 2007

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

такие дела.

ainur101

#
11 лет, 5 месяцев назад

Темы:

3

Сообщения:

9

Участник с: 07 августа 2011

в общем, у меня отсуствует /dev/pts и терминалы не могут работать

ainur101

#
11 лет, 5 месяцев назад

Темы:

3

Сообщения:

9

Участник с: 07 августа 2011

Вот ошибка, при загрузке:
mount: mount point /dev/ shm does not exist.
mount: mount point /dev/pts does not exist

ainur101

#
11 лет, 5 месяцев назад

Темы:

3

Сообщения:

9

Участник с: 07 августа 2011

Решено. Создаем скрипт, с содержимым:

mkdir -p /dev/pts
mkdir -p /dev/shm
mountpoint -q /dev/pts || mount -n /dev/pts &>/dev/null 
        || mount -n -t devpts devpts /dev/pts -o mode=0620,gid=5,nosuid,noexec
mountpoint -q /dev/shm || mount -n /dev/shm &>/dev/null 
        || mount -n -t tmpfs shm /dev/shm -o mode=1777,nosuid,nodev

добавляем в файл rc.local:

sh <путь к скрипту>

Reboot.

  • Печать

Страницы: [1]   Вниз

Тема: Запуск команды в gnome-terminal  (Прочитано 3853 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн
rvkdw

drkwv@drkwv-ubuntu:~$ gnome-terminal —command «cd ..»

вылетает с ошибкой

«Произошла ошибка при создании дочернего процесса для этого терминала»

1) Что я делаю не так?
2) Как надо это делать?

До этого устанавливал NautilusSVN и потом его удалял по инструкциям с сайта разработчика. Может ли эта ошибка вылетать из-за установки NautilusSVN?

« Последнее редактирование: 30 Марта 2009, 16:15:14 от rvkdw »


Оффлайн
Psy[H[]

можно попробовать:

gnome-terminal -x blablablaно не для всех работает. Для sudo, например, опять же вылетает ошибка с дочерним процессом.
Хочу gnome-terminal прикрутить к gmrun, там нужно указать команду терминала, к которой присовокупляется вводимая команда. Сейчас прописал gnome-terminal -x но не для всего работает.

Я знаю только то, что ничего не знаю.
                                     


Оффлайн
rvkdw

можно попробовать:
gnome-terminal -x blablablaно не для всех работает. Для sudo, например, опять же вылетает ошибка с дочерним процессом.
Хочу gnome-terminal прикрутить к gmrun, там нужно указать команду терминала, к которой присовокупляется вводимая команда. Сейчас прописал gnome-terminal -x но не для всего работает.

Дело в том, что я монтирую папку через sshfs, но отмонтироваться, по неясным мне причинам, она не хочет (только через sudo). Для того, чтобы ее примонтировать, я написал скрипт на ruby, который работает. Однако, чтобы отмонтировать нужно набрать пароль для sudo. Можно ли набирать пароль для sudo не через терминал?

gnome-terminal -x также вываливается.


Оффлайн
ArcFi

nautilus sftp://$USER@192.168.1.2+ настроить доступ по ключам или пароль в менеджер паролей добавить.
Так не проще будет? Или я не так понял?


Оффлайн
Veter

Можно ли набирать пароль для sudo не через терминал?

gksudo


Оффлайн
rvkdw

nautilus sftp://$USER@192.168.1.2+ настроить доступ по ключам или пароль в менеджер паролей добавить.
Так не проще будет? Или я не так понял?

Я об этой возможности не знал.

Можно ли набирать пароль для sudo не через терминал?

gksudo

Спасибо.


Оффлайн
Psy[H[]

а как все-таки сделать чтобы gnome-terminal не выдавал ошибок дочерних процессов?

Я знаю только то, что ничего не знаю.
                                     


  • Печать

Страницы: [1]   Вверх

#linux #shell #terminal #zsh #gnome-terminal

#linux #оболочка #терминал #zsh #gnome-терминал

Вопрос:

Я пытаюсь запустить новый gnome-терминал с помощью выполняемой команды

Когда я выполняю gnome-terminal , новый терминал открывается плавно.

Теперь, когда я запускаю это

gnome-terminal -- "zsh; echo hello"

Я ожидаю, что откроется новый терминал с zsh, с напечатанным hello.

Но я получаю новый терминал с этим:

Скриншот из 2020-10-07 21-35-32

 There was an error creating the child process for this terminal
Failed to execute child process “zsh; echo hello” (No such file or directory)
  

Некоторые важные результаты

Пожалуйста, взгляните

 
❯ gnome-terminal -e "echo hello"
# Option “-e” is deprecated and might be removed in a later version of gnome-terminal.
# Use “-- ” to terminate the options and put the command line to execute after it.
❯ gnome-terminal --command "echo hello"
# Option “--command” is deprecated and might be removed in a later version of gnome-terminal.
# Use “-- ” to terminate the options and put the command line to execute after it.

  

Выполнение следующих строк делает что-то вроде каких-то призрачных перемещений на экране, но не дает видимого вывода

 ❯ gnome-terminal --window -- echo hello
❯ gnome-terminal --tab -- echo hello
❯ gnome-terminal --tab -- echo hello
❯ gnome-terminal --tab --wait  -- echo hello

  

Где я допускаю ошибку? Как я могу выполнить свою намеченную работу, т.Е. Запустить новый терминал zsh с напечатанным приветствием и ожиданием следующей команды

Ответ №1:

Происходит то, что вы открываете новый терминал, но запускаете эти команды в своем реальном терминале. Если вы хотите выполнить эти команды в новом терминале, вы должны указать -x опцию, в которой говорится, что она выполнит оставшуюся часть командной строки внутри терминала, который будет открыт. Теперь вы можете написать команду, но вам нужно указать -c опцию для zsh, чтобы zsh принял первый аргумент «Команды в запятых» в качестве команды. Теперь терминал выполнит команду и останется открытым, он не будет мигать. Но у него не будет оболочки, и я предполагаю, что вы хотите продолжать писать команды, поэтому вам нужно exec zsh . И это все.

Это было бы что-то вроде этого:

 gnome-terminal -- zsh -c 'echo hello; exec zsh'
  

Комментарии:

1. Большое спасибо за ваш ответ. Я попробовал. В текущем терминале была открыта новая вкладка с напечатанным приветствием и ожиданием ввода. Но это было отображено в исходном терминале shell # Option “-x” is deprecated and might be removed in a later version of gnome-terminal. # Use “-- ” to terminate the options and put the command line to execute after it.

2. Мне это не кажется, возможно, это потому, что ваша версия терминала новее или из-за дистрибутива. Я думаю, попробуйте использовать — вместо -x. Несмотря на это сообщение, работает ли оно?

3. да, это работает. пожалуйста, обновите свой ответ с -- помощью вместо -x

Ответ №2:

Первая строка вашего кода может содержать что-то вроде:

 #!/usr/bin/expect -f
  

или

 #!/bin/bash
  

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

  • Произошла ошибка при сохранении настройки автоматической отправки получения электронных документов
  • Произошла ошибка при создании временного файла необходимого для завершения установки
  • Произошла ошибка при сохранении ваших изменений instagram
  • Произошла ошибка при создании вашей группы пожалуйста повторите попытку стим
  • Произошла ошибка при сохранении вашей эмблемы bf4