OS のログイン時にアプリを自動起動させるための tauri-plugin-autostart プラグインの使用方法です。
1. モジュールのインストール
npm run tauri add autostart
2. Permissions (権限) の設定
src-tauri/capabilities/default.json に以下の権限を追加します。
{
"permissions": [
"autostart:allow-enable",
"autostart:allow-disable",
"autostart:allow-is-enabled",
...
]
}
3. Rust 側の設定
src-tauri/src/lib.rs でプラグインを初期化します。tauri_plugin_autostart::Builder を使用して設定を行います。
#[cfg_attr(mobile, tauri::mobile_entry_point)]
pub fn run() {
tauri::Builder::default()
.plugin(tauri_plugin_autostart::Builder::new()
.args(["--flag1", "--flag2"]) // 起動時に渡す引数
// .app_name("My Custom Name") // 必要に応じてアプリ名を指定可能
.build())
.run(tauri::generate_context!())
.expect("error while running tauri application");
}
引数(args)には自動起動時に渡したいコマンドライン引数を指定できます。
4. 自動起動の制御 (Frontend)
フロントエンドから自動起動の有効/無効を切り替えます。
import { enable, isEnabled, disable } from '@tauri-apps/plugin-autostart';
// 現在の状態を確認
const active = await isEnabled();
console.log('Auto start enabled:', active);
// 有効化
if (!active) {
await enable();
}
// 無効化
// await disable();
5. Rust 側での制御 (Optional)
Rust 側から自動起動の状態を操作することも可能です。
use tauri_plugin_autostart::ManagerExt;
// setup 内などで
let autostart_manager = app.autolaunch();
// 有効化
let _ = autostart_manager.enable();
// 無効化
let _ = autostart_manager.disable();
// 状態確認
println!("registered for autostart? {}", autostart_manager.is_enabled().unwrap());
注意点
- 開発中の動作について: 開発モード(
npm run tauri dev)では自動起動の登録自体は成功する場合がありますが、実際に起動されるパスが開発用のものになるため、意図した通りに動作しないことがあります。必ずリリースビルド(インストーラー経由)でインストールしたアプリで動作確認を行ってください。 - 引数の指定:
Builderのargsメソッドで指定した引数は、自動起動された際にアプリに渡されます。