{"id":705,"date":"2026-09-06T03:07:05","date_gmt":"2026-09-06T03:07:05","guid":{"rendered":"https:\/\/www.flexpaul.com\/?p=705"},"modified":"2026-09-06T03:07:06","modified_gmt":"2026-09-06T03:07:06","slug":"pi-3-to-a-remote-desktop-client","status":"publish","type":"post","link":"https:\/\/www.flexpaul.com\/index.php\/2026\/09\/06\/pi-3-to-a-remote-desktop-client\/","title":{"rendered":"Pi 3 to a Remote Desktop Client"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Device: Raspberry Pi 3, with wired Keyboard, wired Mouse, wired Ethernet (Internet).<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Install Raspberry Pi OS<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">I used my linux (Ubuntu Studio) to flash the sd card.  I installed via apt a program called rpi-imager, ran rpi-imager, Selected the Pi Device: Raspberry Pi 3, Selected the Operating System (to be installed): Raspberry Pi OS Lite (64-bit), and Selected a 32GB sd Card.  I edited some options, one is to add a user right away.  Once that was completed I booted the pi from the newly created sd card and ran the list of commands:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2. setup Pi<\/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 &amp;&amp; sudo apt upgrade<br>sudo apt install xinit 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 apt install xinit<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Then to make sure everything is operating correctly run:<\/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>xinit remmina<\/code><\/pre>\n\n\n\n<p class=\"has-small-font-size wp-block-paragraph\" style=\"padding-top:var(--wp--preset--spacing--10);padding-right:0;padding-bottom:var(--wp--preset--spacing--10);padding-left:0\">If everything seemed to load, and your looking at just a remmina window, then it worked.  Click the plus to add your Remote Desktop Server and attempt to connect.  Once it is working and you can connect successfully, then lets proceed. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">3. Create User and permissions<\/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 useradd -m -s \/bin\/bash 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 usermod -a -G video,tty,input,render,audio 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>(added) sudo chmod g+rw \/dev\/tty0 \/dev\/tty1<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Make sure this is set correctly, however, more on it in a bit.<\/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 dpkg-reconfigure xserver=xorg-legacy<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">select Anybody or Console Users Only &#8211; hit enter<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">4. setup users bashrc 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 \/home\/thinclient\/.bashrc<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Then scroll to the bottom and enter these lines:<\/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>sleep 2\nxinit \/usr\/bin\/remmina --enable-fullscreen  -- vt1\nsleep 2 \nexit<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">My 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>sleep 2<br>xinit \/usr\/bin\/remmina --enable-fullscreen  -- vt1<br>sleep 2 <br>exit<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ctrl + X to save and exit the file.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">5. Enable Console Auto-Login<\/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 raspi-config<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Select System Options &gt; Boot \/ Auto Login<br>Select Console Autologin<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Exit the utility and reboot the pi<\/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 reboot now<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">5.1 Enable Auto-Login with user, thinclient<\/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>raspi-config defaults to auto-login in your original user account, so we must change that.<\/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 \/ect\/systemd\/system\/getty@tty1.service.d\/autologin.conf<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">then we look for the line starting with ExecStart=<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">ExecStart=-\/sbin\/agetty &#8211;autologin (original user) &#8211;noclear %I $TERM<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Change that line to read:<\/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>ExecStart=-\/sbin\/agetty --autologin thinclient --noclear %I $TERM<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Save and Close that file as before.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Now you should be able to reboot your pi and have it automatically load remmina, and now you basically have a functioning thin client.<\/p>\n\n\n<div class=\"wp-block-post-author\"><div class=\"wp-block-post-author__avatar\"><img alt='Avatar photo' 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' height='96' width='96' \/><\/div><div class=\"wp-block-post-author__content\"><p class=\"wp-block-post-author__name\"><a href=\"https:\/\/www.flexpaul.com\/index.php\/author\/ppmuetze\/\" target=\"_self\">Paul<\/a><\/p><p class=\"wp-block-post-author__bio\">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!<\/p><\/div><\/div>\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Device: Raspberry Pi 3, with wired Keyboard, wired Mouse, wired Ethernet (Internet). I used my linux (Ubuntu Studio) to flash the sd card. I installed via apt a program called rpi-imager, ran rpi-imager, Selected the Pi Device: Raspberry Pi 3, Selected the Operating System (to be installed): Raspberry Pi OS Lite (64-bit), and Selected a [&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,169,354,428,213,26,4],"tags":[],"class_list":["post-705","post","type-post","status-publish","format-standard","hentry","category-app-development","category-foss-free-opensource-software","category-os_install","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\/705","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=705"}],"version-history":[{"count":4,"href":"https:\/\/www.flexpaul.com\/index.php\/wp-json\/wp\/v2\/posts\/705\/revisions"}],"predecessor-version":[{"id":765,"href":"https:\/\/www.flexpaul.com\/index.php\/wp-json\/wp\/v2\/posts\/705\/revisions\/765"}],"wp:attachment":[{"href":"https:\/\/www.flexpaul.com\/index.php\/wp-json\/wp\/v2\/media?parent=705"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.flexpaul.com\/index.php\/wp-json\/wp\/v2\/categories?post=705"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.flexpaul.com\/index.php\/wp-json\/wp\/v2\/tags?post=705"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}