Я собираюсь сделать попытку и предположить, что ваша проблема связана с путями к файлам. В Linux вы можете запускать программы без терминала. Терминал - это просто интерфейс к приложению. То же самое верно для любой среды рабочего стола, которую вы используете.
Я предполагаю, что ваша программа filemove использует относительные пути. Я предполагаю, что когда вы дважды щелкаете свое приложение, DE запускает его из другого каталога, чем тот, в котором он находится. Это довольно нелогично, но возможно. Так что, если ваша программа находится в /home/user/myproject/
, и вы дважды щелкаете по ней, возможно, что DE запускает ее вместо /home/user/
.
Я бы порекомендовал добавить вывод в вашу программу и распечатать ее в рабочем каталоге. Поскольку вы не запускаете его на CLI, распечатайте его в файл.
РЕДАКТИРОВАТЬ: вы также можете попробовать изменить любой относительный путь к файлу на абсолютный путь и посмотреть, работает ли он. Это по крайней мере скажет вам, если проблема в рабочем каталоге.