Моя проблема получает .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, терминал открывается показанным выводом (отметьте fullpathname), и ожидает возврата, который будет отклонен как прежде.
Привет, мир!
@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 как
/home/westmj/GoogleDrive/perl/-
2016_08_Aug_11_/home/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 на attenders_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
Что теперь? Спасибо за любой совет.