Linux
 Computer >> コンピューター >  >> システム >> Linux

LinuxでMicrosoft OneDriveを同期する方法!CLIクライアント「onedrive」の使い方

LinuxでMicrosoft OneDriveを同期する方法!CLIクライアント「onedrive」の使い方

近年、プロプライエタリな製品を使わざるを得ない場面は少なくありません。オープンソース愛好家なら、クラウドストレージもオープンなものを選びたいところですが、現実にはGoogle、Amazon、Dropbox、Microsoftといった大手企業がクラウドストレージ市場をほぼ独占しています。これらのサービスは無料で信頼性の高い製品を提供する一方、法的要請への対応や広告配信のためにファイルをスキャン・読み取りする可能性があるのも事実です。しかし、だからといって利用を避ける必要はありません。

OneDriveはMicrosoftが提供するクラウドストレージサービスです。Windowsプラットフォーム向けに設計されていますが、少しの手間でLinuxマシンとも連携できます。連携方法はいくつかありますが、本記事ではCLIベースのクライアント「onedrive」を紹介します。

onedriveとは

onedriveは、OneDriveと素早く簡単に同期できるCLI(コマンドライン)ベースのクライアントです。

インストール前に、まず必要な依存パッケージとgitを導入しておきましょう(すでに導入済みなら不要です)。ターミナルを開いて、お使いのディストリビューションに応じて以下のコマンドを実行してください。

Ubuntuの場合:

sudo apt install libcurl4-openssl-dev git
sudo apt install libsqlite3-dev

Ubuntu 18.04以降を使用している場合は、snapdmdをインストールします。

sudo snap install --classic dmd && sudo snap install --classic dub

それより前のバージョンの場合は、次のコマンドを使用します。

sudo wget https://master.dl.sourceforge.net/project/d-apt/files/d-apt.list -O /etc/apt/sources.list.d/d-apt.list
sudo apt-get update && sudo apt-get -y --allow-unauthenticated install --reinstall d-apt-keyring
sudo apt-get update && sudo apt-get install dmd-compiler dub

Fedoraの場合:

sudo yum install libcurl-devel git
sudo yum install sqlite-devel
curl -fsS https://dlang.org/install.sh | bash -s dmd

Arch Linuxの場合:

sudo pacman -S curl sqlite dlang git

インストール手順

依存パッケージの準備ができたら、gitでソースファイルを取得します。

git clone https://github.com/abraunegg/onedrive.git

続いて、コンパイルしてインストールします。

cd onedrive
./configure
make
sudo make install

Microsoftアカウントの認証

インストールが完了したら、onedriveがあなたのアカウントへアクセスできるよう、Microsoftでの認証を行います。ターミナルで次のコマンドを実行してください。

onedrive

すると、認証用のURLにアクセスするよう促されます。

LinuxでMicrosoft OneDriveを同期する方法!CLIクライアント「onedrive」の使い方

OneDriveアカウントにログインし、アプリによるアカウントへのアクセスを許可します。

LinuxでMicrosoft OneDriveを同期する方法!CLIクライアント「onedrive」の使い方

許可が完了すると、真っ白なページが表示されます。このページのURLをコピーし、ターミナルの入力待ち画面に貼り付けてください。

LinuxでMicrosoft OneDriveを同期する方法!CLIクライアント「onedrive」の使い方

これで初期設定は完了です。

同期の実行

OneDriveのクラウド上のファイルをローカルフォルダへ同期するには、次のコマンドを実行します。

onedrive --synchronize

これにより、クラウド上のすべてのファイルがローカルフォルダへダウンロードされます。

また、ローカルフォルダの変更を監視して自動的に同期させたい場合は、次のコマンドを使用します。

onedrive --monitor

設定ファイルの編集

設定ファイル「config」は、onedriveのgitフォルダ内にあります。有効化するには、「~/.config/onedrive/」フォルダへ移動させましょう。

mkdir -p ~/.config/onedrive
cp ~/onedrive/config ~/.config/onedrive/config

configファイルを開くと、主に以下の3つの項目を設定できます。

  • sync_dir:OneDriveのファイルを保存する場所。このフォルダに追加・削除されたファイルはすべてクラウドと同期されます。
  • skip_files:同期対象から除外するファイルタイプ(またはファイルパターン)。
  • monitor_interval:同期処理の実行間隔。

変更を加えたら保存し、onedriveを再起動してください。

現在の設定内容は、いつでも次のコマンドで確認できます。

onedrive --display-config

LinuxでMicrosoft OneDriveを同期する方法!CLIクライアント「onedrive」の使い方

同期リスト(sync_list)で選択同期を行う

OneDriveフォルダ全体ではなく、特定のファイルやフォルダだけを同期したい場合は、「sync_list」という名前のファイルを作成し、「~/.config/onedrive」フォルダに配置します。ファイル内には、同期対象のファイル・フォルダへの相対パス(同期されたOneDriveフォルダからの相対パス)を記述してください。

ログイン時にonedriveを自動起動する

デフォルトでは、ユーザーがログインしてもonedriveは自動的に起動しません。ログイン時に自動実行したい場合は、スタートアップアプリケーションにonedrive --monitorを登録しておきましょう。

これで、OneDriveとLinuxシステムとの同期が実現します。あなたの環境ではどのようにOneDriveを同期していますか?別のツールをお好みの方も、ぜひコメント欄で教えてください。

※この記事は2019年3月に、動作するリポジトリの情報を追記して更新されました。

  1. Arch Linuxのインストール方法を徹底解説!初心者向けステップバイステップガイド

    UbuntuやLinux Mintとは異なり、Arch Linuxは「ローリングリリース」方式を採用したLinuxディストリビューションです。一度インストールしてしまえば、常に最新バージョンへと自動的にアップデートされ続けます。また、Arch Linuxは必要最小限の構成から始まるディストリビューションのため、システムに何をインストールするかを完全に自分でコントロールできるのも大きな魅力です。さらに、Linuxコミュニティ屈指の充実度を誇る「Arch Wiki」が存在する点も見逃せません。ただし、Arch Linuxで注意すべき点はそのインストールプロセスです。決して心臓の弱い方向けではありま

  2. Linux に Microsoft フォントをインストールする方法【aptコマンドで簡単導入】

    Arial、Verdana、Times New Roman——どの OS を使っていても、これらのフォントが使われた文書を受け取った経験がある人は多いはずです。Windows の標準フォントはあまりにも広く普及しているため、ウェブ上でも企業環境でも、そのいずれかに出会わない日はほとんどありません。 しかし、Microsoft のフォントはオープンソースライセンスではないため、Linux ディストリビューションには同梱されていません。標準で用意されている代替フォントである程度近い見た目を再現できますが、オリジナルのフォントが存在しないと、ウェブサイトや文書のレイアウトが崩れて表示されることもあり