Đồng bộ hóa tùy chọn ứng dụng giữa nhiều máy Mac


7

Tôi có xu hướng giữ tất cả những thứ của tôi trong Dropbox. Bây giờ tôi đã mua một máy Mac thứ hai, tôi nghĩ rằng việc giữ các tùy chọn ứng dụng của mình trong Dropbox sẽ là một ý tưởng hay.

Tôi đã quản lý để đồng bộ hóa một số thư mục Hỗ trợ ứng dụng (tôi chỉ muốn các ứng dụng quan trọng hơn được đồng bộ hóa) bằng cách liên kết thư mục dùng chung trên Dropbox với liên kết trên máy Mac:

ln -s ~/Dropbox/SharedPrefs/AnApp ~/Library/Application Support/AnApp

bằng cách này, tôi đảm bảo rằng mọi bản dựng Sublime Text 2 tôi tạo trên một máy Mac sẽ được đồng bộ hóa trên máy Mac khác.

Nhưng tôi gặp khó khăn trong việc đồng bộ .plistcác tập tin thực tế . Tôi đã làm chính xác như trên (ví dụ là cho iTerm 2):

mv ~/Library/Preferences/com.googlecode.iterm2.plist ~/Dropbox/SharedPrefs/
ln -s ~/Dropbox/SharedPrefs/com.googlecode.iterm2.plist ~/Library/Preferences/com.googlecode.iterm2.plist

Vì vậy, bây giờ tôi có .plisttệp vật lý thực tế trên Dropbox và liên kết giữ chỗ trên máy Mac.

Nhưng điều này dường như không hoạt động: khi tôi thoát và mở lại iTerm (hoặc bất kỳ ứng dụng nào), nó không thể sử dụng liên kết tượng trưng để truy cập các tùy chọn trên Dropbox.

Tôi nên làm gì?

Tôi sẽ đánh giá cao mọi lời khuyên về cách giữ cho các tùy chọn ứng dụng được đồng bộ hóa giữa hai máy Mac; Tôi đang sử dụng cmd-line chỉ vì tôi đã quen với nó nhưng cũng là một tiện ích GUI ổn. Ngoài ra, một tiện ích không chỉ đồng bộ hóa thư mục Hỗ trợ ứng dụng , mà còn .plistscác nội dung được chia sẻ khác sẽ rất tuyệt!


Tôi đoán nếu iTerm không theo liên kết tượng trưng, ​​bạn sẽ phải đảm bảo rằng trên mỗi máy, tệp trong Dropbox là liên kết tượng trưng.
asmeker

Câu trả lời:


7

Mở tùy chọn và chọn hộp được đánh dấu "Tải tùy chọn từ thư mục khách hàng hoặc URL" "

Bạn có thể duyệt đến thư mục Dropbox của mình và nhấp vào "Lưu Cài đặt vào Thư mục"

thí dụ


Làm thế nào tôi có thể tắt tất cả điều này xin vui lòng!? Và tôi không thấy những gì bạn làm trong hệ thống prefs :-(
JRP Media

Đây là những ưu tiên của iTerm2. Ứng dụng đó đặc biệt có một tùy chọn cho vị trí ưu tiên. Làm thế nào bạn có thể đồng bộ hóa bất kỳ tùy chọn của ứng dụng?
Bluu

Tôi không biết bất kỳ phương pháp chung nào để đồng bộ tùy chọn ứng dụng cho TẤT CẢ các ứng dụng đã cài đặt. Bạn có thể thử hack symlink hoặc các ý tưởng khác được trình bày ở đây. Thật không may, những giải pháp đó có thể khá mong manh. Tôi đã có các cài đặt đồng bộ hóa kết quả tuyệt vời khi sử dụng chức năng dành riêng cho ứng dụng tích hợp (do nhà cung cấp ứng dụng cung cấp) hoặc thông qua các plugin dành riêng cho ứng dụng của bên thứ 3. ITerm2, VSCode và Sublime Text là những ví dụ tuyệt vời về các ứng dụng làm như vậy.
Kevin Ortman

1

Bạn có thể thiết lập một mục hành động thư mục theo dõi các thư mục có liên quan và chạy một Applescript sao chép các tệp tùy chọn có liên quan vào thư mục Dropbox khi thư mục thay đổi.

Một cách tiếp cận (tương tự) khác sẽ là viết một tác nhân khởi động:

 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 <plist version="1.0">
 <dict>
     <key>Label</key>
     <string>com.yourname.yourapp</string>
     <key>Program</key>
     <string>/Users/yourname/path/to/your/script</string>
     <key>ProgramArguments</key>
     <array>
         <string>script</string>
     </array>
     <key>WatchPaths</key>
     <array>
         <string>/path/to/preferencefile1.plist</string>
         <string>/path/to/preferencefile2.plist</string>
     </array>
 </dict>
 </plist>

Lưu tệp này dưới dạng tệp com.yourname.yourapp.plist sau đó sao chép tệp vào ~ / Library / LaunchAgents /. Tải nó trong launchd bằng cách sử dụng

launchctl load ~/Library/LaunchAgents/com.yourname.yourapp.plist

bắt đầu nó: launchctl bắt đầu com.yourname.yourapp

Bây giờ, tác nhân launchd sẽ chạy tập lệnh / Users / yourname / path / to / your / script mỗi khi "preferfile1.plist", "preferfile2.plist", v.v., được thay đổi.

Ví dụ: "script" có thể là thứ sao chép các tệp ưu tiên vào thư mục dropbox.

Một tác nhân khởi chạy khác nên được đặt trên máy kia để theo dõi các tệp trong thư mục dropbox và sao chép chúng vào đúng vị trí khi chúng thay đổi.


1

Xác nhận rằng câu trả lời của Kevin ở trên cũng hoạt động thông qua đồng bộ hóa iCloud Drive ở High Sierra.

Tôi đã làm như sau:

  1. Tạo thư mục có tên "Đồng bộ hóa" trực tiếp trong iCloud Drive (với tư cách là anh chị em với Tài liệu)
  2. Tạo một thư mục khác có tên iTerm2 trong Sync (có lẽ tôi sẽ làm điều này với các ứng dụng khác, do đó cấu trúc thư mục)
  3. Điểm iTerm2 ở đó thông qua Tùy chọn của nó. Nó sẽ hỏi bạn nếu bạn muốn đặt một bản sao hiện tại của tập tin plist ở đó.
  4. Lặp lại bước 3 trên tất cả các hệ thống khác mà bạn muốn sử dụng iTerm2

Lưu ý rằng có thể có một số độ trễ với đồng bộ hóa iCloud Drive, nhưng nó hoạt động.


0

Một cách khác, sẽ hữu ích cho các loại tệp hoặc chương trình khác, là sử dụng các liên kết cứng thay vì các liên kết tượng trưng. Sử dụng "ln" thay vì "ln -s". Coi chừng - một liên kết cứng rất khác so với một biểu tượng. Một liên kết sym chỉ là một con trỏ đến tập tin. Bạn có thể xóa liên kết và tập tin bị ảnh hưởng. Một liên kết cứng là một mục trùng lặp cho tệp trong thư mục của đĩa. Như thể tập tin thực sự ở hai nơi cùng một lúc. Một chương trình không thể cho biết bất kỳ sự khác biệt giữa hai. Nếu bạn rác liên kết, nó sẽ xóa tập tin thực tế. Chúng khác nhau đến mức sử dụng cùng một tên cho cả hai có lẽ không nên được thực hiện.


Một chương trình mở tệp không thể cho biết sự khác biệt giữa liên kết cứng hoặc liên kết mềm
Đánh dấu
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.