Предостережение здесь. В Objective C, в отличие от многих подобных языков, обычно необходимо стараться не использовать исключения для ситуаций с распространенной ошибкой, которые могут произойти в нормальном функционировании.
документация Apple для Obj-C 2.0 указывает следующее: "Важный: Исключения являются ресурсоемкими в Objective C. Вы не должны использовать исключения для общего управления потоком, или просто показать ошибки (такие как файл, не являющийся доступным)"
, концептуальная документация Обработки исключений Apple объясняет то же, но с большим количеством слов: "Важный: необходимо зарезервировать использование исключений для программных ошибок или непредвиденных ошибок выполнения такой как за пределы доступ набора, попытки видоизменить неизменные объекты, отправив недопустимое сообщение, и теряя соединение с сервером окна. Вы обычно заботитесь об этих видах ошибок за исключениями, когда приложение создается, а не во времени выполнения. [.....] Вместо исключений, ошибочные объекты (NSError) и механизм ошибочной доставки Какао являются рекомендуемым способом передать ожидаемые погрешности в приложениях Какао".
причины этого состоят в том, чтобы частично придерживаться программирования идиом в Objective C (использующий возвращаемые значения в простых случаях и параметрами ссылки (часто класс NSError) в более сложных случаях), частично тот бросок и ловля исключений являются намного более дорогими и наконец (и perpaps самое главное), что исключениями Objective C является тонкая обертка вокруг C setjmp () и longjmp (), функции, по существу портя Вашу тщательную обработку памяти, видят это объяснение .
Вы можете создать скрипт, который удалит два файла и настроит его для запуска при запуске.
Примерно так:
#!/bin/bash
rm /home/vas/.config/deluge/ipc/deluge-gtk
rm /home/vas/.config/deluge/ipc/deluge-gtk.lock
Вам нужно будет поместить свои сценарии в /etc/init.d/
.
См .: https://superuser.com/questions/155476/how-do-i-make-a-script-run-upon-startup-of-the-ubuntu-machine
Также вот краткое руководство о том, как bash-скрипт: https://help.ubuntu.com/community/Beginners/BashScripting
Существует открытый тикет с ошибкой # 2234 , который решит проблему с устаревшим файлом.
Альтернативой помещению Deluge в автозагрузку приложений может быть запуск демона в фоновом режиме с помощью сценария upstart , а затем подключение к thinclient .