ホーム > 備忘録:PC・ソフト > 【備忘録:PC・ソフト】Linux MintでOneDriveをマルチアカウントで使う

【備忘録:PC・ソフト】Linux MintでOneDriveをマルチアカウントで使う

Linux Mint 19 CinnamonにOneDriveを入れたときのメモです。専門的見地からは??な部分があるかもしれません。またUbuntu系では同じやり方で大丈夫だと思いますし、CentOS、Fedoraなど他の系統のLinuxについても下記の資料1に記載があります。

インストール

複数の日本語の解説ページがありますが、一次資料は下記の1であるようです。

  1. https://github.com/abraunegg/onedrive
  2. https://manpages.ubuntu.com/manpages/disco/man1/onedrive.1.html

以下に具体的に実行する手順を記しますが、闇雲にやるのではなく、上記(とくに1)をしっかり読んで概要を把握した上で作業することが大切です。(入力文字列をコピー&ペーストする場合は、ブラウザ側でCtrl + Cでコピーし、Linuxの端末でCtrl + Shift + V で貼り付けます。「apt install」が含まれる行に「-y」を書き加えると、「これでよいかね?」といちいち質問されなくなります。)

sudo apt install build-essential
sudo apt install libcurl4-openssl-dev
sudo apt install libsqlite3-dev
sudo apt install pkg-config
sudo apt install git
sudo apt install curl

curl -fsS https://dlang.org/install.sh | bash -s dmd

ここで返されるメッセージ中に、”source ~/dlang/dmd-2.090.1/activate”を実行せよというメッセージが出てきます。バージョンにより「dmd-2.090.1」の数値が変わるそうなので、メッセージの当該箇所をコピー&ペーストして実行します。
↓↓↓↓↓↓↓↓↓↓

source ~/dlang/dmd-2.090.1/activate

git clone https://github.com/abraunegg/onedrive.git
cd onedrive
./configure
make clean; make;
sudo make install

上記の「source 云々」を実行した後のメッセージに、「一連の作業後にdeactivateしてね」と書いてあったので、このタイミングでやってみましたが問題ありませんでした。
↓↓↓↓↓↓↓↓↓↓

deactivate

これでインストール完了です。

設定と起動

以下、単一アカウントで使う場合とマルチアカウントで使う場合を分けて記すので、必要な方だけ見てください。またマルチアカウントのやり方で設定した場合でも単一アカウントで使えます。

単一のアカウントで使う場合

まずは設定ファイルを作ります。単一アカウントで使う場合は同期させるフォルダがデフォルトの「/home/(username)/OneDrive」のままでよいので、デフォルトのまま進みます。

mkdir -p ~/.config/onedrive
cp ./config ~/.config/onedrive/config
xed ~/.config/onedrive/config
(「xed」の部分は自分で使うエディタに起き舞えてください。)

ここまでで設定ファイルを準備できたので、いよいよonedriveの初期設定を開始します。

onedrive –config

これを入力するとURLが表示されるので、右クリックしてブラウザを起動するか、まるままコピーしてブラウザのURL欄にコピーして、OneDriveのサインイン画面に進み、アカウント名とパスワードを入力します。(ブラウザを使う作業の間、「onedrive –config」を実行している端末は開きっぱなしにしておきます。)

そうすると確認画面が出た後、ブラウザが真っ白になり、URL欄に文字列が表示されるので、これをまるごとコピーします。「onedrive –config」を実行している端末にURLを入力しろというメッセージが出ているので、Ctrl + Shift + V で貼り付け、エンターを入力します。

次に確認のため下記を入力します。(省略可)

onedrive –synchronize –verbose –dry-run

オプションは前から順に「同期せよ」、「おしゃべりにやれ(=起きていることをひとつひとつ画面で見せろ)」、「状況のデモを見せるだけにしてくれ」という意味なので、実際には同期は行われません。画面表示を見て、これで大丈夫だと思ったら、次を実行して本当に同期します。

onedrive –synchronize

↑↑↑は一回こっきりの同期で、ここで説明している一連の流れの中で省略しても大丈夫だろうと思いますが、やっておいて損はありません。

常に同期させるためには下記を実行します。

onedrive –monitor &

以下は自動起動の設定です。

systemctl –user enable onedrive

systemctl –user start onedrive

マルチアカウントで使う場合

考え方としては「上記の単一アカウントと異なり、アカウントごとに設定を作ってやる」ということなので、上記の設定ファイルをアカウントごとに作ることと、onedrive実行時にアカウントを示すオプションをつけてやるという作業です。

