|
90 | 90 | </li> |
91 | 91 | <li class="toctree-l1 current"><a class="reference internal current" href="#">Kiosk mode</a> |
92 | 92 | <ul class="current"> |
93 | | - <li class="toctree-l2"><a class="reference internal" href="#autostart-on-pi-os-bookworm-waylandlabwc-by-default">Autostart on Pi OS Bookworm (Wayland/labwc by default)</a> |
| 93 | + <li class="toctree-l2"><a class="reference internal" href="#firefox">Firefox</a> |
| 94 | + <ul> |
| 95 | + <li class="toctree-l3"><a class="reference internal" href="#basic-kiosk-mode">Basic Kiosk Mode</a> |
94 | 96 | </li> |
95 | | - <li class="toctree-l2"><a class="reference internal" href="#autostart-on-pi-os-bullseye-and-earlier">Autostart on Pi OS Bullseye and earlier</a> |
| 97 | + </ul> |
| 98 | + </li> |
| 99 | + <li class="toctree-l2"><a class="reference internal" href="#chrome-chromium">Chrome / Chromium</a> |
| 100 | + <ul> |
| 101 | + <li class="toctree-l3"><a class="reference internal" href="#basic-kiosk-mode_1">Basic Kiosk Mode</a> |
| 102 | + </li> |
| 103 | + <li class="toctree-l3"><a class="reference internal" href="#recommended-kiosk-flags">Recommended Kiosk Flags</a> |
| 104 | + </li> |
| 105 | + </ul> |
| 106 | + </li> |
| 107 | + <li class="toctree-l2"><a class="reference internal" href="#raspberry-pispecific-options">Raspberry Pi–Specific Options</a> |
| 108 | + <ul> |
| 109 | + <li class="toctree-l3"><a class="reference internal" href="#wayland-recommended-on-newer-raspberry-pi-os">Wayland (Recommended on Newer Raspberry Pi OS)</a> |
| 110 | + </li> |
| 111 | + <li class="toctree-l3"><a class="reference internal" href="#x11-legacy-fallback">X11 (Legacy / Fallback)</a> |
| 112 | + </li> |
| 113 | + </ul> |
| 114 | + </li> |
| 115 | + <li class="toctree-l2"><a class="reference internal" href="#full-example-raspberry-pi-wayland">Full Example (Raspberry Pi + Wayland)</a> |
| 116 | + </li> |
| 117 | + <li class="toctree-l2"><a class="reference internal" href="#example-desktop-file">Example .desktop File</a> |
| 118 | + <ul> |
| 119 | + <li class="toctree-l3"><a class="reference internal" href="#photoboothdesktop">photobooth.desktop</a> |
| 120 | + </li> |
| 121 | + <li class="toctree-l3"><a class="reference internal" href="#raspberry-pi-wayland-variant-exec-line-only">Raspberry Pi Wayland Variant (Exec Line Only)</a> |
| 122 | + </li> |
| 123 | + <li class="toctree-l3"><a class="reference internal" href="#raspberry-pi-x11-variant-exec-line-only">Raspberry Pi X11 Variant (Exec Line Only)</a> |
| 124 | + </li> |
| 125 | + </ul> |
| 126 | + </li> |
| 127 | + <li class="toctree-l2"><a class="reference internal" href="#installation-locations">Installation Locations</a> |
| 128 | + </li> |
| 129 | + <li class="toctree-l2"><a class="reference internal" href="#system-wide-autostart-with-xdg">System-Wide Autostart with XDG</a> |
| 130 | + </li> |
| 131 | + <li class="toctree-l2"><a class="reference internal" href="#autostart-on-raspberry-pi-os-bookworm-wayland">Autostart on Raspberry Pi OS Bookworm (Wayland)</a> |
| 132 | + <ul> |
| 133 | + <li class="toctree-l3"><a class="reference internal" href="#labwc-default">labwc (default)</a> |
| 134 | + </li> |
| 135 | + <li class="toctree-l3"><a class="reference internal" href="#wayfire">Wayfire</a> |
| 136 | + </li> |
| 137 | + </ul> |
96 | 138 | </li> |
97 | 139 | </ul> |
98 | 140 | </li> |
|
168 | 210 |
|
169 | 211 | <h1 id="enable-kiosk-mode">Enable kiosk mode</h1> |
170 | 212 | <p>Use the Photobooth Setup Wizard first: <strong>7 Misc → 1 Autostart and shortcut</strong>. If you need manual steps, use the OS-specific guidance below.</p> |
171 | | -<h2 id="autostart-on-pi-os-bookworm-waylandlabwc-by-default">Autostart on Pi OS Bookworm (Wayland/labwc by default)</h2> |
172 | | -<p>Create <code>~/.config/labwc/autostart</code> (or add to the existing <code>[autostart]</code> section):</p> |
173 | | -<pre><code>[autostart] |
174 | | -chromium --kiosk --disable-features=Translate --noerrdialogs --disable-infobars --no-first-run --ozone-platform=wayland --touch-events=enabled --start-maximized http://localhost |
| 213 | +<hr /> |
| 214 | +<h2 id="firefox">Firefox</h2> |
| 215 | +<h3 id="basic-kiosk-mode">Basic Kiosk Mode</h3> |
| 216 | +<pre><code>firefox --kiosk http://localhost |
| 217 | +</code></pre> |
| 218 | +<p><strong>Notes</strong></p> |
| 219 | +<ul> |
| 220 | +<li>Launches Firefox fullscreen</li> |
| 221 | +<li>Hides UI elements and prevents normal window controls</li> |
| 222 | +</ul> |
| 223 | +<hr /> |
| 224 | +<h2 id="chrome-chromium">Chrome / Chromium</h2> |
| 225 | +<p>Use <code>chromium</code> or <code>google-chrome</code> depending on your distribution/installed package.</p> |
| 226 | +<h3 id="basic-kiosk-mode_1">Basic Kiosk Mode</h3> |
| 227 | +<pre><code>chromium --kiosk http://localhost |
| 228 | +</code></pre> |
| 229 | +<hr /> |
| 230 | +<h3 id="recommended-kiosk-flags">Recommended Kiosk Flags</h3> |
| 231 | +<pre><code>chromium \ |
| 232 | + --kiosk http://localhost \ |
| 233 | + --noerrdialogs \ |
| 234 | + --disable-infobars \ |
| 235 | + --disable-features=Translate \ |
| 236 | + --no-first-run \ |
| 237 | + --check-for-update-interval=31536000 \ |
| 238 | + --touch-events=enabled \ |
| 239 | + --password-store=basic |
| 240 | +</code></pre> |
| 241 | +<p><strong>Flag Descriptions</strong></p> |
| 242 | +<table> |
| 243 | +<thead> |
| 244 | +<tr> |
| 245 | +<th>Flag</th> |
| 246 | +<th>Purpose</th> |
| 247 | +</tr> |
| 248 | +</thead> |
| 249 | +<tbody> |
| 250 | +<tr> |
| 251 | +<td><code>--kiosk</code></td> |
| 252 | +<td>Fullscreen kiosk mode</td> |
| 253 | +</tr> |
| 254 | +<tr> |
| 255 | +<td><code>--noerrdialogs</code></td> |
| 256 | +<td>Suppresses crash and error dialogs</td> |
| 257 | +</tr> |
| 258 | +<tr> |
| 259 | +<td><code>--disable-infobars</code></td> |
| 260 | +<td>Hides automation and warning banners</td> |
| 261 | +</tr> |
| 262 | +<tr> |
| 263 | +<td><code>--disable-features=Translate</code></td> |
| 264 | +<td>Disables translation prompts</td> |
| 265 | +</tr> |
| 266 | +<tr> |
| 267 | +<td><code>--no-first-run</code></td> |
| 268 | +<td>Skips first-run UI</td> |
| 269 | +</tr> |
| 270 | +<tr> |
| 271 | +<td><code>--check-for-update-interval=31536000</code></td> |
| 272 | +<td>Effectively disables update checks</td> |
| 273 | +</tr> |
| 274 | +<tr> |
| 275 | +<td><code>--touch-events=enabled</code></td> |
| 276 | +<td>Enables touchscreen input</td> |
| 277 | +</tr> |
| 278 | +<tr> |
| 279 | +<td><code>--password-store=basic</code></td> |
| 280 | +<td>Avoids dependency on desktop keyrings</td> |
| 281 | +</tr> |
| 282 | +</tbody> |
| 283 | +</table> |
| 284 | +<hr /> |
| 285 | +<h2 id="raspberry-pispecific-options">Raspberry Pi–Specific Options</h2> |
| 286 | +<h3 id="wayland-recommended-on-newer-raspberry-pi-os">Wayland (Recommended on Newer Raspberry Pi OS)</h3> |
| 287 | +<pre><code>chromium \ |
| 288 | + --kiosk http://localhost \ |
| 289 | + --ozone-platform=wayland \ |
| 290 | + --start-maximized |
175 | 291 | </code></pre> |
176 | | -<p>For Wayland/Wayfire, edit <code>~/.config/wayfire.ini</code>:</p> |
177 | | -<pre><code>[autostart] |
178 | | -chromium = chromium-browser --kiosk --disable-features=Translate --noerrdialogs --disable-infobars --no-first-run --ozone-platform=wayland --touch-events=enabled --start-maximized http://localhost |
| 292 | +<p><strong>Notes</strong></p> |
| 293 | +<ul> |
| 294 | +<li><code>--ozone-platform=wayland</code> enables native Wayland support</li> |
| 295 | +<li><code>--start-maximized</code> ensures correct initial sizing</li> |
| 296 | +</ul> |
| 297 | +<hr /> |
| 298 | +<h3 id="x11-legacy-fallback">X11 (Legacy / Fallback)</h3> |
| 299 | +<pre><code>chromium \ |
| 300 | + --kiosk http://localhost \ |
| 301 | + --use-gl=egl |
179 | 302 | </code></pre> |
180 | | -<h2 id="autostart-on-pi-os-bullseye-and-earlier">Autostart on Pi OS Bullseye and earlier</h2> |
181 | | -<p>Create <code>/etc/xdg/autostart/photobooth.desktop</code>:</p> |
| 303 | +<p><strong>Notes</strong></p> |
| 304 | +<ul> |
| 305 | +<li><code>--use-gl=egl</code> improves GPU acceleration on Raspberry Pi under X11</li> |
| 306 | +</ul> |
| 307 | +<hr /> |
| 308 | +<h2 id="full-example-raspberry-pi-wayland">Full Example (Raspberry Pi + Wayland)</h2> |
| 309 | +<pre><code>chromium \ |
| 310 | + --kiosk http://localhost \ |
| 311 | + --noerrdialogs \ |
| 312 | + --disable-infobars \ |
| 313 | + --disable-features=Translate \ |
| 314 | + --no-first-run \ |
| 315 | + --check-for-update-interval=31536000 \ |
| 316 | + --touch-events=enabled \ |
| 317 | + --password-store=basic \ |
| 318 | + --ozone-platform=wayland \ |
| 319 | + --start-maximized |
| 320 | +</code></pre> |
| 321 | +<hr /> |
| 322 | +<h2 id="example-desktop-file">Example <code>.desktop</code> File</h2> |
| 323 | +<p>The following example assumes:</p> |
| 324 | +<ul> |
| 325 | +<li>Application name: <strong>Photobooth</strong></li> |
| 326 | +<li>The icon (<code>photobooth</code>) was installed by the SetupWizard</li> |
| 327 | +<li>Chromium is used as the kiosk browser</li> |
| 328 | +</ul> |
| 329 | +<h3 id="photoboothdesktop"><code>photobooth.desktop</code></h3> |
182 | 330 | <pre><code>[Desktop Entry] |
183 | 331 | Version=1.3 |
184 | | -Terminal=false |
185 | 332 | Type=Application |
186 | 333 | Name=Photobooth |
187 | | -Exec=chromium-browser --noerrdialogs --disable-infobars --disable-features=Translate --no-first-run --check-for-update-interval=31536000 --kiosk http://localhost --touch-events=enabled --use-gl=egl |
188 | | -Icon=/var/www/html/resources/img/favicon-96x96.png |
189 | | -StartupNotify=false |
| 334 | +Comment=Photobooth Kiosk Application |
190 | 335 | Terminal=false |
| 336 | +Exec=chromium --kiosk http://localhost \ |
| 337 | + --noerrdialogs \ |
| 338 | + --disable-infobars \ |
| 339 | + --disable-features=Translate \ |
| 340 | + --no-first-run \ |
| 341 | + --check-for-update-interval=31536000 \ |
| 342 | + --touch-events=enabled \ |
| 343 | + --password-store=basic |
| 344 | +Icon=photobooth |
| 345 | +StartupNotify=false |
| 346 | +Categories=Utility; |
| 347 | +</code></pre> |
| 348 | +<hr /> |
| 349 | +<h3 id="raspberry-pi-wayland-variant-exec-line-only">Raspberry Pi Wayland Variant (<code>Exec</code> Line Only)</h3> |
| 350 | +<pre><code>Exec=chromium --kiosk http://localhost \ |
| 351 | + --noerrdialogs \ |
| 352 | + --disable-infobars \ |
| 353 | + --disable-features=Translate \ |
| 354 | + --no-first-run \ |
| 355 | + --check-for-update-interval=31536000 \ |
| 356 | + --touch-events=enabled \ |
| 357 | + --password-store=basic \ |
| 358 | + --ozone-platform=wayland \ |
| 359 | + --start-maximized |
| 360 | +</code></pre> |
| 361 | +<hr /> |
| 362 | +<h3 id="raspberry-pi-x11-variant-exec-line-only">Raspberry Pi X11 Variant (<code>Exec</code> Line Only)</h3> |
| 363 | +<pre><code>Exec=chromium --kiosk http://localhost \ |
| 364 | + --noerrdialogs \ |
| 365 | + --disable-infobars \ |
| 366 | + --disable-features=Translate \ |
| 367 | + --no-first-run \ |
| 368 | + --check-for-update-interval=31536000 \ |
| 369 | + --touch-events=enabled \ |
| 370 | + --password-store=basic \ |
| 371 | + --use-gl=egl |
| 372 | +</code></pre> |
| 373 | +<hr /> |
| 374 | +<h2 id="installation-locations">Installation Locations</h2> |
| 375 | +<p><strong>System-wide</strong></p> |
| 376 | +<pre><code>/usr/share/applications/photobooth.desktop |
| 377 | +</code></pre> |
| 378 | +<p><strong>Per-user</strong></p> |
| 379 | +<pre><code>~/.local/share/applications/photobooth.desktop |
| 380 | +</code></pre> |
| 381 | +<p>After installing or modifying the file:</p> |
| 382 | +<pre><code>update-desktop-database |
| 383 | +</code></pre> |
| 384 | +<h2 id="system-wide-autostart-with-xdg">System-Wide Autostart with XDG</h2> |
| 385 | +<p>Using <code>/etc/xdg/autostart/photobooth.desktop</code> ensures the application launches automatically for all users when a graphical session starts (LXDE, XFCE, GNOME, etc.).</p> |
| 386 | +<hr /> |
| 387 | +<h2 id="autostart-on-raspberry-pi-os-bookworm-wayland">Autostart on Raspberry Pi OS Bookworm (Wayland)</h2> |
| 388 | +<p>Raspberry Pi OS Bookworm uses <strong>Wayland</strong> by default. The two supported compositors documented here are <strong>labwc</strong> (default) and <strong>Wayfire</strong>.</p> |
| 389 | +<hr /> |
| 390 | +<h3 id="labwc-default">labwc (default)</h3> |
| 391 | +<p>Create <code>~/.config/labwc/autostart</code> |
| 392 | +(or add to the existing <code>[autostart]</code> section) as follows:</p> |
| 393 | +<pre><code class="language-ini">[autostart] |
| 394 | +chromium --kiosk http://localhost \ |
| 395 | + --noerrdialogs \ |
| 396 | + --disable-infobars \ |
| 397 | + --disable-features=Translate \ |
| 398 | + --no-first-run \ |
| 399 | + --check-for-update-interval=31536000 \ |
| 400 | + --touch-events=enabled \ |
| 401 | + --password-store=basic \ |
| 402 | + --ozone-platform=wayland \ |
| 403 | + --start-maximized |
| 404 | +</code></pre> |
| 405 | +<hr /> |
| 406 | +<h3 id="wayfire">Wayfire</h3> |
| 407 | +<p>Edit <code>~/.config/wayfire.ini</code> and add or update the <code>[autostart]</code> section as follows:</p> |
| 408 | +<pre><code class="language-ini">[autostart] |
| 409 | +chromium = chromium --kiosk http://localhost \ |
| 410 | + --noerrdialogs \ |
| 411 | + --disable-infobars \ |
| 412 | + --disable-features=Translate \ |
| 413 | + --no-first-run \ |
| 414 | + --check-for-update-interval=31536000 \ |
| 415 | + --touch-events=enabled \ |
| 416 | + --password-store=basic \ |
| 417 | + --ozone-platform=wayland \ |
| 418 | + --start-maximized |
191 | 419 | </code></pre> |
192 | | -<p>Adjust the kiosk URL and icon path if Photobooth is in a subdirectory (e.g. <code>http://localhost/photobooth</code> and <code>/var/www/html/photobooth/resources/img/favicon-96x96.png</code>). The <code>--use-gl=egl</code> flag is primarily for Raspberry Pi; remove it if it causes issues on other hardware.</p> |
193 | 420 |
|
194 | 421 | </div> |
195 | 422 | </div><footer> |
|
0 commit comments