2016-03-07 3 views
0

Я пытаюсь открыть новое окно терминала в приложении Tkinter. Я использовал os.system ("/ bin/bash"), но он работает только в текущем bash. Который останавливает запуск кода и вызывает замораживание приложения. Я хочу открыть новый терминал. Как это сделать? gedit, как программы, работают нормально, не нарушая текущую работу.Как открыть новый терминал bash с помощью Python

def openterm(): 
    os.system("/bin/bash") 
def opengedit(): 
      os.system("/usr/bin/gedit") 
menu = tk.Menu(root) 
root.config(menu=menu) 
subMenu = tk.Menu(menu) 
menu.add_cascade(label="Tools", menu=subMenu) 
subMenu.add_command(label="Open Terminal", command=openterm) 
subMenu.add_command(label="Open Gedit", command=opengedit)  
+0

В каком дистрибутиве Linux вы используете? –

+0

'/ bin/bash' не является термином; это оболочка, которая часто является программой, выполняемой в терминале. – chepner

+0

@ Robᵩ Его Ubuntu –

ответ

1

Попробуйте это:

# Tested on Ubuntu 14.04.3 LTS 
os.system("x-terminal-emulator -e /bin/bash") 
+0

Спасибо! Это точно. –

0

Я не знаю точно, как объяснить это в коде, но я могу указать вам в правильном направлении. Это пример из командной строки Windows. Когда вы находитесь в командной строке, способ открыть новое окно - ввести «start prompt» из уже открытого. Возможно, если вы примените эту же методологию к своему сценарию, она будет работать. Надеюсь, я помог вам.

+0

Благодарим за помощь –

Смежные вопросы