Emacsの設定ファイルをDropboxを用いて様々なOS間で同期できるように、OSのシンボリックリンク機能を利用してみます。
Contents
環境変数HOME
EmacsはWindows版、Linux版ともに環境変数HOMEに設定されたディレクトリの設定ファイルを読み込みます。
今回はシンボリックリンクを利用して環境変数HOMEと設定ファイルを対応づけます。
シンボリックリンクとは
シボリックリンクとはWindowsのショートカット機能と似たような機能です。
シンボリックリンクとは、OSのファイルシステムの機能の一つで、特定のファイルやディレクトリを指し示す別のファイルを作成し、それを通じて本体を参照できるようにする仕組み。リンクは本体と同じディレクトリに置いても良いが、通常は別の場所から参照できるようにするために作成される。UNIX系OSでよく用いられるもので、Windowsでも利用することができる。
シンボリックリンクはコマンドプロンプトやターミナルを管理者権限で実行することで作成できます。
環境の確認
今回の私のWindowsとLinuxの環境はこのような感じです。
Windows環境
// 設定ファイルのディレクトリ "D:\Dropbox\Software\Windows\Data\Emacs\.emacs.d" // 環境変数HOME > echo %HOME% "C:\Users\%USERNAME%"
Linux環境
// 設定ファイル $ ls ~/Dropbox/Software/Data/Emacs/ emacs.d // 環境変数HOME $ echo $HOM E /home/hiyoshi
シンボリックリンクの作成
Windows環境
C:\Users\%USERNAME%>dir C:\Users\%USERNAME% のディレクトリ 2016/09/12 01:49 <DIR> . 2016/09/12 01:49 <DIR> .. 2016/09/03 17:12 <DIR> Contacts 2016/09/10 22:09 <DIR> Desktop 2016/09/07 23:14 <DIR> Documents 2016/09/12 00:04 <DIR> Downloads 2016/09/03 17:12 <DIR> Favorites 2016/09/03 13:33 <DIR> Intel 2016/09/03 17:12 <DIR> Links 2016/09/03 17:12 <DIR> Music 2016/09/10 21:58 <DIR> OneDrive 2016/09/03 19:39 <DIR> Pictures 2016/09/11 22:00 <DIR> Videos 5 個のファイル 8,617 バイト 18 個のディレクトリ 166,029,877,248 バイトの空き領域 C:\Users\%USERNAME%> mklink /d "C:\Users\%USERNAME%\.emacs.d" "D:\Dropbox\Software\Windows\Data\Emacs\.emacs.d" C:\Users\%USERNAME%\.emacs.d <<===>> D:\Dropbox\Software\Windows\Data\Emacs\.emacs.d のシンボリック リンクが作成されました C:\Users\%USERNAME%>dir C:\Users\%USERNAME% のディレクトリ 2016/09/12 01:49 <DIR> . 2016/09/12 01:49 <DIR> .. 2016/09/12 02:02.emacs.d [D:\Dropbox\Software\Windows\Data\Emacs\.emacs.d] 2016/09/03 17:12 <DIR> Contacts 2016/09/10 22:09 <DIR> Desktop 2016/09/07 23:14 <DIR> Documents 2016/09/12 00:04 <DIR> Downloads 2016/09/03 17:12 <DIR> Favorites 2016/09/03 13:33 <DIR> Intel 2016/09/03 17:12 <DIR> Links 2016/09/03 17:12 <DIR> Music 2016/09/10 21:58 <DIR> OneDrive 2016/09/03 19:39 <DIR> Pictures 2016/09/11 22:00 <DIR> Videos 5 個のファイル 8,617 バイト 18 個のディレクトリ 166,029,877,248 バイトの空き領域
シンボリックリンクの作成ディレクトリに同名のフォルダがあると、シンボリックリンクの作成に失敗します。
シンボリックリンクの作成が成功するとリンク成功のメッセージが表示されます。
NTEmacsを起動して無事に設定が反映されていれば成功です。
Linux環境
// 設定ファイルなし $ ls -a . .ICEauthority .bash_logout .bashrc .config .dropbox-dist .gnome .mozilla Desktop Downloads Music Public Videos .. .bash_history .bash_profile .cache .dropbox .esd_auth .local .pki Documents Dropbox Pictures Templates // シンボリックリンクの作成 $ sudo ln -s ~/Dropbox/Software/Data/Emacs/.emacs.d/ ~/ // 設定ファイル確認 $ ls -la ~ drwx------. 19 hiyoshi hiyoshi 4096 5月 5 17:22 . drwxr-xr-x. 3 root root 21 5月 4 02:01 .. lrwxrwxrwx. 1 root root 51 5月 5 17:13 .emacs.d -> /home/hiyoshi/Dropbox/Software/Data/Emacs/.emacs.d/
無事Windows/Linuxともにしんぼリックリンクを作成でき、Emacsの設定ファイルが共有できました。
この記事を読んだ人はこんな記事も読んでいます。
Emacsの設定ファイルとシンボリックリンクの作成