サービスとしての運用

ふだんの SyncThemAll はアプリです。開けば動き、閉じれば止まります。サービスモードはこれをマシンの一部に変えます。コンピュータと一緒に、誰かがログインするより前に起動し、ウィンドウもユーザーセッションもない状態でルーチンを実行し続けます。

予備のコンピュータを小さな同期サーバーに変えるのが、この機能です。

まず、本当に必要ですか

たいていのユーザーには不要で、より手軽な選択肢はすでにアプリの中にあります。ここでは異なる 2 つのことが混同されがちです。

やりたいこと推奨されるオプション
ログインしている間は同期が続いてほしい。ただしウィンドウは開けたままにしたくないログイン時の自動起動 — 設定 → システム → バックグラウンドで実行 と ログイン時に起動。無料、管理者権限も設定も不要。
誰もログインしていないときでも同期を続けたい。マシンが勝手に再起動しても動き続けてほしいサービスモード — このページの内容です。Business ライセンスが必要です。

上の行が当てはまるなら、その 2 つのスイッチを入れれば十分で、ここから先は読む必要がありません。サービスは、誰も前に座っていない状態で働くコンピュータのためのものです。

実際にインストールされるもの

各プラットフォームにネイティブな方法で登録される、正真正銘の OS サービスです。

OS仕組み名前
Windowsサービス(SCM)、スタートアップの種類は自動SyncThemAllService
macOS/Library/LaunchDaemons の LaunchDaemoncom.neowise.syncthemall.service
Linuxsystemd ユニット、WantedBy=multi-user.targetsyncthemall.service

コンピュータと一緒に起動し、異常終了した場合は自動的に再起動します。インストール・開始・停止・削除にはいずれも管理者権限が必要で、アプリは必要になったその瞬間にだけ権限を求めます。

インストール

左側のサイドバーでサービスを開き、サービスとしてインストールを押します。管理者の確認に応じてください。

サービスはインストール直後に自動的に起動します。実行状態になると、状態の行にポート 8328 で実行中と表示されます。アプリ自身の 8327 とは別のポートです。両方を同時に実行できるため、それぞれに固有のポートが必要です。

インストール時にチェックボックスが 1 つあります。アカウントをすぐにサービスへコピーする。特別な理由がない限りオンのままにしてください。サービスがなぜ自分用のコピーを必要とするかは、この下で説明します。

ライセンスは自動的にサービスへ引き継がれます。二重にアクティベートする必要はありません。ライセンスはマシンに結び付いており、サービスは同じマシンの上にあるからです。

macOS では、必須の追加手順が 1 つあります。ファイルへのアクセス権は、あなたが手動でサービスに付与します。アプリはインストール前に注意を促し、macOS サービスによるファイルへのアクセスがその理由と手順を説明します。

サービスが独自のアカウントとルーチンを持つ理由

そうするほかないからです。サービスは誰もログインしていない状態で実行されるため、あなた個人のユーザープロファイルの中にあるデータにはアクセスできません。そこでマシン単位の独自の保管場所を持ちます。

  • Windows — %ProgramData%\Neowise\SyncThemAll\service
  • macOS — /Library/Application Support/Neowise/SyncThemAll/service
  • Linux — /var/lib/neowise/syncthemall

アカウントも、ルーチンも、暗号鍵も別物です。だからこそ、作業の引き継ぎは自動的に起きることではなく、明示的な手順になっています。

作業をサービスへ移す

サービスのダイアログのデータの移行にあります。

アカウントをサービスにコピー — クラウド接続はコピーされます。あなたのセッションにもそのまま残るので、アプリはこれまでどおり動きます。両方からクラウドに接続できます。

ルーチンをサービスに移動 — ルーチンは移動され、あなたのセッションからは削除されます。これは意図的で、あえてコピーにしていません。スケジュール実行のルーチンが両方に存在すると 2 回実行され、同じファイルを 2 度転送してしまうからです。移動したルーチンが必要とするアカウントは、自動的に一緒にコピーされます。

日々の操作

すべて同じダイアログにまとまっています。左側のサイドバーのサービスです。

  • 開始 / 停止 — サービスはインストールされたままで、停止は一時停止させるだけです。
  • アンインストール — サービスを OS から取り除きます。
  • サービスに切り替え — このウィンドウの接続先を自分のセッションからサービスへ向け、そのルーチンや履歴を見られるようにします。ウィンドウのタイトルに**(サービス)**が付くので、どちらを見ているか常に分かります。
  • サービスウィンドウを開く — 同じ画面を 2 つ目のウィンドウで、自分の画面と並べて表示します。

サービスがインストールされると、サイドバーのアイコンに小さな状態ランプが付きます。緑は実行中、オレンジはインストール済みだが停止中を意味します。

管理操作は自分のセッションからのみ行えます。サービスを見ているときに使えるのは状態の確認と、自分のセッションへ戻ることだけです。サービス自身のウィンドウからサービスを止めるのは、そのウィンドウを描いているものまで止めてしまうことになるからです。

取り除くとき

アンインストールは、OS へのサービス登録を取り消し、サービスを停止します。データは残ります。サービス自身のアカウントとルーチンは上に挙げたフォルダに残るので、入れ直せば続きから使えます。

完全に消したい場合は、アンインストール後にそのフォルダを自分で削除してください。管理者権限が要る操作であり、だからこそアプリが黙って代行することはありません。

うまくいかないとき

インストール直後なのに「未インストール」と表示される。 数秒待ってください。アプリは OS の確認を待っており、その後自動的に更新されます。それでも変わらない場合はインストールが完了していません。もう一度試し、管理者の確認表示を見逃さないようにしてください。

自分のフォルダで「Permission denied」が出る(macOS)。 想定された動作であり、1 分で解決できます。macOS サービスによるファイルへのアクセスをご覧ください。

サービスは実行中なのに何も同期しない。 サービスは独自のルーチンを持ちます。ルーチンを移し終えているか、そのルーチンが必要とするアカウントがサービス側のアカウント一覧にあるかを確認してください。

まだ問題が解決しませんか? OS と、サービスのダイアログの表示内容を添えてお問い合わせください。たいていはその 2 つで原因がすぐ分かります。