2016-07-13 1 views
0

Я создаю GUI, чтобы облегчить выполнение одной из задач в UNIX. Я хотел бы запустить процесс через терминал в UNIX. я использовал модульСвязь с процессом, запущенным в терминале в UNIX через python

subprocess.Popen() 

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

вот код:

password = wx.TextEntryDialog(None, "What is your password?", 'Password') 
    if password.ShowModal() == wx.ID_OK: 
     response = password.GetValue() 

     command = 'ssh -X pcalcul0 firefox http://qualnetsrv/intraqual//identification.aspx?ref=G0-1427' 
     user_manual = subprocess.Popen(command, universal_newlines=True, 
             stdin=response, 
             stdout=subprocess.PIPE, 
             stderr=subprocess.STDOUT, 
             shell=True) 

ответ

0

Вы должны быть в состоянии использовать Pexpect пакет, чтобы сделать такого рода вещи. Это было подробно описано в других ответах, таких как этот:

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

Другой способ я знаю. использовать Paramiko. Затем вы можете использовать сам Python для выполнения SSH/SCP, который вам нужен.

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

  • Нет связанных вопросов^_^