{"id":756,"date":"2026-09-06T03:07:24","date_gmt":"2026-09-06T03:07:24","guid":{"rendered":"https:\/\/www.flexpaul.com\/?p=756"},"modified":"2026-09-13T00:55:33","modified_gmt":"2026-09-13T00:55:33","slug":"installing-a-gui-web-browser-on-a-minimal-raspberry-pi-3","status":"publish","type":"post","link":"https:\/\/www.flexpaul.com\/index.php\/2026\/09\/06\/installing-a-gui-web-browser-on-a-minimal-raspberry-pi-3\/","title":{"rendered":"Installing a GUI web browser on a Minimal Raspberry Pi 3"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">So, I wanted a quick graphical web browser on my Pi, which I have already installed remRina for using my Pi as a thin client which is working quite well.  Follow that here (as soon as i can create a damn link?!)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I did say quick right?  In fact I just got the web browser installed on the pi and am typing this up.  It&#8217;s slow.  But i am using WordPress!<\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\" style=\"padding-top:var(--wp--preset--spacing--10);padding-right:0;padding-bottom:var(--wp--preset--spacing--10);padding-left:0\"><code>sudo apt update<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\" style=\"padding-top:var(--wp--preset--spacing--10);padding-right:0;padding-bottom:var(--wp--preset--spacing--10);padding-left:0\"><code>sudo apt install firefox-esr openbox<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Extras:<\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\" style=\"padding-top:var(--wp--preset--spacing--10);padding-right:0;padding-bottom:var(--wp--preset--spacing--10);padding-left:0\"><code>sudo apt install fonts-liberation fonts-dejavu fonts-noto-core fonts-noto-color-emoji fonts-freefont-ttf gstreamer1.0-libav gstreamer1.0-plugins-good ffmpeg x11-xserver-utils<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\" style=\"padding-top:var(--wp--preset--spacing--10);padding-right:0;padding-bottom:var(--wp--preset--spacing--10);padding-left:0\"><code>sudo nano \/usr\/local\/bin\/web<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\" style=\"padding-top:var(--wp--preset--spacing--10);padding-right:0;padding-bottom:var(--wp--preset--spacing--10);padding-left:0\"><code>#!\/bin\/bash\n\n# Get the active TTY number\nVT_NUM=$(fgconsole)\n\n# Launch openbox in the background to handle window sizing, then launch firefox maximized\nxinit \/bin\/sh -c \"xsetroot -cursor_name left_ptr &amp; openbox &amp; exec \/usr\/bin\/firefox-esr --start-maximized 'https:\/\/flexpaul.net'\" -- :$VT_NUM vt$VT_NUM<\/code><\/pre>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary>Corrected bin\/firegox-esr to bin\/firefox-esr<\/summary>\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<p class=\"wp-block-paragraph\">The correction occurred because i wanted a &#8216;firefox&#8217; logo to be displayed as the program opened.<br>apt install xloadimage<br>new bin\/bash file<br>#!\/bin\/bash<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">VT_NUM=$(fgconsole)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Launch openbox, set the firefox background using xloadimage, and launch firefox maximized<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">xinit \/bin\/sh -c &#8220;<br>xsetroot -cursor_name left_ptr &amp;<br>openbox &amp;<br>xloadimage -onroot -fullscreen \/path\/to\/firefox-logo.jpg &amp;<br>exec \/usr\/bin\/firefox-esr &#8211;start-maximized &#8216;<a href=\"https:\/\/flexpaul.net\">https:\/\/flexpaul.net<\/a>&#8216;<br>&#8221; &#8212; :$VT_NUM vt$VT_NUM<\/p>\n<\/div>\n<\/details>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\" style=\"padding-top:var(--wp--preset--spacing--10);padding-right:0;padding-bottom:var(--wp--preset--spacing--10);padding-left:0\"><code>sudo chmod +x \/usr\/local\/bin\/web<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\" style=\"padding-top:var(--wp--preset--spacing--10);padding-right:0;padding-bottom:var(--wp--preset--spacing--10);padding-left:0\"><code>sudo usermod -a -G tty,video,input,render,audio $USER<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">then logout and back in once for the group changes to take effect.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Oh, for the hell of it, and just fun to see which works better, we created a bin file for Remmina, called it rdc or rdp, it is up to you, and linked the thinclient user&#8217;s Remmina configuration to our profile.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So, I decided to take a break, here is what I want to try:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Remmina stores its configurations and saved connection profiles inside<br>~\/.local\/share\/remmina and ~\/.config\/remmina.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Run these commands under your regular user account to link directly to thinclient&#8217;s settings:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Remove existing default folders for your regular user<\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\" style=\"padding-top:var(--wp--preset--spacing--10);padding-right:0;padding-bottom:var(--wp--preset--spacing--10);padding-left:0\"><code>rm -rf ~\/.config\/remmina ~\/.local\/share\/remmina<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Create symbolic links pointing to thinclient&#8217;s settings<\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\" style=\"padding-top:var(--wp--preset--spacing--10);padding-right:0;padding-bottom:var(--wp--preset--spacing--10);padding-left:0\"><code>ln -s \/home\/thinclient\/.config\/remmina ~\/.config\/remmina<br>ln -s \/home\/thinclient\/.local\/share\/remmina ~\/.local\/share\/remmina<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">For your regular user to read and update thinclient&#8217;s connection files, both users need shared group access to those directories.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Add your user to the thinclient group (or vice versa):<\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\" style=\"padding-top:var(--wp--preset--spacing--10);padding-right:0;padding-bottom:var(--wp--preset--spacing--10);padding-left:0\"><code>sudo usermod -a -G thinclient $USER\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Adjust group permissions on thinclient&#8217;s Remmina folders so both users can edit profiles:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote has-small-font-size is-layout-flow wp-block-quote-is-layout-flow\" style=\"padding-top:0;padding-right:0;padding-bottom:0;padding-left:0\">\n<p class=\"wp-block-paragraph\">We had some issues, so let&#8217;s try this next time, we added it later and it fixed our issue so if you do it here, you may never run into the issue. (Permissions Settings)<\/p>\n<\/blockquote>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\" style=\"padding-top:var(--wp--preset--spacing--10);padding-right:0;padding-bottom:var(--wp--preset--spacing--10);padding-left:0\"><code>sudo chmod 750 \/home\/thinclient\/.local\nsudo chmod 750 \/home\/thinclient\/.local\/share<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\" style=\"padding-top:var(--wp--preset--spacing--10);padding-right:0;padding-bottom:var(--wp--preset--spacing--10);padding-left:0\"><code>sudo chmod -R 770 \/home\/thinclient\/.config\/remmina\nsudo chmod -R 770 \/home\/thinclient\/.local\/share\/remmina\nsudo chown -R thinclient:thinclient \/home\/thinclient\/.config\/remmina\nsudo chown -R thinclient:thinclient \/home\/thinclient\/.local\/share\/remmina<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Create and open the file:<\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\" style=\"padding-top:var(--wp--preset--spacing--10);padding-right:0;padding-bottom:var(--wp--preset--spacing--10);padding-left:0\"><code>sudo nano \/usr\/local\/bin\/rdp\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Enter the following:<\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\" style=\"padding-top:var(--wp--preset--spacing--10);padding-right:0;padding-bottom:var(--wp--preset--spacing--10);padding-left:0\"><code>\n#!\/bin\/bash\n# Detect active TTY console number\nVT_NUM=$(fgconsole)\n\n# Launch Openbox + Remmina in fullscreen mode on the active TTY\nxinit \/bin\/sh -c \"xsetroot -cursor_name left_ptr &amp; openbox --config-file ~\/.config\/openbox\/rc.xml &amp; exec \/usr\/bin\/remmina --enable-fullscreen\" -- :$VT_NUM vt$VT_NUM\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Save and make the binary script executable:<\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\" style=\"padding-top:var(--wp--preset--spacing--10);padding-right:0;padding-bottom:var(--wp--preset--spacing--10);padding-left:0\"><code>sudo chmod +x \/usr\/local\/bin\/rdp<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\" style=\"padding-top:var(--wp--preset--spacing--10);padding-right:0;padding-bottom:var(--wp--preset--spacing--10);padding-left:0\"><code>sudo chmod 750 \/home\/thinclient<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\" style=\"padding-top:var(--wp--preset--spacing--10);padding-right:0;padding-bottom:var(--wp--preset--spacing--10);padding-left:0\"><code>sudo chown -R thinclient:thinclient \/home\/thinclient\/.config\/remmina \/home\/thinclient\/.local\/share\/remmina<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\" style=\"padding-top:var(--wp--preset--spacing--10);padding-right:0;padding-bottom:var(--wp--preset--spacing--10);padding-left:0\"><code>sudo chmod -R 770 \/home\/thinclient\/.config\/remmina \/home\/thinclient\/.local\/share\/remmina<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\" style=\"padding-top:var(--wp--preset--spacing--10);padding-right:0;padding-bottom:var(--wp--preset--spacing--10);padding-left:0\"><code><em><s>sudo chmod -R 770 \/home\/thinclient\/.local\/share\/remmina\nsudo chmod -R thinclient:thinclient \/home\/thinclient\/.local\/share\/remmina<\/s><\/em><\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Test if that dont work run the first two<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">it was the first two we needed to run to get the proper permissions!!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">All working now!!<\/p>\n\n\n\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-3a88641f wp-block-group-is-layout-flex\"><div class=\"wp-block-avatar\"><img alt='Paul Avatar' src='https:\/\/www.flexpaul.com\/wp-content\/uploads\/2023\/12\/cropped-cropped-image145-96x96.png' srcset='https:\/\/www.flexpaul.com\/wp-content\/uploads\/2023\/12\/cropped-cropped-image145-192x192.png 2x' class='avatar avatar-96 photo wp-block-avatar__image' height='96' width='96' \/><\/div>\n\n<div style=\"font-size:12px;padding-top:0;padding-bottom:0;padding-left:0;padding-right:0;margin-top:0;margin-bottom:0;margin-left:0;margin-right:0\" class=\"wp-block-post-author-biography\">Coffee-fueled and code-driven, I&#8217;m Paul, a digital nomad tech consultant with a knack for navigating the ever-evolving landscapes of open-source software, solar power, and the occasional political pit stop. With 20+ years of experience under my belt, I&#8217;m excited to share my insights, weave captivating narratives about technology&#8217;s impact, and offer valuable perspectives on leadership and positivity. So, grab your digital passport and join me on this virtual voyage of the internet&#8217;s quirky corners, one thought-provoking discussion at a time. Buckle up, it&#8217;s gonna be an informative and wildly exciting ride!<\/div><\/div>\n\n\n<div class=\"wp-block-post-author-name\">Paul<\/div>\n\n\n<div class=\"wp-block-group has-background has-global-padding is-layout-constrained wp-container-core-group-is-layout-f49c6c90 wp-block-group-is-layout-constrained\" style=\"border-top-left-radius:10px;border-top-right-radius:10px;border-bottom-left-radius:10px;border-bottom-right-radius:10px;background-color:#8fd6ff;margin-top:var(--wp--preset--spacing--10);margin-bottom:var(--wp--preset--spacing--10);padding-top:0;padding-right:var(--wp--preset--spacing--10);padding-bottom:0;padding-left:var(--wp--preset--spacing--10)\">\n<p class=\"wp-block-paragraph\"><strong>OMG&#8230; So I just have to complain.  I was attempting to add the above, and well, found out that&#8230;.<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"294\" height=\"223\" src=\"https:\/\/www.flexpaul.com\/wp-content\/uploads\/2026\/09\/Frustrated_authorblockdeprecated.png\" alt=\"\" class=\"wp-image-763\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>So, instead of just one, quick step of adding the author block, I now have 3 things I have to do!!  I know of a guy named Bender that had an issue with 2 things one time&#8230;<\/strong><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>So, I wanted a quick graphical web browser on my Pi, which I have already installed remRina for using my Pi as a thin client which is working quite well. Follow that here (as soon as i can create a damn link?!) I did say quick right? In fact I just got the web browser [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[239,211,169,428,213,26,4],"tags":[],"class_list":["post-756","post","type-post","status-publish","format-standard","hentry","category-app-development","category-business","category-foss-free-opensource-software","category-raspberry-pi-3","category-software-and-technology","category-technology","category-tutorial"],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/www.flexpaul.com\/index.php\/wp-json\/wp\/v2\/posts\/756","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.flexpaul.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.flexpaul.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.flexpaul.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.flexpaul.com\/index.php\/wp-json\/wp\/v2\/comments?post=756"}],"version-history":[{"count":8,"href":"https:\/\/www.flexpaul.com\/index.php\/wp-json\/wp\/v2\/posts\/756\/revisions"}],"predecessor-version":[{"id":769,"href":"https:\/\/www.flexpaul.com\/index.php\/wp-json\/wp\/v2\/posts\/756\/revisions\/769"}],"wp:attachment":[{"href":"https:\/\/www.flexpaul.com\/index.php\/wp-json\/wp\/v2\/media?parent=756"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.flexpaul.com\/index.php\/wp-json\/wp\/v2\/categories?post=756"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.flexpaul.com\/index.php\/wp-json\/wp\/v2\/tags?post=756"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}