[
] Согласно [] Desktop Entry Specification[]:[
] [
] []Коды полей не должны использоваться внутри цитируемого аргумента[
] [
] [
] Следовательно, ваш []%k[
] дается буквально команде []bash[
]. Изменение строки []Exec[
] на следующую позволяет избежать этого:[
] [
Exec=bash -c '"$(dirname "$1")"/run.sh' dummy %k
] [
]Вышеуказанное работает локально, а также работает, если в пути есть пробел. Для скрипта []манекену [
] присвоено значение []bash[
] как его []$0[
] (то, что он думает название скрипта), а расширение []%k[
] доступно в виде []$1[
]. Вложенные слои цитирования необходимы, чтобы соответствовать спецификации и не занимать место.[
] [
] Обратите внимание, что []%k[
] не обязательно расширяется до локального пути к файлу - это может быть URI папки, или пустой, и действительно портативный скрипт должен учитывать и эти случаи. []%k[
] также не является универсально поддерживаемым, так что Вам нужно будет иметь некоторые ограничения на системы, на которых Вы ожидаете его использовать в любом случае.[
] [
] [
]Что касается отладки, Вы можете использовать обычную оболочку перенаправления под KDE:[
] [
Exec=bash -c ... > /tmp/desktop.log
] [
]Это не стандартизированное поведение, и оно не работает под GNOME и, вероятно, другими операционными системами. Вы также можете указать абсолютный путь к скрипту, созданному для регистрации его аргументов и действий так, как Вам нужно.[
].
Есть также MPICH и BOOST MPT, но это, вероятно, не то, что вы имеете в виду.
Вы, вероятно, хотели знать, можно ли запустить любую произвольную программу через кластер HPC. Ответ нет и только из-за того, как работает выполнение исполняемой программы.
Эти системы предназначены для решения проблемы того, как вы разделяете рабочую нагрузку между рабочими узлами. Там есть какая-то программная инфраструктура для узлов для получения их работы, делиться результатами и повторять цикл.
Если вы заинтересованы в работе по определенной проблеме, вы имеете с OpenMPI, вы можете опубликовать переполнение.