Действительная команда xterm не работает ни в консоли, ни в терминале GNOME

403
tinyfiledialogs

это отлично работает с Xterm

xterm -e '(dialog --msgbox "thebigmessage" 0 0)' 

но не с консоль и не с гном-терминалом

konsole -e '(dialog --msgbox "thebigmessage" 0 0)'  gnome-terminal -e '(dialog --msgbox "thebigmessage" 0 0)'  

Мне нужна скобка (в чем проблема), потому что я на самом деле делаю

xterm -e '(dialog --msgbox "thebigmessage" 0 0 >/dev/tty) 2>&1' 

и консоль, и gnome-терминал говорят: (диалог не распознается как допустимая команда.

РЕДАКТИРОВАТЬ: следующие работы на xterm & konsole

xterm -e bash -c '(dialog --msgbox "thebigmessage" 0 0)' konsole -e bash -c '(dialog --msgbox "thebigmessage" 0 0)' 

и это работает на гном-терминале

gnome-terminal -x bash -c '(dialog --msgbox "thebigmessage" 0 0)' 

Мне нужно знать для любого существующего типа терминалов. если вы можете проверить это на других терминалах, спасибо за добавление результата здесь.

1

1 ответ на вопрос

1
egmont

The -e argument is interpreted differently in these terminal emulators.

For gnome-terminal, you can execute

gnome-terminal -x bash -c '(dialog --msgbox "thebigmessage" 0 0)'

оно работает. Благодарю. Я нашел это: konsole -e bash -c '(диалог --msgbox "thebigmessage" 0 0)' tinyfiledialogs 9 лет назад 1
Хаха спасибо! Я заметил, что у konsole не было -x, но не понял, что -e было просто отлично. egmont 9 лет назад 0
Еще одно замечание: в Ubuntu поставляется `gnome-terminal.wrapper`, который служит для распознавания тех же флагов, что и xterm и konsole, а именно:` gnome-terminal.wrapper -e bash -c ... ` egmont 9 лет назад 0