{"id":678,"date":"2020-06-01T12:00:00","date_gmt":"2020-06-01T19:00:00","guid":{"rendered":"http:\/\/letsbuildroboticswithshadow8472.com\/?p=678"},"modified":"2020-06-02T21:32:43","modified_gmt":"2020-06-03T04:32:43","slug":"family-photo-chest-part-7-how-to-plug-in-a-scanner","status":"publish","type":"post","link":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/2020\/06\/01\/family-photo-chest-part-7-how-to-plug-in-a-scanner\/","title":{"rendered":"Family Photo Chest Part 7: How to Plug In a Scanner"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Good Morning from my Robotics Lab! This is Shadow_8472, and today, I would like to share with you the inSANE time I had trying to set up a scanner <em>without<\/em> root privileges. Let&#8217;s get started!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">SANE is a resource for Linux to streamline the setup of scanners. From what I understand, it&#8217;s supposed to just make things easy.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Unfortunately, there&#8217;s a bug (or was) a bug in the version written for Debian Buster. I honestly thought this would be easy; I spent the whole week trying to not only fix the issue, but understand what I was doing as I was doing it. Special thanks go to all the people who at least tried to help me on the various Discord servers I broadcast my distress calls on.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As with any problem, diagnosis is the first step. Tutorials, in general, expect a clean installation, but I&#8217;m past that point. I&#8217;ve already tried, and failed to complete this procedure. I at least know how to look around with <strong>ls -l<\/strong> and other commands.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I started out with <strong>sane-find-scanner<\/strong> and <strong>lsusb<\/strong>, and eventually figured that while I &#8211;my user account&#8211; had permission to use the scanner, I didn&#8217;t have permission to access the USB bus it was connected to. A little research led me down the path of exploring the groups mechanic of Linux. They appear very useful, but I have yet to figure them out. What I did learn was that the <strong>scanner<\/strong> group wasn&#8217;t enough to let me scan in and of itself.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It took me a while to find that bug, but since it was crossed out and a note said it was fixed in some future build, I updated everything from the <strong>apt<\/strong> repository and <em>nothing<\/em>! Reboot: <em>nothing<\/em>! <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I reexplained my support issue several times across multiple Discord servers, and I sometimes got someone to try and help me, but eventually, I ended up going back to that bug and reading up on it. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Buried within what felt like an endless amount of terminal output with the occasional e-mail header, I came across a workaround. It called for making a symbolic link between a couple files, then to put some text in a file elsewhere in the filesystem. The instructions sounded familiar from my last attempt, and they were consistent with other Linux help forum posts from different places.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I spent about a day trying to figure out why the symbolic link wasn&#8217;t showing up. The folder in question where I thought it was supposed to appear already a link.  There were three files in the directory, and when I used a <strong>&#8211;verbose<\/strong> flag, I saw three entries. I rummaged around in <strong>ln &#8211;help<\/strong> and found that one of the other flags caused links to overwrite existing links to replace them. I figured that must be happening here, but its timestamps weren&#8217;t changing from a date last year when I supposedly updated them.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I eventually decided to play around with a symbolic link in an isolated spot in my home directory. I had my sandbox directory with another directory in it. I made a test .txt file in the sub directory, and tried making a link directly in the sandbox&#8217;s root using the same flags as in my problem link. The link didn&#8217;t appear in the root, but it instead replaced the text file, and the terminal warned me about it being a broken link by rendering the link in red instead of the normal cyan. I fiddled around with it some more by remaking the test .txt file in the root and leaving the link in the sub directory. I had a few missteps, but I managed to access the file by using the link.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Back on the main area, I found the links I had been overwriting in the other directory by listing them with <strong>ls -l<\/strong> and scanning for a timestamp that wasn&#8217;t in 2019. Three entries popped out at me. On closer inspection, the link I thought was a rewrite dud was, in fact, linking to a file within the same directory, but with a different name. It looked like it was meant to catch programs calling for the old version of a program and redirecting them to a slightly updated copy &#8212; just like forwarding mail.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The rest of the workaround was simple. I learned about the <strong>touch<\/strong> command, a little program to update a file&#8217;s timestamp or create a file if it isn&#8217;t there. I rebooted and had a good feeling when I heard the scanner move a little as Linux was starting up. Sure enough, I was able to start the GUI interface without superuser.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">All in all, this week taught me a near-miss lesson about one of the more interesting features in Linux, and apparently Windows as well.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Final Question: Who&#8217;s ready to hook up a printer?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Good Morning from my Robotics Lab! This is Shadow_8472, and today, I would like to share with you the inSANE time I had trying to set up a scanner without root privileges. Let&#8217;s get started! SANE is a resource for Linux to streamline the setup of scanners. From what I understand, it&#8217;s supposed to just &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/2020\/06\/01\/family-photo-chest-part-7-how-to-plug-in-a-scanner\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Family Photo Chest Part 7: How to Plug In a Scanner&#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],"tags":[],"class_list":["post-678","post","type-post","status-publish","format-standard","hentry","category-linux"],"_links":{"self":[{"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/posts\/678","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=678"}],"version-history":[{"count":4,"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/posts\/678\/revisions"}],"predecessor-version":[{"id":683,"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/posts\/678\/revisions\/683"}],"wp:attachment":[{"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/media?parent=678"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/categories?post=678"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/letsbuildroboticswithshadow8472.com\/index.php\/wp-json\/wp\/v2\/tags?post=678"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}