2015-04-07 7 views
0

Я пытаюсь написать приложение с Qt в Netbeans. Я могу открыть терминал gnome (в Ubuntu), однако я не могу заставить команду запускаться в терминале после ее открытия, например. для выполнения команды ls.Написать команду терминалу gnome с QProcess

Может ли кто-нибудь помочь мне с некоторым кодом для выполнения команды ls в терминале gnome после ее открытия? Я открываю терминал со следующим кодом:

QProcess *proc = new QProcess(this); 
proc->start("gnome-terminal"); 
if (!proc->waitForStarted()) { 

} 

ответ

1

Используйте -e аргумент:

proc->start("gnome-terminal -e 'ls'"); 

Чтобы держать окно открытым, перейдите Edit> Preferences профиля> Команда> Когда команда выходит и изменения до Удерживать терминал открытым.

+0

Есть ли способ «написать» команду «-e ls» на уже открытый терминал? Например, если я хотел бы открыть терминал, а затем выполнить последовательность команд программным способом поэтапно. – user1145581

+0

Не легко. Вы можете попробовать написать прямо в shell или терминальный процесс, например 'echo 'ls \ n">/proc//fd/0', но я сомневаюсь, что он сработает. – svlasov