Rekka's Emacs 2016

Emacsの設定ファイルをDropboxを用いて様々なOS間で同期できるように、OSのシンボリックリンク機能を利用してみます。

環境変数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の設定ファイルとシンボリックリンクの作成
Tagged on:         

コメントを残す