Мне нужно, чтобы после открытия терминала через QProcess в нем открывался рабочий каталог / home / user / ap и выполнялась команда ls, а терминал оставался открытым. Я использую этот код. Мне нужно запустить команду из другого приложения вместо ls. Эта команда может быть выполнена строго в этом каталоге. Но после выполнения этого кода с помощью команды приложения открывается терминал, и в нем отображается сообщение о том, что эта команда не найдена (после этого я могу выполнить ее вручную в этом терминале). Так что переход в рабочий каталог произошел, но команда bash почему-то не распознала. В чем может быть проблема, как ее решить?
from PyQt5.QtCore import QProcess
pr = QProcess()
pr.startDetached("gnome-terminal", ["-e", "bash -c 'ls ; exec bash'"], "/home/user/ap")
pr.waitForFinished()
out = pr.readAll()
pr.close()
print(str(out))
И почему сообщение отображается на консоли после выполнения программы: QIODevice::read (QProcess): device not open
?
Обновление:
Что я хочу:
Что я получаю: