{"id":1422,"date":"2024-09-23T12:00:00","date_gmt":"2024-09-23T19:00:00","guid":{"rendered":"https:\/\/letsbuildroboticswithshadow8472.com\/?p=1422"},"modified":"2024-09-22T17:22:35","modified_gmt":"2024-09-23T00:22:35","slug":"my-pi-400-travel-desktop","status":"publish","type":"post","link":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/2024\/09\/23\/my-pi-400-travel-desktop\/","title":{"rendered":"My Pi 400 Travel Desktop"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Good Morning from my Robotics Lab! This is Shadow8472, and today I am trying out my Raspberry Pi 400 as a lightweight daily driver. Let\u2019s get started.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">rPi 400<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The Pi 400 is a special edition of Raspberry Pi \u2013 essentially a Pi 4 built into a keyboard. It\u2019s missing a USB 2.0 port (made up for by the keyboard) and the 3.5mm audio jack. In theory, the miniature keyboard computer is perfect for travel \u2013 assuming you have a screen at your destination that is.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Choosing a Distro<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">My first thought was to try installing Arch. A brief search found an Arch on ARM project as vanilla Arch only supports x86 architecture. The instructions involved formatting a drive on the terminal. I bought a 256 GB SD card and did so on the first convenient rPi install I had \u2013 Kali linux.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It took a few failed attempts to install Arch. The pure open source method that reportedly works on the regular Pi 4 didn\u2019t on my Pi 400, and the standard method wasn\u2019t cooperative when installing a login manager and any of a few desktop environments. Running on a time crunch before leaving on a trip, I switched to DietPi, another lightweight distro I\u2019ve worked with before for, but for a much different project. As with Arch, MATE was uncooperative, so I settled with XFCE. Special thanks to Balena Etcher for a special warning when formatting large drives.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Packing For a Trip<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">To shortcut setup, I copied my browser and LibreOffice data from my main desktop. LibreOffice worked for me, but didn\u2019t carry the full dark mode \u2013 a problem I\u2019ve encountered before, but ultimately decided to live with.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Firefox ESR \u2013as installed from DietPi\u2019s hedged garden\u2013 refused to accept my profile. Regular Firefox \u2013installed from the apt repositories\u2013 was up to date and started as expected. Notably, it included my extensions \u2013 especially Bitwarden, my password vault.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A screen was not procured at my destination, so I packed one from home. The missing audio jack was also problematic, so I packed my Blue Yeti with plans to disable voice monitoring. For redundancy, I packed an HDMI monitor, but busted the \u200b\u200bstyrofoam while stuffing it into the slightly wrong box. As of writing, I have done nothing with sound.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Deployment<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">We left on our trip. Upon arriving, I found my over-packed tech bag lacked a long enough HDMI cable. I borrowed a longer one. The monitor signal kept flickering. For a while, I assumed I was overloading the Pi with a couple hundred browser tabs, but after a power blink and several reboots, it came out that the HDMI was bad. We bought a replacement, and it\u2019s been working properly since.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ejected Challenges<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Arch wasn\u2019t the only thing I had to back off from. I brought a couple additional Pi 4\u2019s to have myself a nice, little network with Pi-Hole ad blocking, but Wi-Fi strength and configuration challenges meant those were both a no-go.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Another challenge I want to pull off is playing Stardew Valley. I copied the files over back home, but haven\u2019t had time to try the conversion I found yet.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Takeaway<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Finishing a project as a rule is better than stalling an overly ambitious one. I have an on-the-go workstation, even though it still lacks polish.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Of special interest, this week marks the 6th anniversary of my Robotics Lab. And some months ago, I decided I wanted to do a Sabbath year cycle. I\u2019ve proven that I can be consistent at posting, even if I feel my quality slips some weeks. The facts of the matters is that weekly posts are getting a bit repetitive for me, so for the next year, I\u2019m only going to post when I finish a major project, such as when I have the full software suite I have in mind for my homelab. After that, perhaps I\u2019ll stick to monthly. We\u2019ll see in a year\u2019s time.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Final Question<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Setting up a travel computer on the quick was a bit of a trick. What must-haves would you include in a similar package?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I look forward to hearing your answers in the comments below or on my <a href=\"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/discord-invite\/\" target=\"_blank\" rel=\"noreferrer noopener\">Socials<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Good Morning from my Robotics Lab! This is Shadow8472, and today I am trying out my Raspberry Pi 400 as a lightweight daily driver. Let\u2019s get started. rPi 400 The Pi 400 is a special edition of Raspberry Pi \u2013 essentially a Pi 4 built into a keyboard. It\u2019s missing a USB 2.0 port (made &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/2024\/09\/23\/my-pi-400-travel-desktop\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;My Pi 400 Travel Desktop&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_forum_subforum_count":0,"footnotes":""},"categories":[2,26],"tags":[409,344,49,106,410],"class_list":["post-1422","post","type-post","status-publish","format-standard","hentry","category-linux","category-raspberry-pi","tag-diet-pi","tag-dietpi","tag-raspberry-pi","tag-raspberry-pi-400","tag-travel-desktop"],"_links":{"self":[{"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/posts\/1422","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/comments?post=1422"}],"version-history":[{"count":1,"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/posts\/1422\/revisions"}],"predecessor-version":[{"id":1423,"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/posts\/1422\/revisions\/1423"}],"wp:attachment":[{"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/media?parent=1422"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/categories?post=1422"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/tags?post=1422"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}