### Setup and Installation Source: https://v2.tauri.app/ja/plugin/logging Instructions for installing and setting up the Tauri log plugin in your project. ```APIDOC ## Setup To begin, install the `log` plugin. ### Add Dependency Use your project's package manager to add the dependency: * **npm** ```bash npm run tauri add log ``` * **yarn** ```bash yarn run tauri add log ``` * **pnpm** ```bash pnpm tauri add log ``` * **deno** ```bash deno task tauri add log ``` * **bun** ```bash bun tauri add log ``` * **cargo** 1. In your `src-tauri` folder, run the following command to add the plugin to your project's dependencies in `Cargo.toml`: ```bash cargo add tauri-plugin-log ``` 2. Modify your `lib.rs` to initialize the added plugin: ```rust #[cfg_attr(mobile, tauri::mobile_entry_point)] pub fn run() { tauri::Builder::default() .plugin(tauri_plugin_log::Builder::new().build()) .run(tauri::generate_context!()) .expect("error while running tauri application"); } ``` 3. Install the "JavaScript Guest" bindings using your preferred JavaScript package manager: * **npm** ```bash npm install @tauri-apps/plugin-log ``` * **yarn** ```bash yarn add @tauri-apps/plugin-log ``` * **pnpm** ```bash pnpm add @tauri-apps/plugin-log ``` * **deno** ```bash deno add npm:@tauri-apps/plugin-log ``` * **bun** ```bash bun add @tauri-apps/plugin-log ``` ``` -------------------------------- ### Start Tauri App with Different Package Managers Source: https://v2.tauri.app/ja/start/frontend/qwik Starts the Tauri development server to preview your Qwik application as a desktop app. This command will build your frontend and launch the Tauri window. ```shell npm run tauri dev ``` ```shell yarn tauri dev ``` ```shell pnpm tauri dev ``` ```shell deno task tauri dev ``` -------------------------------- ### Create Tauri App with PowerShell Source: https://v2.tauri.app/ja/index Sets up a new Tauri project using a PowerShell script. This command downloads and executes the script to start the project creation process. ```powershell irm https://create.tauri.app/ps | iex ``` -------------------------------- ### Rust Usage Example Source: https://v2.tauri.app/ja/plugin/cli Illustrates how to initialize the Tauri application with the CLI plugin and access command-line matches within the `setup` function in a Rust environment. ```APIDOC ## Tauri Application Setup with CLI Plugin ### Description Initializes the Tauri application and configures the CLI plugin to access command-line arguments during the setup phase. ### Method N/A (Application Setup) ### Endpoint N/A ### Parameters None ### Request Example None ### Response #### Success Response (N/A) - **N/A** #### Response Example ```rust use tauri_plugin_cli::CliExt; #[cfg_attr(mobile, tauri::mobile_entry_point)] pub fn run() { tauri::Builder::default() .plugin(tauri_plugin_cli::init()) .setup(|app| { match app.cli().matches() { Ok(matches) => { println!("{:?}", matches); } Err(_) => {} } Ok(()) }) .run(tauri::generate_context!()) .expect("error while running tauri application"); } ``` ``` -------------------------------- ### HTTP Client Setup Source: https://v2.tauri.app/ja/plugin/http-client Instructions on how to install and set up the HTTP plugin for your Tauri project. ```APIDOC ## Setup First, install the "HTTP" plugin. Add the dependency using your project's package manager: * npm * yarn * pnpm * deno * bun * cargo ```bash npm run tauri add http ``` ```bash yarn run tauri add http ``` ```bash pnpm tauri add http ``` ```bash deno task tauri add http ``` ```bash bun tauri add http ``` ```bash cargo tauri add http ``` 1. Run the following command in your `src-tauri` folder to add this plugin to your project's dependencies in `Cargo.toml`: ```bash cargo add tauri-plugin-http ``` 2. Modify `lib.rs` to initialize the added plugin: ```rust #[cfg_attr(mobile, tauri::mobile_entry_point)] pub fn run() { tauri::Builder::default() .plugin(tauri_plugin_http::init()) .run(tauri::generate_context!()) .expect("error while running tauri application"); } ``` 3. If you plan to make http requests in JavaScript, also install the npm package: * npm * yarn * pnpm * deno * bun ```bash npm install @tauri-apps/plugin-http ``` ```bash yarn add @tauri-apps/plugin-http ``` ```bash pnpm add @tauri-apps/plugin-http ``` ```bash den o add npm:@tauri-apps/plugin-http ``` ```bash bun add @tauri-apps/plugin-http ``` ``` -------------------------------- ### Create Tauri App with Bun Source: https://v2.tauri.app/ja/index Sets up a new Tauri project using Bun, a fast JavaScript runtime, package manager, and bundler. This command utilizes Bun's create command. ```bash bun create tauri-app ``` -------------------------------- ### Create Tauri App with Bash Source: https://v2.tauri.app/ja/index Initiates a new Tauri project using a Bash script fetched from the create.tauri.app URL. This method is suitable for Unix-like environments. ```sh sh <(curl https://create.tauri.app/sh) ``` -------------------------------- ### Start New Qwik App with Various Package Managers Source: https://v2.tauri.app/ja/start/frontend/qwik Initiates a new Qwik project using different package managers. Ensure you navigate to the created project directory afterwards. This step is crucial for setting up the initial Qwik application structure. ```shell npm create qwik@latest cd ``` ```shell yarn create qwik@latest cd ``` ```shell pnpm create qwik@latest cd ``` ```shell deno run -A npm:create-qwik@latest cd ``` -------------------------------- ### Manage Autostart in Rust with Manager Source: https://v2.tauri.app/ja/plugin/autostart Illustrates how to manage autostart functionality in Rust using the Tauri Autostart plugin's manager. It shows how to get the manager, enable, check status, and disable autostart within the application's setup. ```rust #[cfg_attr(mobile, tauri::mobile_entry_point)] pub fn run() { tauri::Builder::default() .setup(|app| { #[cfg(desktop)] { use tauri_plugin_autostart::MacosLauncher; use tauri_plugin_autostart::ManagerExt; app.handle().plugin(tauri_plugin_autostart::init( MacosLauncher::LaunchAgent, Some(vec!["--flag1", "--flag2"]), )); // 「autostart マネージャー」を入手 let autostart_manager = app.autolaunch(); // autostart を有効化 let _ = autostart_manager.enable(); // 有効化状態を確認 println!("registered for autostart? {}", autostart_manager.is_enabled().unwrap()); // autostart を無効化 let _ = autostart_manager.disable(); } Ok(()) }) .run(tauri::generate_context!()) .expect("error while running tauri application"); } ``` -------------------------------- ### Create Tauri App with npm Source: https://v2.tauri.app/ja/index Initializes a new Tauri project using npm (Node Package Manager). This is a standard method for projects within the Node.js ecosystem. ```bash npm create tauri-app@latest ``` -------------------------------- ### Install Stronghold Plugin using bun Source: https://v2.tauri.app/ja/plugin/stronghold This command installs the Stronghold plugin for your Tauri project using bun. Ensure you have bun and Tauri installed. ```bash bun tauri add stronghold ``` -------------------------------- ### Install Snapcraft Source: https://v2.tauri.app/ja/distribute/snapcraft Installs the Snapcraft command-line tool with classic confinement, allowing it to access the system. ```bash sudo snap install snapcraft --classic ``` -------------------------------- ### Add Content to RPM Pre-Install Script Source: https://v2.tauri.app/ja/distribute/rpm Provides example content for a pre-installation script in an RPM package. This script runs before the package is installed and can access arguments passed during installation. ```shell echo "-------------" echo "This is pre" echo "Install Value: $1" echo "Upgrade Value: $1" echo "Uninstall Value: $1" echo "-------------" ``` -------------------------------- ### Install and Create Tauri App with Cargo Source: https://v2.tauri.app/ja/index Installs the Tauri CLI using Cargo (Rust's package manager) and then creates a new Tauri project. This is the primary method for Rust developers. ```bash cargo install create-tauri-app --locked cargo create-tauri-app ``` -------------------------------- ### Add Content to RPM Post-Install Script Source: https://v2.tauri.app/ja/distribute/rpm Provides example content for a post-installation script in an RPM package. This script executes after the package has been successfully installed. ```shell echo "-------------" echo "This is post" echo "Install Value: $1" echo "Upgrade Value: $1" echo "Uninstall Value: $1" echo "-------------" ``` -------------------------------- ### Create Tauri App with Fish Shell Source: https://v2.tauri.app/ja/index Generates a new Tauri application within the Fish shell environment. This command fetches the setup script and pipes it for execution. ```sh sh (curl -sSL https://create.tauri.app/sh | psub) ``` -------------------------------- ### ARM64 Windows 用 Tauri アプリケーションのビルド (bun) Source: https://v2.tauri.app/ja/distribute/windows-installer bun を使用して、ARM64 Windows マシン用に Tauri アプリケーションをビルドします。このコマンドは、指定された Rust ターゲット向けに実行可能ファイルをコンパイルします。事前に `rustup target add aarch64-pc-windows-msvc` で ARM64 ツールチェーンを追加し、Visual Studio Installer で C++ ARM64 build tools をインストールする必要があります。 ```bash bun tauri build --target aarch64-pc-windows-msvc ``` -------------------------------- ### Debug RPM Package Installation Issues Source: https://v2.tauri.app/ja/distribute/rpm Provides very verbose output during the installation or upgrade of an RPM package to help diagnose installation problems. Use 'rpm -ivvh' for new installations and 'rpm -Uvvh' for upgrades. Replace 'package_name.rpm' with the actual filename. ```bash rpm -ivvh package_name.rpm ``` ```bash rpm -Uvvh package_name.rpm ``` -------------------------------- ### Install Tauri Upload Plugin with npm Source: https://v2.tauri.app/ja/plugin/upload Installs the Tauri Upload plugin using npm. This command adds the plugin as a dependency to your Tauri project, preparing it for setup. ```bash npm run tauri add upload ``` -------------------------------- ### ARM64 Windows 用 Tauri アプリケーションのビルド (deno) Source: https://v2.tauri.app/ja/distribute/windows-installer deno を使用して、ARM64 Windows マシン用に Tauri アプリケーションをビルドします。このコマンドは、指定された Rust ターゲット向けに実行可能ファイルをコンパイルします。事前に `rustup target add aarch64-pc-windows-msvc` で ARM64 ツールチェーンを追加し、Visual Studio Installer で C++ ARM64 build tools をインストールする必要があります。 ```bash deno task tauri build --target aarch64-pc-windows-msvc ``` -------------------------------- ### Configure DMG Background Image Source: https://v2.tauri.app/ja/distribute/dmg Set a custom background image for the DMG installer window by specifying the path in the `tauri.conf.json` configuration file. This helps guide users during the installation process. ```json { "bundle": { "macOS": { "dmg": { "background": "./images/" } } } } ``` -------------------------------- ### Install JavaScript Guest Bindings for Autostart Plugin using bun Source: https://v2.tauri.app/ja/plugin/autostart Installs the JavaScript guest bindings for the Tauri Autostart plugin using bun. This allows you to interact with the plugin from your frontend JavaScript code. ```bash bun add @tauri-apps/plugin-autostart ``` -------------------------------- ### Install Tauri Autostart Plugin using deno Source: https://v2.tauri.app/ja/plugin/autostart Installs the Tauri Autostart plugin using deno. This command adds the plugin as a dependency to your Tauri project. ```bash deno task tauri add autostart ``` -------------------------------- ### Create Tauri App with Yarn Source: https://v2.tauri.app/ja/index Starts a new Tauri application using Yarn, a popular JavaScript package manager. This command is equivalent to the npm version for Yarn users. ```bash yarn create tauri-app ``` -------------------------------- ### ARM64 Windows 用 Tauri アプリケーションのビルド (npm) Source: https://v2.tauri.app/ja/distribute/windows-installer npm を使用して、ARM64 Windows マシン用に Tauri アプリケーションをビルドします。このコマンドは、指定された Rust ターゲット向けに実行可能ファイルをコンパイルします。事前に `rustup target add aarch64-pc-windows-msvc` で ARM64 ツールチェーンを追加し、Visual Studio Installer で C++ ARM64 build tools をインストールする必要があります。 ```bash npm run tauri build -- --target aarch64-pc-windows-msvc ``` -------------------------------- ### Install JavaScript Guest Bindings for Autostart Plugin using deno Source: https://v2.tauri.app/ja/plugin/autostart Installs the JavaScript guest bindings for the Tauri Autostart plugin using deno. This allows you to interact with the plugin from your frontend JavaScript code. ```bash deno add npm:@tauri-apps/plugin-autostart ``` -------------------------------- ### Install Tauri Autostart Plugin using bun Source: https://v2.tauri.app/ja/plugin/autostart Installs the Tauri Autostart plugin using bun. This command adds the plugin as a dependency to your Tauri project. ```bash bun tauri add autostart ``` -------------------------------- ### Check RPM Package Dependencies Source: https://v2.tauri.app/ja/distribute/rpm Lists the dependencies that an RPM package requires to be installed. Replace 'package_name.rpm' with the actual filename. ```bash rpm -qp --requires package_name.rpm ``` -------------------------------- ### package.json Scripts for Next.js and Tauri Source: https://v2.tauri.app/ja/start/frontend/nextjs Defines the necessary scripts in `package.json` for running Next.js development (`next dev`), building (`next build`), and starting (`next start`), alongside the Tauri command (`tauri`). These scripts facilitate the development and build workflow. ```json { "scripts": { "dev": "next dev", "build": "next build", "start": "next start", "lint": "next lint", "tauri": "tauri" } } ``` -------------------------------- ### Install JavaScript Guest Bindings for Autostart Plugin using npm Source: https://v2.tauri.app/ja/plugin/autostart Installs the JavaScript guest bindings for the Tauri Autostart plugin using npm. This allows you to interact with the plugin from your frontend JavaScript code. ```bash npm install @tauri-apps/plugin-autostart ``` -------------------------------- ### Install Base Snap Source: https://v2.tauri.app/ja/distribute/snapcraft Installs the 'core22' base snap, which provides common libraries and dependencies for applications. ```bash sudo snap install core22 ``` -------------------------------- ### Automated Update Check and Install in Rust Source: https://v2.tauri.app/ja/plugin/updater This Rust code sets up an automatic update check when the Tauri application starts. It leverages the `tauri-plugin-updater` to check for updates and installs them if found, followed by restarting the application. The `UpdaterExt` trait is used to access updater functionality. ```rust use tauri_plugin_updater::UpdaterExt; pub fn run() { tauri::Builder::default() .setup(|app| { let handle = app.handle().clone(); tauri::async_runtime::spawn(async move { update(handle).await.unwrap(); }); Ok(()) }) .run(tauri::generate_context!) .unwrap(); } async fn update(app: tauri::AppHandle) -> tauri_plugin_updater::Result<()> { if let Some(update) = app.updater()?.check().await? { let mut downloaded = 0; // あるいは、update.download()と update.install() を別々に呼び出すこともできます。 update .download_and_install( |chunk_length, content_length| { downloaded += chunk_length; println!("downloaded {downloaded} from {content_length:?}"); }, || println!("download finished"); }, ) .await?; println!("update installed"); app.restart(); } Ok(()) } ``` -------------------------------- ### Find Packages Depending on a Specific Package Source: https://v2.tauri.app/ja/distribute/rpm Lists all installed packages that depend on a specified package. Replace 'package_name.rpm' with the actual package name. ```bash rpm -q --whatrequires package_name.rpm ``` -------------------------------- ### Enable Autostart Source: https://v2.tauri.app/ja/plugin/autostart Enables the application to automatically start when the system boots. This functionality is available through both JavaScript and Rust. ```APIDOC ## POST /autostart/enable ### Description Enables auto-start for the application. This requires appropriate permissions. ### Method POST ### Endpoint /autostart/enable ### Request Body Not applicable ### Response #### Success Response (200) - **message** (string) - "Autostart enabled successfully." #### Response Example ```json { "message": "Autostart enabled successfully." } ``` ``` -------------------------------- ### Get RPM Package Information Source: https://v2.tauri.app/ja/distribute/rpm Retrieves general information about an RPM package, such as version, release, and architecture. Replace 'package_name.rpm' with the actual filename. ```bash rpm -qip package_name.rpm ``` -------------------------------- ### ARM64 Windows 用 Tauri アプリケーションのビルド (yarn) Source: https://v2.tauri.app/ja/distribute/windows-installer yarn を使用して、ARM64 Windows マシン用に Tauri アプリケーションをビルドします。このコマンドは、指定された Rust ターゲット向けに実行可能ファイルをコンパイルします。事前に `rustup target add aarch64-pc-windows-msvc` で ARM64 ツールチェーンを追加し、Visual Studio Installer で C++ ARM64 build tools をインストールする必要があります。 ```bash yarn tauri build --target aarch64-pc-windows-msvc ``` -------------------------------- ### Add Content to RPM Post-Remove Script Source: https://v2.tauri.app/ja/distribute/rpm Provides example content for a post-removal script in an RPM package. This script executes after the package has been uninstalled. ```shell echo "-------------" echo "This is postun" echo "Install Value: $1" echo "Upgrade Value: $1" echo "Uninstall Value: $1" echo "-------------" ``` -------------------------------- ### Add Content to RPM Pre-Remove Script Source: https://v2.tauri.app/ja/distribute/rpm Provides example content for a pre-removal script in an RPM package. This script runs before the package is uninstalled. ```shell echo "-------------" echo "This is preun" echo "Install Value: $1" echo "Upgrade Value: $1" echo "Uninstall Value: $1" echo "-------------" ``` -------------------------------- ### Install Tauri Autostart Plugin using npm Source: https://v2.tauri.app/ja/plugin/autostart Installs the Tauri Autostart plugin using npm. This command adds the plugin as a dependency to your Tauri project. ```bash npm run tauri add autostart ``` -------------------------------- ### List RPM Script Files Source: https://v2.tauri.app/ja/distribute/rpm Lists the files within the created RPM scripts directory, confirming the successful creation of pre/post installation and removal scripts. ```shell ls src-tauri/scripts/ ``` -------------------------------- ### Install Tauri Autostart Plugin using pnpm Source: https://v2.tauri.app/ja/plugin/autostart Installs the Tauri Autostart plugin using pnpm. This command adds the plugin as a dependency to your Tauri project. ```bash pnpm tauri add autostart ``` -------------------------------- ### Install JavaScript Guest Bindings for Autostart Plugin using pnpm Source: https://v2.tauri.app/ja/plugin/autostart Installs the JavaScript guest bindings for the Tauri Autostart plugin using pnpm. This allows you to interact with the plugin from your frontend JavaScript code. ```bash pnpm add @tauri-apps/plugin-autostart ``` -------------------------------- ### Configure RPM Scripts in Tauri Configuration Source: https://v2.tauri.app/ja/distribute/rpm Shows how to specify the paths to pre/post install and remove scripts within the Tauri configuration file (tauri.conf.json) for RPM packaging. ```json { "bundle": { "linux": { "rpm": { "epoch": 0, "files": {}, "release": "1", "preInstallScript": "/path/to/your/project/src-tauri/scripts/preinstall.sh", "postInstallScript": "/path/to/your/project/src-tauri/scripts/postinstall.sh", "preRemoveScript": "/path/to/your/project/src-tauri/scripts/preremove.sh", "postRemoveScript": "/path/to/your/project/src-tauri/scripts/postremove.sh" } } } } ``` -------------------------------- ### Create Tauri App with pnpm Source: https://v2.tauri.app/ja/index Generates a new Tauri project using pnpm (performant npm). This method is suitable for users who prefer pnpm for package management. ```bash pnpm create tauri-app ``` -------------------------------- ### ARM64 Windows 用 Tauri アプリケーションのビルド (pnpm) Source: https://v2.tauri.app/ja/distribute/windows-installer pnpm を使用して、ARM64 Windows マシン用に Tauri アプリケーションをビルドします。このコマンドは、指定された Rust ターゲット向けに実行可能ファイルをコンパイルします。事前に `rustup target add aarch64-pc-windows-msvc` で ARM64 ツールチェーンを追加し、Visual Studio Installer で C++ ARM64 build tools をインストールする必要があります。 ```bash pnpm tauri build --target aarch64-pc-windows-msvc ``` -------------------------------- ### Install JavaScript Guest Bindings for Autostart Plugin using yarn Source: https://v2.tauri.app/ja/plugin/autostart Installs the JavaScript guest bindings for the Tauri Autostart plugin using yarn. This allows you to interact with the plugin from your frontend JavaScript code. ```bash yarn add @tauri-apps/plugin-autostart ``` -------------------------------- ### Install Tauri Autostart Plugin using yarn Source: https://v2.tauri.app/ja/plugin/autostart Installs the Tauri Autostart plugin using yarn. This command adds the plugin as a dependency to your Tauri project. ```bash yarn run tauri add autostart ``` -------------------------------- ### Debug RPM Package Scripts Source: https://v2.tauri.app/ja/distribute/rpm Displays the pre-installation and post-installation scripts contained within an RPM package. This is useful for debugging installation logic. Replace 'package_name.rpm' with the actual filename. ```bash rpm -qp --scripts package_name.rpm ``` -------------------------------- ### ARM64 Windows 用 Tauri アプリケーションのビルド (cargo) Source: https://v2.tauri.app/ja/distribute/windows-installer cargo を使用して、ARM64 Windows マシン用に Tauri アプリケーションをビルドします。このコマンドは、指定された Rust ターゲット向けに実行可能ファイルをコンパイルします。事前に `rustup target add aarch64-pc-windows-msvc` で ARM64 ツールチェーンを追加し、Visual Studio Installer で C++ ARM64 build tools をインストールする必要があります。 ```bash cargo tauri build --target aarch64-pc-windows-msvc ``` -------------------------------- ### JavaScript Geolocation API Usage Source: https://v2.tauri.app/ja/plugin/geolocation Example of how to use the Geolocation plugin's JavaScript API in a Tauri application. It covers checking, requesting, getting current position, and watching position. ```javascript import { checkPermissions, requestPermissions, getCurrentPosition, watchPosition, } from '@tauri-apps/plugin-geolocation'; let permissions = await checkPermissions(); if ( permissions.location === 'prompt' || permissions.location === 'prompt-with-rationale' ) { permissions = await requestPermissions(['location']); } if (permissions.location === 'granted') { const pos = await getCurrentPosition(); await watchPosition( { enableHighAccuracy: true, timeout: 10000, maximumAge: 0 }, (pos) => { console.log(pos); } ); } ``` -------------------------------- ### Migrate Clipboard Plugin Usage (Rust Setup) Source: https://v2.tauri.app/ja/start/migrate/from-tauri-1 This Rust snippet shows how to integrate the `tauri-plugin-clipboard` into your Tauri application. It demonstrates initializing the plugin and using the clipboard manager within the `setup` closure. ```rust use tauri_plugin_clipboard::{ClipboardExt, ClipKind}; tauri::Builder::default() .plugin(tauri_plugin_clipboard::init()) .setup(|app| { app.clipboard().write(ClipKind::PlainText { label: None, text: "Tauri is awesome!".into(), })?; Ok(()) }) ``` -------------------------------- ### Create Tauri App with Deno Source: https://v2.tauri.app/ja/index Initializes a Tauri application using Deno, a modern runtime for JavaScript and TypeScript. This command leverages Deno's ability to run npm packages. ```bash deno run -A npm:create-tauri-app ``` -------------------------------- ### Update Core Plugin Permissions (Simplified) Source: https://v2.tauri.app/ja/start/migrate/from-tauri-2-beta Example of using the new 'core:default' permission set for simplified core plugin permissions in Tauri 2.0 RC. ```json ... "permissions": [ "core:default" ] ... ``` -------------------------------- ### npm で WebdriverIO CLI を追加 Source: https://v2.tauri.app/ja/develop/tests/webdriver/example/webdriverio npm を使用して WebdriverIO コマンドラインインターフェイスをプロジェクトに追加します。これは、WebdriverIO テストスイートのインストールと設定の最初のステップです。 ```bash npm install @wdio/cli ``` -------------------------------- ### Check for Updates with Tauri Updater API (JavaScript) Source: https://v2.tauri.app/ja/start/migrate/from-tauri-1 Example of using the JavaScript API for the Tauri Updater plugin to check for, download, and install updates. It also shows how to relaunch the application after an update. ```javascript import { check } from '@tauri-apps/plugin-updater'; import { relaunch } from '@tauri-apps/plugin-process'; const update = await check(); if (update?.available) { console.log(`Update to ${update.version} available! Date: ${update.date}`); console.log(`Release notes: ${update.body}`); await update.downloadAndInstall(); // requires the `process` plugin await relaunch(); } ``` -------------------------------- ### Install Snapd on Fedora Source: https://v2.tauri.app/ja/distribute/snapcraft Installs snapd on Fedora systems using dnf and enables classic snap support by creating a symbolic link. ```bash sudo dnf install snapd # Enable classic snap support sudo ln -s /var/lib/snapd/snap /snap ```