открыть исходный терминал из питона

1

Я пытаюсь запустить скрипт, который открывает новый терминал для пользователя, который получен из другого файла.

Мой код выглядит так:

os.system("gnome-terminal 'bash -e -c \"source " + path_to_file + "\"'")

Да, он открывает консоль, которая также остается открытой, но я хочу также, чтобы консоль была загружена в определенный файл.

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

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

  • 0
    Были ли успехи без использования path_to_file и жесткого кодирования в источнике?
  • 0
    Я только что проверил это, но это тоже не помогло. Также в конце это должна быть переменная, потому что пользователь может выбрать, какой он хочет.
Теги:
terminal
operating-system

1 ответ

0

Это почти кросс-сайт, https://serverfault.com/questions/368054/run-an-interactive-bash-subshell-with-initial[CN01meommands-without-returning-to-the

Проблема двоякая:

  1. -e - флаг для терминала gnome, а не bash. Поскольку гном игнорирует вас.
  2. -c выйдет сразу после запуска команды.

Это то, что вы хотите:

os.system("gnome-terminal -e 'bash --init-file {}'".format(path_to_file))

На стороне примечание, использование format менее важно в моей строке, но ваш бы выиграл от этого больше. Также вы можете использовать """ как цифру 3d, чтобы вы могли использовать как " и ' внутри.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню