[python 3.10] - как задать фоновый цвет в терминале с дочерним процессом?
От: Lloret  
Дата: 19.10.21 19:07
Оценка:
Запускаю его так:

subprocess.run(["xterm", "-e", cmd], capture_output=True)


И он с какого-то перепоя открывает мне окно с синим фоном, при том, что само дочернее приложение попыток раскраситьсвой фон не делает от слова совсем. Хочу чтобы именно в этом терминальном окне фон был такой, какой ему укажу. Как это сделать?
Re: [python 3.10] - как задать фоновый цвет в терминале с дочерним процессом?
От: cppguard  
Дата: 20.10.21 01:11
Оценка: 5 (1)
Здравствуйте, Lloret, Вы писали:

L>И он с какого-то перепоя открывает мне окно с синим фоном, при том, что само дочернее приложение попыток раскраситьсвой фон не делает от слова совсем. Хочу чтобы именно в этом терминальном окне фон был такой, какой ему укажу. Как это сделать?


Какой-то поток мыслей. Что из этого дочернее приложение: xterm или cmd?

L>само дочернее приложение попыток раскраситьсвой фон не делает от слова совсем

xterm конечно же раскрашивает сам себя в соответствии с Xresources

Если я правильно прочитал ваши мысли, и вопрос в том, почему отличаются разные окна xterm, то ответ, скорее всего, в окружении. Кстати, xterm сам по себе не должен запускаться, потому что не задан параметр shell=True, а значит нужно передавать полный путь до исполняемого файла — /usr/bin/shell, или что там у вас.
Re[2]: [python 3.10] - как задать фоновый цвет в терминале с дочерним процессом?
От: Lloret  
Дата: 20.10.21 08:20
Оценка:
C>Какой-то поток мыслей. Что из этого дочернее приложение: xterm или cmd?

Видимо, xterm, который уже запускает то, что в cmd указано

L>>само дочернее приложение попыток раскраситьсвой фон не делает от слова совсем

C>xterm конечно же раскрашивает сам себя в соответствии с Xresources

А из питона как-то можно это задать для данного вызова и только для него?
Re[3]: [python 3.10] - как задать фоновый цвет в терминале с дочерним процессом?
От: cppguard  
Дата: 20.10.21 10:56
Оценка:
Здравствуйте, Lloret, Вы писали:

L>А из питона как-то можно это задать для данного вызова и только для него?


Вот если передать shell=True, то запуск будет максимально похож на как если бы cmd запускался вручную из терминала. Ещё вам нужно почитать документацию по параметру env. В конце концов, запустить просто xterm без команды и посмотреть, как он будет раскрашен.
Re: [python 3.10] - как задать фоновый цвет в терминале с дочерним процессом?
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 20.10.21 12:25
Оценка:
Здравствуйте, Lloret, Вы писали:

L>
L>subprocess.run(["xterm", "-e", cmd], capture_output=True)
L>


Я с ходу не понял, при чём тут capture_output. xterm не даст перехватить вывод процесса в нём. Для этого нужно что-то соответствующее запустить внутри (например, script).

L>И он с какого-то перепоя открывает мне окно с синим фоном, при том, что само дочернее приложение попыток раскраситьсвой фон не делает от слова совсем. Хочу чтобы именно в этом терминальном окне фон был такой, какой ему укажу. Как это сделать?


Я тоже не понял, как вы этого добились. А если из другого терминала запустить xterm -e cmd, красит?
The God is real, unless declared integer.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.