Как синхронизировать рабочий стол OS X с Dropbox?

9

Как я могу синхронизировать все файлы рабочего стола с Dropbox, чтобы мой рабочий стол по-прежнему ощущался, работал и работал как обычный рабочий стол?

epsilon8
источник
Пожалуйста, будьте более конкретны, хотите ли вы назначить папку рабочего стола в качестве местоположения вашего Dropbox. Потому что я думаю, что самое близкое, к
чему
Если вы хотите, чтобы папка рабочего стола копировалась автоматически, вы можете написать скрипт cron, который сможет делать это каждый день.
Rubixibuc
как сделать скрипт?
epsilon8
Некоторые из этих решений кажутся чрезмерными. Тем более, что при предыдущей установке Dropbox я установил рабочий стол как фактическую папку Dropbox при установке. Теперь на новом хосте OSX механизм установки настаивает на создании папки с именем Dropbox в выбранной папке. Было бы более полезно настроить полную папку рабочего стола непосредственно как папку Dropbox в моей подписанной учетной записи Dropbox на 50 ГБ.
Разве вы не можете просто удалить папку Desktop и заменить ее символической ссылкой где-нибудь в папке dropbox?
Houbysoft

Ответы:

8

Использование действий с папками

Это позволит - всякий раз, когда вы добавляете новый файл, синхронизировать ваш рабочий стол с выбранной папкой Dropbox. Сначала создайте папку Dropbox, в которой вы хотите, чтобы файлы вашего рабочего стола оставались, например ~/Dropbox/Desktop.

Затем откройте Automator.app и создайте новое действие для папки . Вверху выберите свой настоящий рабочий стол.

введите описание изображения здесь

К действию Automator добавьте действие « Выполнить сценарий оболочки» из левой панели. Вставьте следующее.

rsync -rta --delete ~/Desktop/ ~/Dropbox/Desktop/

введите описание изображения здесь

Сохраните действие.

введите описание изображения здесь

Теперь это будет выполняться по умолчанию, и всякий раз, когда элемент добавляется на ваш рабочий стол, он будет отображаться в Dropbox. Если вы удалите элемент с рабочего стола, изменений не будет, поэтому вам нужно что-то добавить (например, создать новую папку и удалить ее сразу), чтобы вызвать синхронизацию.

Если вы хотите отключить его, щелкните правой кнопкой мыши значок на рабочем столе в Finder и выберите « Службы»> «Настройка действий папки» . Здесь снимите флажок с вашего рабочего стола.

введите описание изображения здесь


Копирование с cron

Очень статичный, не предпочтительный способ включает настройку cron. Если вы просто хотите скопировать элементы, вы можете открыть свой Терминал и ввести:

mkdir -p ~/Dropbox/Desktop
crontab -e

Затем вставьте следующее и сохраните:

0   12  *   *   *   rsync -rt --delete ~/Desktop/ ~/Dropbox/Desktop/

Это будет делать резервную копию каждый день, в 12:00. Вы можете изменить , 12чтобы *делать это каждый час. Чтобы снова отключить, введите crontab -eи удалите эту строку, затем сохраните.

slhck
источник
2
Ваши параметры символической ссылки ln -s ~/Dropbox/Desktop ~/Desktop
обратны
+1 Симлинки полностью для «истинной» прозрачности.
Эрик Дункан
-1 Этот ответ содержит три отдельных ответа и должен был быть представлен как таковой. Техника символьных ссылок не работает, но вместо этого создает ~/Desktop/Desktopпапку, которая синхронизируется, но по-прежнему не может синхронизировать другой контент в ~/Desktop.
Джейсон Р. Кумбс
@ JasonR.Coombs Мы действительно предпочитаем, чтобы пользователи отправляли один ответ, если это возможно. Я удалил часть символической ссылки. Если у вас есть лучшее решение для символических ссылок, я был бы признателен, если бы вы могли опубликовать это.
slhck
Спасибо @slhck. Я изменил свой голос по этому ответу. Я разработал другой ответ, основанный на символических ссылках, но я еще не доволен им. Я надеюсь опубликовать это в будущем.
Джейсон Р. Кумбс
3

Я предпочитаю метод symlink, но при настройке дополнительных компьютеров Mac для совместного использования синхронизации он может оказаться сложным.

Во-первых, у меня в Dropbox есть папка, предназначенная для "osx sync" ... например: sync_osx

  • Перед установкой символической ссылки на новом Mac я временно «перемещаю» папку Desktop из sync_osx( но все еще внутри основной папки DropBox ).

  • Затем я открываю терминал и набираю:

    cd ~/Dropbox/sync_osx

    ln -s ~/Desktop/ Desktop

  • Наконец, я перемещаю файлы обратно во вновь созданную папку Desktop в ~/Dropbox/sync_osx/Desktop.

