{"id":395,"date":"2025-01-29T22:31:21","date_gmt":"2025-01-29T22:31:21","guid":{"rendered":"https:\/\/www.aran.cat\/wp\/?p=395"},"modified":"2025-01-30T21:21:56","modified_gmt":"2025-01-30T21:21:56","slug":"debian-fullscreen-gui-kiosk","status":"publish","type":"post","link":"https:\/\/www.aran.cat\/wp\/?p=395","title":{"rendered":"Debian Fullscreen GUI Kiosk"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\"><a href=\"https:\/\/www.willhaley.com\/blog\/debian-fullscreen-gui-kiosk\/\">Debian Fullscreen GUI Kiosk &#8211; Will Haley<\/a><\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Aug 3, 2017<em>Updated&nbsp;<time datetime=\"2018-05-15T20:32:00+00:00\">May 15, 2018<\/time><\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">This article was last edited over 3 years ago. Information here may no longer be accurate. Please proceed with caution, and feel free to&nbsp;<a href=\"https:\/\/www.willhaley.com\/blog\/debian-fullscreen-gui-kiosk\/#contact-form\">contact me<\/a>.<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">These instructions are helpful if you would like to create a computer kiosk. The instructions are designed to run Chromium (the open-source version of Google\u2019s Chrome browser), but can be adapted to run any GUI program in a kiosk\/fullscreen mode.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This guide was last tested against Debian 9.4 (Stretch) GNU\/Linux.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Note that this guide is not intended to create a perfectly secure system, and may be vulnerable to tampering by knowledgable users.<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Create a user on the system for the kiosk. In my case, the user is named&nbsp;<code>kiosk-user<\/code>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>useradd -m kiosk-user\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Update the package list.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>apt-get update\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Install required packages.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>apt-get install \\\n    sudo \\\n    xorg \\\n    chromium \\\n    openbox \\\n    lightdm\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Edit the lightdm config script at&nbsp;<code>\/etc\/lightdm\/lightdm.conf<\/code>&nbsp;to enable autologin.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That file needs to only contain this content for autologin to work.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;SeatDefaults]\nautologin-user=kiosk-user\nuser-session=openbox\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Reboot to verify autologin works. You should now be logged in as&nbsp;<code>kiosk-user<\/code>&nbsp;automatically.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Create the openbox config directory for&nbsp;<code>kiosk-user<\/code>&nbsp;if it does not exist.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mkdir -p $HOME\/.config\/openbox\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Create a script at&nbsp;<code>$HOME\/.config\/openbox\/autostart<\/code>&nbsp;for the&nbsp;<code>kiosk-user<\/code>. This script will be run at login.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>chromium \\\n    --no-first-run \\\n    --disable \\\n    --disable-translate \\\n    --disable-infobars \\\n    --disable-suggestions-service \\\n    --disable-save-password-bubble \\\n    --start-maximized \\\n    --kiosk \"<a href=\"http:\/\/www.google.com\/\">http:\/\/www.google.com<\/a>\" &amp;\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The&nbsp;<code>&amp;<\/code>&nbsp;at the end is required for&nbsp;<em>every<\/em>&nbsp;command in the&nbsp;<code>autostart<\/code>&nbsp;script.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Reboot, and you should see the machine automatically login and run chromium in kiosk mode.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"citations\">Citations<\/h1>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/askubuntu.com\/questions\/487488\/how-to-open-chromium-in-full-screen-kiosk-mode-in-minimal-windows-manager-enviro\">How to open Chromium in full screen kiosk mode in minimal windows manager environment (like openbox \/ jwm)<\/a>.<\/li>\n\n\n\n<li><a href=\"http:\/\/matthieukeller.com\/2016\/12\/building-a-kiosk-computer-with-chrome.html\">Building a kiosk computer with Chrome<\/a><\/li>\n\n\n\n<li><a href=\"http:\/\/karuppuswamy.com\/wordpress\/2010\/09\/26\/how-to-fix-x-user-not-authorized-to-run-the-x-server-aborting\/\">How to fix \u201cX: user not authorized to run the X server, aborting.\u201d?<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/askubuntu.com\/questions\/629046\/ubuntu-14-04-dpkg-reconfigure-select-option-unattended\">Ubuntu 14.04, dpkg-reconfigure select option unattended<\/a><\/li>\n\n\n\n<li><a href=\"http:\/\/openbox.org\/wiki\/Help:Autostart\">Help:Autostart<\/a><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Feel free to contact me with questions or feedback regarding this article.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Debian Fullscreen GUI Kiosk &#8211; Will Haley Aug 3, 2017Updated&nbsp;May 15, 2018 This article was last edited over 3 years ago. Information here may no longer be accurate. Please proceed with caution, and feel free to&nbsp;contact me. These instructions are helpful if you would like to create a computer kiosk. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[5],"tags":[],"class_list":["post-395","post","type-post","status-publish","format-standard","hentry","category-debian"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.aran.cat\/wp\/index.php?rest_route=\/wp\/v2\/posts\/395","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.aran.cat\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.aran.cat\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.aran.cat\/wp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.aran.cat\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=395"}],"version-history":[{"count":1,"href":"https:\/\/www.aran.cat\/wp\/index.php?rest_route=\/wp\/v2\/posts\/395\/revisions"}],"predecessor-version":[{"id":396,"href":"https:\/\/www.aran.cat\/wp\/index.php?rest_route=\/wp\/v2\/posts\/395\/revisions\/396"}],"wp:attachment":[{"href":"https:\/\/www.aran.cat\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=395"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.aran.cat\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=395"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.aran.cat\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=395"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}