#android #bash #emacs #org-mode
#Android #bash #emacs #org-режим
Вопрос:
На моей бывшей машине я бы выполнил через crontab скрипт с содержимым:
#!/bin/bash
emacs --batch --load ~/.emacs --eval "(org-mobile-pull)" --eval "(org-mobile-push)"
На моей новой машине я использую .emacs, init.el и custom.el со своей старой машины. Но если я выполню этот скрипт на своем новом компьютере, файлы, которые я хочу отправить, не будут отправлены. Очевидно, что переменная org-mobile-files не учитывается, хотя init.el и custom.el загружены. Еще хуже: в то время как правильный agendas.org файл создан, я получаю пустую повестку дня на свой телефон Android, если выполняю синхронизацию. Если я выполняю org-mobile-push из запущенного emacs и открываю файл org, все работает нормально. Как я могу переписать свой скрипт, чтобы снова отправлять мои файлы / повестки дня из bash или crontab?
Ответ №1:
Хорошо, наконец-то я нашел решение / обходной путь. Я изменил сценарий, чтобы сначала открыть файл org. Теперь мой скрипт выглядит так:
#!/bin/bash
emacs ~/Dropbox/path-to-org-files-directory/some-file.org --batch --load ~/.emacs --eval "(org-mobile-pull)" --eval "(org-mobile-push)"
Таким образом, мой скрипт работает. Странная вещь: прежде чем ответить на мой вопрос здесь, я уже пытался:
#!/bin/bash
emacs ~/some-file.org --batch --load ~/.emacs --eval "(org-mobile-pull)" --eval "(org-mobile-push)"
Это не работает … На самом деле, открытие некоторого файла.org в моем домашнем каталоге в запущенном сеансе emacs, а затем с помощью org-mobile-push также не работает.