Library/Fonts ディレクトリを Dropbox 内のフォルダとシンボリック リンクしようとしています。これにより、必要なフォントがどのマシンにあるかをインストールして把握し続ける必要がなくなります。これを試すと:
ln -s Fonts/ ~/Library/Fonts
私はこのエラーを返します:
ln: /Users/Username/Library/Fonts/: File exists
システムに必要なため、フォルダーを削除できず、削除できません。
ln -s -F
リンクを作成する前に、元のターゲットを削除してリンクを強制的に作成します。
このメソッドは、ターゲット フォルダーが既にシンボリック リンクである場合にのみ機能します。
ln
OSX または BSD 由来の UNIX に同梱されている を使用する:
ln -s -h -F /source/folder/to/use /destination/folder/to/overwrite
ここが-h
鍵です。そうしないと、そのフォルダー内をトラバースするため、~/Library/Fonts/Fontsのようなものになってしまいます。そのフォルダー内に入ると競合が発生しないため、-F
単独では上書きしようとしません。
ln manpageの関連部分:
ln [-Ffhinsv] source_file ... target_dir
-s Create a symbolic link.
-h If the target_file or target_dir is a symbolic link, do not follow it.
This is most useful with the -f option, to replace a symlink which may
point to a directory.
-F If the target file already exists and is a directory, then remove it
so that the link may occur.
GNU coreutils ln
ユーザー:
パッケージ(linux、brew、macports など)のGNU ln
を使用している場合は、次を使用します。coreutils
-T
ln -sTf /source/folder/to/use /destination/folder/to/overwrite
さらに、GNU ln
を使用すると、通常のフォルダーを置き換えることができます。オプションのマンページを見て、-t
それを使用してターゲットフォルダーの親を指定します。
ln -sf -t /destination/folder/to/overwrite/.. /source/folder/to/use
親/..
ディレクトリ内の作成をターゲットにするために末尾が必要です。そのままにしておきます。
Dropbox ディレクトリから Fonts フォルダーを削除し (ファイルを別の場所に移動する必要があることは明らかです)、次のように入力します。
ln -s ~/Library/Fonts Fonts
その最後の Fonts ディレクトリの末尾は必要ないことに注意してください。/
コメントに対処するために編集:これが 1 つの /Library/Fonts フォルダーにのみリンクしていることは間違いありません。あるマシンでこれを試してから、他のマシンで試してみてください。
ln -s ~/Library/Fonts Fonts
)私はこれを試していないので、うまくいくかどうかはわかりませんが、害はないはずです.
確実に機能するもう 1 つの方法は、cron ジョブを設定して ~/Library/Fonts フォルダーに存在しないフォントを ~/Dropbox/Fonts フォルダーにコピーすることです。その逆も同様です。シンボリックリンクのトリックがうまくいくなら、それが好ましいと思います。