アカウントごとの設定ファイルを作るために、各アカウントで使う名前を決めます。たとえばMicrosoftのアカウントが「pokopen@hotmail.com」だったら、「Pokopen」など自分で間違えないものにしましょう。そして、以下のやり方でやれば、同期フォルダ名称はがデフォルトの「/home/(username)/OneDrivePokopen」となります。下準備として下記を実行します。

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

※2つめ以降のアカウントを作るときは、以下を繰り返します。

名前を決めたら、まず同期フォルダと設定ファイルをしまうフォルダを作ります。

mkdir ~/OneDrivePokopen

mkdir ~/.config/onedrivePokopen

アカウント専用の設定ファイルを作るために、元ファイルを上記にフォルダコピーし、アカウント専用にするための編集を始めます。

cp ~/.config/onedrive/config ~/.config/onedrivePokopen/

xed .config/onedrivePokopen/config

↑↑↑↑↑↑↑↑↑ エディタの画面の割と上の方に「# sync_dir = “~/OneDrive”」という行があります。これが同期フォルダを示しているので、「OneDrive」の部分を先に作成したフォルダ名(ここの例では「OneDrivePokopen」)に書き換え、先頭の「#」を削除します(「#」を残すと読み飛ばされるので、効力なし)。結果として、「 sync_dir = “~/OneDrivePokopen”」とないう一文になります。書き換えたら保存してエディタを終了します。

次はアカウント専用のサービス用の設定ファイルを作ります。

sudo cp /usr/lib/systemd/user/onedrive.service /usr/lib/systemd/user/onedrivePokopen.service

sudo xed /usr/lib/systemd/user/onedrivePokopen.service

↑↑↑↑↑↑↑↑↑ エディタの画面の中程に「ExecStart=/usr/local/bin/onedrive   –monitor」という行があるので、アカウント専用の設定ファイルを使うために必要な「–confdir=”~/.config/onedrivePokopen”」を加えて「ExecStart=/usr/local/bin/onedrive   –monitor –confdir=”~/.config/onedrivePokopen”」のようにしてから保存し、エディタを終了します。

いよいよ起動します。このときアカウント専用の設定ファイルを使うためのオプションをつける点が、単一アカウントの場合と異なります。(以下同様)

onedrive –confdir=”~/.config/onedrivePokopen”

そうすると確認画面が出た後、ブラウザが真っ白になり、URL欄に文字列が表示されるので、これをまるごとコピーします。「onedrive –confdir=”~/.config/onedrivePokopen” 」を実行している端末にURLを入力しろというメッセージが出ているので、Ctrl + Shift + V で貼り付け、エンターを入力します。

次に確認のため下記を入力します。(省略可)

onedrive –synchronize –verbose –dry-run –confdir=”~/.config/onedrivePokopen”

オプションは前から順に「同期せよ」、「おしゃべりしながらやれ(=起きていることをひとつひとつ画面で見せろ)」、「状況のデモを見せるだけにしてくれ」という意味なので、実際には同期は行われません。画面表示を見て、これで大丈夫だと思ったら、次を実行して本当に同期します。

onedrive –synchronize –confdir=”~/.config/onedrivePokopen”

↑↑↑は一回こっきりの同期で、ここで説明している一連の流れの中で省略しても大丈夫だろうと思いますが、やっておいて損はないと思います。

常に同期させるためには下記を実行します。

onedrive –monitor –confdir=”~/.config/onedrivePokopen” &

以下はサービスの登録です。

systemctl –user enable onedrivePokopen

systemctl –user start onedrivePokopen

上記をアカウントごとに繰り返せばよいのですが、直ちに次のアカウント設定に移るときは、このままではブラウザがOneDriveにサインインしたままになるのでうまく行きません。だから、ここでブラウザでOneDriveを開いて、サインアウトします。

補足

動いているかどうか心配になったら、端末から下記を実行してみてください。

ps aux | grep onedrive

以上。

*

Vectorworksベストテクニック100表紙←こんな本を書ける程度の知識は持ち合わせているし、30年以上前ですが「Oh!PC」やムック本などで自作プログラムが紹介されたこともあるので、上記は超アブナイ方法ではないと思っていますが、やはり自己責任でお願いします。

『VECTORWORKS ベストテクニック 100』

 

 

 

 

カテゴリー:備忘録:PC・ソフト
  1. まだコメントはありません。
  1. No trackbacks yet.

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。