Начиная с GNOME 3.2, разработчики GNOME выше по течению отказались от поддержки добавления «внешних панелей» к системным настройкам, чтобы более точно контролировать то, что там присутствует. Соответствующий разговор можно найти, начиная с этого сообщения, в GNOME desktop-devel-list. У Ubuntu есть патч, чтобы выставить этот API. Вот соответствующий проект.
IFAICT, приложения python не могут напрямую обращаться к надлежащему API, но они все равно могут добавить себя в системные настройки. Они появятся там, но не смогут воспользоваться морфинговым окном, хлебными крошками и т. Д. Они просто будут называться как внешняя программа.
Чтобы разместить ваше приложение в системных настройках, вам нужно добавить X-GNOME-Settings-Panel в поле Categories в вашем файле рабочего стола:
Categories=GNOME;GTK;Settings;X-GNOME-Settings-Panel;
и добавьте новое поле в файл рабочего стола:
X-GNOME-Settings-Panel=program-icon
Он также должен содержать OnlyShowIn=Unity;
Вот пример того, как я заставляю что-то там:
Вы можете добавить вызов install.packages() в свой cron-скрипт, чтобы он устанавливал все текущие пакеты, пока он не выполнит остальные задания R cron.
install.packages принимает вектор, поэтому вы может даже сохранить файл с установленными вами пакетами в другом месте, а затем автоматически загрузить его в сценарий обновления cron.
installed.packages() возвращает вектор уже установленных пакетов, поэтому вы можете использовать %in% для просто вызовите его в пакетах, которые еще не установлены:
desired.packages <- c("plyr","taRifx","ggplot2")
missing.packages <- ! desired.packages %in% installed.packages()[,1]
if( any(missing.packages) ) {
install.packages( desired.packages[missing.packages] )
}
Редактирование: возможно, лучшее решение
В соответствии с предложением JoshuaUlrich в чате:
Поместите это в свой .Rprofile.
local({
.libPaths("/home/evilgenius/R/library")
})
Тогда вы сможете просто запустить update.packages() после того, как Ubuntu уничтожит все, и монархия будет восстановлена.
Это решение требует большей осторожности, чтобы пакеты, t с текущей версией R не переносятся.