Як синхронізувати робочий стіл OS X з Dropbox?


9

Як я можу синхронізувати всі мої файли на робочому столі з Dropbox, щоб мій робочий стіл все ще відчував, виглядав і працював як звичайний робочий стіл?


Будь ласка, будьте більш конкретними, чи говорите ви, що хочете призначити папку робочого столу місцем розташування вашої папки. Тому що я думаю, що найближчим до вас можна підійти - це розміщення папки "dropbox" всередині вашої робочої папки
rubixibuc

Якщо ви хочете, щоб у вас папка на робочому столі була скопійована, вони автоматично ви можете написати cron script, який повинен мати можливість робити це для вас щодня.
rubixibuc

як зробити сценарій?
epsilon8

Деякі з цих рішень здаються зверху. Особливо, оскільки в попередній установці Dropbox я встановив Desktop як фактичну папку Dropbox при встановленні. Тепер на новому хості OSX механізм налаштування наполягає на створенні папки під назвою Dropbox у вибраній папці. Було б корисніше встановити повну папку робочого столу безпосередньо як папку Dropbox на моєму підписаному акаунті Dropbox 50 Гб.

Ви не можете просто вийняти робочий стіл і замінити його на посилання на папку, що випадає?
houbysoft

Відповіді:


8

Використання дій папок

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

Потім відкрийте Automator.app і створіть нову дію папки . Угорі виберіть справжній робочий стіл.

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

До дії "Автоматизатор" додайте дії " Запуск сценарію оболонки" з лівої панелі. Вставте наступне.

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та видаліть цей рядок, а потім збережіть.


2
Ваші параметри символьного посилання зворотні:ln -s ~/Dropbox/Desktop ~/Desktop
user72923

+1 Символи по всьому шляху для "справжньої" прозорості.
Ерік Дункан

-1 Ця відповідь містить три окремі відповіді і повинна бути подана як така. Техніка symlink не працює, але натомість створює ~/Desktop/Desktopпапку, яка синхронізується, але все ж не вдається синхронізувати інший вміст у ~/Desktop.
Джейсон Р. Кумбс

@ JasonR.Coombs Ми фактично вважаємо за краще, щоб користувачі подавали одну відповідь, якщо це можливо. Я зняв частину симпосилання. Якщо у вас є краще рішення для символьних посилань, я буду вдячний, якщо ви можете опублікувати це.
slhck

Дякуємо @slhck. Я змінив свій голос за цю відповідь. Я склав ще одну відповідь на основі символьних посилань, але я ще не задоволений цим. Я сподіваюся опублікувати це в майбутньому.
Джейсон Р. Кумбс

3

Я віддаю перевагу методу symlink, але при налаштуванні додаткових Mac для спільного використання синхронізації він може стати складним.

По-перше, у мене є папка в Dropbox, присвячена "osx sync" ... наприклад: sync_osx

  • Перш ніж налаштувати симпосилання на новому Mac, я тимчасово "переміщую" папку Робочий стіл із sync_osx( але все ще всередині основної папки DropBox ).

  • Потім я відкриваю термінал і набираю:

    cd ~/Dropbox/sync_osx

    ln -s ~/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 і перейдіть до домашнього каталогу, виберіть Desktop, а потім отримайте інформацію про нього (⌘I). Виберіть піктограму папки у верхньому лівому куті та скопіюйте її у буфер обміну (⌘C). Далі відновіть піктограму папки «Настільний», перейшовши до папки «Dropbox / Desktop» у Finder, виклик «Отримати інформацію про неї», вибравши значок у верхньому правому куті та вставити піктограму, яку ви скопіювали раніше (⌘V).

Тепер ви готові видалити стару папку Робочий стіл.

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

sudo потрібно видалити цю папку, оскільки вона керується системою.

Потім створіть символічне посилання, щоб робочий стіл був доступний в обох місцях:

ln -s Dropbox/Desktop ~/Desktop

Вищеописана методика повинна працювати на першій машині, але і на наступних машинах, навіть якщо нові машини вже мають вміст на робочому столі (який об'єднується з розміщеною у хмарі копією). Це економить сховище і мінімізує проблеми синхронізації, зберігаючи лише одну копію вмісту на диску.

Нарешті, я помітив, що ця техніка призводить до втрати робочого столу із бічної панелі / вибраного. Відновіть ярлик у вибраному, перейшовши в Finder до Dropbox та перетягніть робочий стіл на бічну панель. Зауважте, що значок робочого столу на бічній панелі буде замінено загальним значком папки. Я ще не знаю способу відновити цю іконку (і це може бути неможливо).

Я вітаю будь-які пропозиції щодо вдосконалення цієї методики - зокрема, як викликати всі дії за допомогою командного рядка або збереження піктограми на бічній панелі.

Здається, ця методика працює і для інших спеціальних папок (Завантаження, Документи тощо).


+1. Не знаю, чому ця відповідь не викликає любові. Я вважаю за краще це перед іншими підходами: посилання від Desktop до Dropbox означає, що це ввімкнено на машині. Посилання з Dropbox на робочий стіл виглядає так, що воно буде натискати на будь-яку машину, на якій встановлено Dropbox.
Ендрю Янке

1
Ось базовий сценарій, який я написав для налаштування синхронізації на робочому столі, використовуючи ваш підхід. gist.github.com/apjanke/98a3374177de2b61bec1494a29474266 . Я використовував його на декількох машинах OS X 10.9 і 10.11. Здається, добре працює. Він не обробляє піктограми папок. Схоже Rez/ Derezможе це зробити для тих, хто має більше часу та мотивації.
Ендрю Янке
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.