Перемещая файлы в папке Dropbox, Dropbox быстро синхронизируется, и история изменений файлов остается нетронутой.

Бретт Веенстра
источник
Этот ответ можно улучшить, пояснив, что это другой способ использования символических ссылок. Он держит в ~/Desktopпапку авторитетных и связи с раздаточным размещенной папки. Мне не нравится эта техника, потому что она основана на том, что Dropbox знает и поддерживает эту модель (то, что она явно не поддерживает в Windows ). Кроме того, зачем идти на все эти проблемы , а не ссылки ~/Desktopна ~/Dropbox/sync_osx/Desktop?
Джейсон Р. Кумбс
1

Поскольку вы хотите, чтобы содержимое рабочего стола находилось в Dropbox, я рекомендую сначала перенести содержимое рабочего стола в Dropbox. Вы можете разместить свой рабочий стол в любом месте Dropbox, но я рекомендую непосредственно как Dropbox / Desktop. Сейчас я предполагаю, что у вас есть Dropbox, установленный как ~ / Dropbox, а ваш Рабочий стол как ~ / Desktop. Итак, чтобы переместить файлы:

# ensure the directory exists on Dropbox
mkdir -p ~/Dropbox/Desktop

# move local files to the Dropbox-hosted Desktop
mv ~/Desktop/* ~/Dropbox

Затем вы хотите создать символическую ссылку, чтобы ~ / Desktop перенаправлял в ~ / Dropbox / Desktop. Однако вы не можете сделать это, пока в ~ / Desktop есть существующая папка, поэтому вы захотите удалить ее.

Однако, прежде чем сделать это, вы, вероятно, захотите сохранить значок папки для рабочего стола. Единственный способ, который я знаю, это скопировать его в буфер обмена с помощью Finder. Откройте Finder и перейдите в свой домашний каталог, выберите рабочий стол, а затем получите информацию о нем (⌘I). Выберите значок папки в левом верхнем углу и скопируйте его в буфер обмена (⌘C). Затем восстановите значок папки «Рабочий стол», перейдя в папку «Dropbox» / «Рабочий стол» в Finder, запустив «Информация о ней», выбрав значок в верхнем правом углу и вставив значок, скопированный ранее (⌘V).

Теперь вы готовы удалить старую папку Desktop.

# remove ~/Desktop
sudo rm -Rf ~/Desktop

sudo требуется удалить эту папку, потому что она управляется системой.

Затем создайте символическую ссылку, чтобы рабочий стол был доступен в обоих местах:

ln -s Dropbox/Desktop ~/Desktop

Описанная выше методика должна работать на первом компьютере, а также на последующих компьютерах, даже если на новых компьютерах уже есть контент на рабочем столе (который объединяется с размещенной в облаке копией). Это экономит память и сводит к минимуму проблемы с синхронностью, сохраняя только одну копию содержимого на диске.

Наконец, я заметил, что этот метод приводит к потере рабочего стола из боковой панели / избранного. Восстановите ярлык в Избранном, перейдя в Finder к Dropbox и перетащив Рабочий стол на боковую панель. Обратите внимание, что значок рабочего стола на боковой панели будет заменен общим значком папки. Я пока не знаю, как восстановить этот значок (и это может быть невозможно).

Я приветствую любые предложения по улучшению этой техники - в частности, как вызвать все действия через командную строку или сохранить значок на боковой панели.

Эта техника, похоже, работает и для других специальных папок («Загрузки», «Документы» и т. Д.).

Джейсон Р. Кумбс
источник
+1. Не знаю, почему этот ответ не получает никакой любви. Я предпочитаю это другим подходам: символьные ссылки с рабочего стола на Dropbox означают, что он подписывается отдельно для каждой машины. Симлинкинг с Dropbox на рабочий стол выглядит так, как будто он работает на любом компьютере, на котором установлен Dropbox.
Эндрю Янке
1
Вот скрипт bash, который я написал для настройки синхронизации рабочего стола с использованием вашего подхода. gist.github.com/apjanke/98a3374177de2b61bec1494a29474266 . Я использовал его на нескольких машинах с OS X 10.9 и 10.11. Кажется, работает нормально. Он не обрабатывает значки папок. Похоже Rez/ Derezможет сделать это, для кого-то с большим количеством времени и мотивации.
Эндрю Янке