.desktop вызывает Perl и терминал мигает и выключается без запуска; пока работает нормально, используя линию EXEC в терминале
Моя проблема заключается в том, чтобы получить файл.desktop, который запускает скрипт с параметрами в терминале, чтобы он оставался открытым, а не мигал, включая предположительно нужные мне сообщения об ошибках.
Я показываю несколько простых скриптов и.desktops, чтобы продемонстрировать, что это должно работать.
$ cat /home/westmj/GoogleDrive/perl/hello_world.pl
#! /usr/bin/perl
print "Hello, World!\n\@ARGV:\n";
foreach $arg (@ARGV) {
print "$arg\n";
}
warn "Press 'Enter' or 'Return' to finish.\n";
<STDIN>
$ /usr/bin/perl /home/westmj/GoogleDrive/perl/hello_world.pl 1 a.txt
Привет, мир!
@ARGV:
1
a.txt
Нажмите "Enter" или "Return", чтобы закончить.
$ cat hello_world_desktop.desktop
#
[Desktop Entry]
Version=1.0
Name=Hello_World_desktop
Comment=Execute by dropping file onto
Exec=/usr/bin/perl /home/westmj/GoogleDrive/perl/hello_world.pl '%F'
Terminal=true
Type=Application
MimeType=application/vnd.ms-excel;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;inode/directory;text/plain;text/x-script.perl;
Когда файл a.txt отбрасывается на hello_world_desktop.desktop, открывается терминал с отображаемым выводом (обратите внимание на полное имя пути) и ожидает отклонения возврата, как и раньше.
Привет, мир!
@ARGV:
/home/westmj/GoogleDrive/perl/a.txt
Нажмите "Enter" или "Return", чтобы закончить.
Теперь начинается самое интересное. У меня есть более сложный сценарий, но он выполняется в командной строке и успешно принимает параметр имени файла, и терпеливо ждет, чтобы быть отклоненным.
$ /usr/bin/perl /home/westmj/GoogleDrive/perl/attenders.pl /home/westmj/GoogleDrive/perl/Attenders_database.xls
Входная база данных находится в /home/westmj/GoogleDrive/perl/Attenders_database.xls
Сделана копия
/home/westmj/GoogleDrive/perl/Attenders_database.xls as
/ home / westmj / GoogleDrive / perl / -
2016_08_Aug_11_ / дома / westmj / GoogleDrive / Perl / Attenders_database.xls
поддерживать историю базы данных.
Версия базы данных '11 августа 2016 г.' Суффикс файла '2016_08_Aug_11'
Выходной каталог = /home/westmj/GoogleDrive/perl/
Сделано с созданием отчетов.
Нажмите "Enter" или "Return" для выхода.
И у меня есть файл.desktop, который должен использовать тот же вызов:
$ cat attenders_desktop_04.desktop
#
[Desktop Entry]
Version=1.0
Name=attenders_desktop_04
Comment=Drag and drop onto this the Attenders_database.xls[x] and optionally directory for output
Exec=/usr/bin/perl /home/westmj/GoogleDrive/perl/attenders.pl '%F'
Terminal=true
Type=Application
MimeType=application/vnd.ms-excel;application/vnd.ms-office;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;inode/directory;application/zip;
Но если я перетаскиваю Attenders_database.xls на acceders_desktop_04.desktop, все, что происходит, - это кратковременное открытие и закрытие терминала.
Я не думаю, что это вопрос разрешений.
$ ls -la *.desktop
-rwxrw-r-- 1 westmj westmj 411 Sep 16 21:55 attenders_desktop_04.desktop
-rwxrw-r-- 1 westmj westmj 340 Sep 16 21:52 hello_world_desktop.desktop
Что теперь? Спасибо за любой совет.