<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.element14.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Documents</title><link>https://community.element14.com/challenges-projects/element14-presents/sudosergeant/w/documents</link><description /><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>Documents</title><link>https://community.element14.com/challenges-projects/element14-presents/sudosergeant/w/documents</link><pubDate>Fri, 01 Oct 2021 18:07:31 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:88d3ca6a-5de7-466b-b5d4-ffff343677bd</guid><dc:creator>migration.user</dc:creator><description>Current Revision posted to Documents by migration.user on 10/1/2021 6:07:31 PM&lt;br /&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item><item><title>sudo Sergeant 07: System Program Shell</title><link>https://community.element14.com/challenges-projects/element14-presents/sudosergeant/w/documents/3206/sudo-sergeant-07-system-program-shell</link><pubDate>Fri, 18 Jan 2019 16:12:09 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:361a4c03-ed82-4992-b1ec-648279e20e56</guid><dc:creator>tariq.ahmad</dc:creator><description>Current Revision posted to Documents by tariq.ahmad on 1/18/2019 4:12:09 PM&lt;br /&gt;
&lt;table cellpadding="0" cellspacing="0" style="padding:0px;margin:0px;background-color:#c4e3ed;width:100%;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td rowspan="3" style="vertical-align:bottom;"&gt;&lt;a href="/e14/assets/legacy/2017/FelixExcLeft1.png"&gt;&lt;img alt="image" class="nolightbox" src="/e14/assets/legacy/2017/FelixExcLeft1.png"  /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td rowspan="3" style="vertical-align:top;padding:8px 13px 13px 8px;"&gt;&lt;p style="margin:0;font-size:18px;font-weight:bold;padding-bottom:6px;"&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/benheck/"&gt;element14&amp;#39;s The Ben Heck Show&lt;/a&gt;&lt;/p&gt;&lt;p style="margin:0;padding-bottom:6px;line-height:18px;"&gt;&lt;strong&gt;Join the Ben Heck team every week for amazing hacks!&lt;/strong&gt; Watch them build and mod community-inspired projects using electronics!&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;a href="/challengesprojects/element14-presents/benheck/"&gt;Back to The Ben Heck Show homepage &lt;img loading="lazy" alt="image" src="/e14/assets/legacy/gen/LinkArrow.gif"  /&gt;&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#004156;vertical-align:middle;" width="30%"&gt;&lt;a class="" href="https://www.element14.com/community/community/experts/benheck/sudosergeant?ICID=SS-episodedoc-topban"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;sudo Sergeant&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#005973;vertical-align:middle;"&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/benheck/ben-heck-exclusive/"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;Featured Bonus Content&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#006f91;vertical-align:middle;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/benheck/ben-heck-exclusive/w/documents/9678/the-ben-heck-show-episode-archive"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;See All Episodes&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table style="width:80%;display:block;margin:0 auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding-bottom:12px;"&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=RnT70EdR7Sw"&gt;www.youtube.com/watch&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p style="margin:0;border:1px solid #b8d7e5;background-color:#e9f6fc;padding:8px;max-width:634px;"&gt;Felix gives an introduction to virtual consoles, terminal emulators, and program shells. He traces terminal emulator to its historical antecedent; an early electromechanical device known as a teleprinter, teletypewriter console, or teletype; and discusses how the terminal program emulates the legacy hardware connected to the mainframe.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;A program shell is a system program for executing other programs, conducting administrative tasks, or to run scripts. It is sometimes referred to as a prompt, command line interface, console user interface, character user interface, command line/language interpreter, or interactive command line. The program shell is an interactive command interpreter intended as a scripting language and contains most of the features that are commonly considered to produce structured programs.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;When you hear the words terminal the first thing you probably imagine is a dark screen with a blinking cursor that is used to type instructions to direct a machine.&amp;nbsp; It wasn&amp;#39;t always this way.&amp;nbsp; The terminal emulator is the modern evolution of an early electromechanical device known as a teleprinter, teletypewriter console, or teletype. A teletype printer is an electromechanical device, similar to a typewriter, used to send commands to a mainframe and receive output. A console and a terminal were essentially the same thing, however slightly different. The console was generally comparable in hardware terms to any other terminal except that a terminal connected directly to the mainframe and was intended for system maintenance. This entire process is now emulated by software.&amp;nbsp; As Linux evolved, the functionality of consoles has been built into the kernel as virtual consoles. Software has been written to emulate terminals. Its legacy can be found in the abbreviation tty, which is used to identify virtual consoles or to represent terminal connections.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;A terminal is a program that emulates the legacy physical hardware connected to a mainframe. It allows text input and produces text output. Just a few of the many examples of terminals include console, gnome terminal, LX terminal X term, and terminator. A console is essentially the same as terminal, however, in historical context, it was generally considered the point of interaction with a mainframe and was intended for system maintenance. In a modern system the virtual consoles serve a very similar role. The shell is a program that receives and interprets instructions. The shell can run independently of the terminal emulator, however, we will only be examining it in terms of its relation to the terminal emulator. There are numerous shells to choose from. There are quite a few examples of this including: Bourne Shell (SH), Bourne-Again Shell (BASH), C Shell (CSH), Korn Shell (KSH), and Remote Shell (RSH/IP). The prompt is the beginning line in a program shell which signifies start of input. The command line is the space to the right of the prompt where instructions and data are input. You’ll generally find your blinking cursor here.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Felix demonstrates how to switch between different virtual consoles. From command line he types &amp;quot;W&amp;quot; which allows him to see which user is logged into which console. The screen shows that the only virtual console that’s active is tty1:&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1413x286/__key/communityserver-wikis-components-files/00-00-00-03-27/8371.contentimage_5F00_108000.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/03/27/8371.contentimage_108000.png-620x125.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=SzMn4bU5BgFX%2F2zBtwD0lcd9S5P8eMPn9QtsF6FlpRc%3D&amp;amp;se=2026-04-23T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=snijRuMwkHVv/xnc9NnlNQ==" style="max-height: 125px;max-width: 620px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;On this particular machine there are six different virtual consoles that are setup.&amp;nbsp; To switch between them you simply hold down “ctrl alt” and then press either function key 1 through function key 6 sequentially.&amp;nbsp; To go from tty1 to tty2 simply hold down “ctrl alt” and function key 2.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1405x243/__key/communityserver-wikis-components-files/00-00-00-03-27/8304.contentimage_5F00_108001.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/03/27/8304.contentimage_108001.png-620x107.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=6zHV%2BoYUKz%2BcW6N8PzG0b115GZIWvwcwHkzvO3c%2BlqA%3D&amp;amp;se=2026-04-23T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=2USgWPWcwwaoxZUpLbU0Xg==" style="max-height: 107px;max-width: 620px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Hitting “control alt” and then function key 3 gives you tty3. After demonstrating this with all six virtual consoles he goes back to tty2 and logs into it. Felix goes back to tty3 and logs in as a different user.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/1402x224/__key/communityserver-wikis-components-files/00-00-00-03-27/5460.contentimage_5F00_108002.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/03/27/5460.contentimage_108002.png-620x99.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=y5dYBjrFWh%2BLcpr2crEzyAEZVfNOxUzfzUKzM8gzou4%3D&amp;amp;se=2026-04-23T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=gf2klS9n1TfltbBXc+AxBw==" style="max-height: 99px;max-width: 620px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Next, Felix goes to Virtual Console 2 and instantiates another instance of the graphical environment. To do this he types startx and this gives him a whole new desktop that is completely different from the previous desktop.&amp;nbsp; Anything they do on the graphical environment that they’ve instantiated on virtual console 2 will be completely independent from anything they do on virtual console one.&amp;nbsp; A practical instance of this would be if someone wanted to set up a machine to do multiseat.&amp;nbsp; Multiseat is sort of like multihead except the difference is that there are multiple monitors connected to one computer but at each monitor there is also an addition of input devices like a keyboard and mouse. So there’s multiple keyboards and monitors, maybe even audio devices, all connected to one computer, and then it would essentially function as a mainframe did a long time ago.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2&gt;&lt;span style="color:#3334ca;"&gt;In the comments below tell us about your experience with teletypes or what you’ve done with virtual consoles! &lt;/span&gt;&lt;/h2&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: command line interface, csh, program shell, sh, sudo sergeant, command line language interpreter, terminal, mainframe, multihead, tty, terminal emulators, teleprinter, bourne shell, ksh, telewriter console, virtual consoles, korn shell, graphical environment, character user interface, interactive command line, rsh ip, bash, rpi, multiseat, program shells, remote shell, command line, startx, console user interface, bourne-again shell, prompt, c shell, teletype, terminal program, sudosergeant, linux&lt;/div&gt;
</description></item><item><title>Community Feedback 08: Felix's Favorite Distros</title><link>https://community.element14.com/challenges-projects/element14-presents/sudosergeant/w/documents/3192/community-feedback-08-felix-s-favorite-distros</link><pubDate>Fri, 18 Jan 2019 16:11:51 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:41718f89-ea98-42f0-872c-f54a0df8a7e1</guid><dc:creator>tariq.ahmad</dc:creator><description>Current Revision posted to Documents by tariq.ahmad on 1/18/2019 4:11:51 PM&lt;br /&gt;
&lt;table cellpadding="0" cellspacing="0" style="padding:0px;margin:0px;background-color:#c4e3ed;width:100%;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td rowspan="3" style="padding:6px 0px 10px 11px;vertical-align:top;"&gt;&lt;a href="/e14/assets/legacy/TBHSlogo2.png"&gt;&lt;img alt="image" class="nolightbox" src="/e14/assets/legacy/TBHSlogo2.png"  /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td rowspan="3" style="vertical-align:top;padding:8px 13px 13px;"&gt;&lt;p style="margin:0;font-size:18px;font-weight:bold;padding-bottom:6px;"&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/benheck/"&gt;element14&amp;#39;s The Ben Heck Show&lt;/a&gt;&lt;/p&gt;&lt;p style="margin:0;padding-bottom:6px;line-height:18px;"&gt;&lt;strong&gt;Join the Ben Heck team every week for amazing hacks!&lt;/strong&gt; Watch them build and mod community-inspired projects using electronics!&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;a href="/challengesprojects/element14-presents/benheck/"&gt;Back to The Ben Heck Show homepage &lt;img loading="lazy" alt="image" src="/e14/assets/legacy/gen/LinkArrow.gif"  /&gt;&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#004156;vertical-align:middle;" width="30%"&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/benheck/interactive/"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;Community Feedback&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#005973;vertical-align:middle;"&gt;&lt;a class="" href="https://www.element14.com/community/community/experts/benheck/sudosergeant?ICID=BH-episodedoc-topban"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;sudo Sergeant&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#006f91;vertical-align:middle;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/benheck/ben-heck-exclusive/w/documents/9678/the-ben-heck-show-episode-archive"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;See All Episodes&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table style="width:80%;display:block;margin:0 auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding-bottom:12px;"&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=pEfPTNXDdS8"&gt;www.youtube.com/watch&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p style="margin:0;border:1px solid #b8d7e5;background-color:#e9f6fc;padding:8px;max-width:634px;"&gt;&lt;span style="color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:justify;"&gt;Following a recent discussion on preferred Linux distributions, Felix weighs in on what works for him. Among the distros he discusses with Karen are Arch, OpenSuse, Ubuntu, and Debian. He talks about what it took to get him where he is and his transformation from Linux Evangelist to OS Agnostic.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Felix insists he doesn&amp;#39;t have any favorites. While this may be true, he does in fact have one preferred operating system and one distribution.&amp;nbsp; A distribution is a collection of software assimilated to into a suite. The distribution he prefers to spend most of his time with is Arch Linux. Arch Linux focuses on simplicity of design to create an environment that is straight forward and easy to understand rather than polished such as with point-and-click management tools. Its&amp;#39;s package manager, for instance, does not have an official graphical front end. Maintaining it requires the succinct use of commenting, as well as, clean configuration files for quick access and editing. If you&amp;#39;re the type of user that isn&amp;#39;t afraid of command line, like Felix, this is something you might appreciate it. With the Arch Linux distribution, there is a repository where there is already a bunch of pre-compiled software as is the case with most distribution.&amp;nbsp; He will frequently have to do additional configuration after its downloaded and installed.&amp;nbsp; He basically likes Arch Linux because he has to set up and customize pretty much every feature. The next challenge for Felix, would be Linux from source where everything would need to be compiled.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Felix didn&amp;#39;t find the distribution of Linux that&amp;#39;s right for him immediately, he confides to Karen, like many people he started his journey through Linux-hood by installing Ubuntu. Having been use to Windows XP, Ubuntu failed to impress him as it was foreign from what he was use to using. After Windows Vista was released, he gave Linux another look after he received an install disk of OpenSuse. The big difference between openSuse and Ubuntu was the default desktop environment.&amp;nbsp; The default desktop environment for openSuse was KDE whereas the default desktop environment for Ubuntu is Gnome. The KDE environment provides a user friendly-desktop environment, which gave Felix a sense of familiarity that he experienced when he was with Windows XP.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;From there Felix gives Ubuntu another look, Felix bounces around a various Linux distributions over a period of years.&amp;nbsp; He spends some time with Debian before exploring Fedora..&amp;nbsp; After giving all these distributions a try he discovered Arch and he’s been using that ever since.&amp;nbsp; Felix believes that people should use whatever operating system they want on whatever machine they choose.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;has a minimalist approach which Felix prefers because it allows him to get it set up and built the way he would like it to be. He has to do everything himself except compile. Arch Linux is largely based around binary packages. Its package manager does not have an official graphical front-end, for instance,&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2&gt;&lt;span style="color:#3334ca;"&gt;&lt;strong&gt;Have a question about any of the distros discussed in this segment?&lt;/strong&gt;&lt;/span&gt;&lt;/h2&gt;&lt;h2&gt;&lt;/h2&gt;&lt;h2&gt;&lt;span style="color:#3334ca;"&gt;&lt;strong&gt;Let us know in the comments below!&lt;/strong&gt;&lt;/span&gt;&lt;/h2&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: sudo sergeant, terminal, Ubuntu, sudo feedback, opensuse, gnome, fedora, command line, arch linux, kde, communityfeedbacktbhs&lt;/div&gt;
</description></item><item><title>sudo Sergeant 06: File Permissions</title><link>https://community.element14.com/challenges-projects/element14-presents/sudosergeant/w/documents/3153/sudo-sergeant-06-file-permissions</link><pubDate>Fri, 18 Jan 2019 16:11:28 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:f385961a-358f-4f11-b18a-e3e2eff236a0</guid><dc:creator>tariq.ahmad</dc:creator><description>Current Revision posted to Documents by tariq.ahmad on 1/18/2019 4:11:28 PM&lt;br /&gt;
&lt;table cellpadding="0" cellspacing="0" style="padding:0px;margin:0px;background-color:#c4e3ed;width:100%;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td rowspan="3" style="vertical-align:bottom;"&gt;&lt;a href="/e14/assets/legacy/2017/FelixExcLeft1.png"&gt;&lt;img alt="image" class="nolightbox" src="/e14/assets/legacy/2017/FelixExcLeft1.png"  /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td rowspan="3" style="vertical-align:top;padding:8px 13px 13px 8px;"&gt;&lt;p style="margin:0;font-size:18px;font-weight:bold;padding-bottom:6px;"&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/benheck/"&gt;element14&amp;#39;s The Ben Heck Show&lt;/a&gt;&lt;/p&gt;&lt;p style="margin:0;padding-bottom:6px;line-height:18px;"&gt;&lt;strong&gt;Join the Ben Heck team every week for amazing hacks!&lt;/strong&gt; Watch them build and mod community-inspired projects using electronics!&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;a href="/challengesprojects/element14-presents/benheck/"&gt;Back to The Ben Heck Show homepage &lt;img loading="lazy" alt="image" src="/e14/assets/legacy/gen/LinkArrow.gif"  /&gt;&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#004156;vertical-align:middle;" width="30%"&gt;&lt;a class="" href="https://www.element14.com/community/community/experts/benheck/sudosergeant?ICID=SS-episodedoc-topban"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;sudo Sergeant&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#005973;vertical-align:middle;"&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/benheck/ben-heck-exclusive/"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;Featured Bonus Content&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#006f91;vertical-align:middle;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/benheck/ben-heck-exclusive/w/documents/9678/the-ben-heck-show-episode-archive"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;See All Episodes&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table style="width:80%;display:block;margin:0 auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding-bottom:12px;"&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=p7GZiwhEw9Q"&gt;www.youtube.com/watch&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p style="margin:0;border:1px solid #b8d7e5;background-color:#e9f6fc;padding:8px;max-width:634px;"&gt;Felix discusses how file permissions work with Linux. He covers what they mean, what they’re for, and how to set them. You’ll learn to use command line to create a file and decipher user, group, and others rights. You can then add or remove permissions by CHMOD or by permission bits in octal notation.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;File permissions are the most basic form of security control on a Linux based operating system. They are implemented in a manner which can be configured to grant or deny access to files. The permissions can be modified by either the one who owns the file, or the super user.&amp;nbsp; The instruction to modify the permissions can take numeric arguments or symbolic arguments.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Felix uses a command line example to show you how to see the permissions of a file: Typing “ls” shows you the root directory structure.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;sergeant@raspberrypi: ~ $ ls&lt;/p&gt;&lt;p style="margin:0;"&gt;Desktop&amp;nbsp;&amp;nbsp; Documents&amp;nbsp;&amp;nbsp; Downloads Music&amp;nbsp;&amp;nbsp; Pictures&amp;nbsp; Public&amp;nbsp; Templates test&amp;nbsp; Videos&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;"&gt;&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/578x217/__key/communityserver-wikis-components-files/00-00-00-03-27/8737.contentimage_5F00_107996.gif"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/03/27/8737.contentimage_107996.gif-578x217.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=q%2BMnsMqiPyaZoMBubQGa%2BxiOawOB%2FMAwb3Z6AqF42UU%3D&amp;amp;se=2026-04-23T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=DpWhtqRXLzL53PE1dwO/Hg==" style="max-height: 217px;max-width: 578px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;He wants to go the test directory so he types the command cd test. Typing ls again shows that this directory has two directories that were previously mounted.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;sergeant@raspberrypi: ~ $ cd test&lt;/p&gt;&lt;p style="margin:0;"&gt;sergeant@raspberrypi: ~ $ ls&lt;/p&gt;&lt;p style="margin:0;"&gt;mount0&amp;nbsp; mount 1&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Next he creates a files using command line using the touch command followed by the file he is creating and uses the ls command to verify the file was created:&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;sergeant@raspberrypi: ~/test&amp;nbsp; $&amp;nbsp; touch testfile.text&lt;/p&gt;&lt;p style="margin:0;"&gt;sergeant@raspberrypi: ~/test&amp;nbsp; $ ls&lt;/p&gt;&lt;p style="margin:0;"&gt;mount0 mount1 testfile.txt&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;To find the file permissions of this newly created file he types in ls -l:&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;sergeant@raspberrypi: ~/test&amp;nbsp; $ ls -l&lt;/p&gt;&lt;p style="margin:0;"&gt;total 8&lt;/p&gt;&lt;p style="margin:0;"&gt;drwxr-xr-x 2 sergeant sergeant 4096 Aug 25 13:40 mount0&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="background-color:#f6f6f6;"&gt;drwxr-xr-x 2 sergeant sergeant 4096 Aug 25 13:40 mount1&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="background-color:#f6f6f6;"&gt;- rw-r-- r-- 1&amp;nbsp; sergeant sergeant&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 Aug 30 09:46 testfile.txt &lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;For testfile.txt the information to left of the number 1 are the file permissions. The first bit in the file permissions is the file type, the next 3 are the permissions of the owner,&amp;nbsp; the following three bits are the permissions of the group, and the last three are the permissions of anybody who is either not in the group or not the owner.&amp;nbsp; The last bit is a single character that specifies alternate access methods.&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/569x243/__key/communityserver-wikis-components-files/00-00-00-03-27/3060.contentimage_5F00_107997.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/03/27/3060.contentimage_107997.png-569x243.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=3vnuNVBIX1kSDx2pPYUULqr6yKPTd%2B1kkjH8SyYHkSw%3D&amp;amp;se=2026-04-23T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=4TMN11fd+NQb5Vh2h3itcQ==" style="max-height: 243px;max-width: 569px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;For instance, if you see &amp;quot;drwxr&amp;quot; it means that the file type is director, the r means that the owner can read the directory, the w means the owner can write to the directory,&amp;nbsp; and x means the owner can execute the directory (since it&amp;#39;s a directory it doesn&amp;#39;t really get executed). The next 3 bits are the group rights. For testfile.txt, &amp;quot;r--&amp;quot; means that the group can read this but cannot write or execute.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;There are two ways to modify the file permissions.&amp;nbsp; They can either be done through numeric method or via a character method. With the character method, you would change the file permissions by sending the instruction chmod (change modify).&amp;nbsp; Felix suggests expanding the help anytime you have an instruction. After, using the&amp;nbsp; command &amp;quot;--help&amp;quot; Felix decides to give execution permissions to the user for the file by typing in the following command:&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;In this example, read and write are turned off execute is turned on:&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;span style="background-color:#f6f6f6;"&gt;sergeant@raspberrypi: ~/test&amp;nbsp; $ chmod u=+x testfile.txt&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="background-color:#f6f6f6;"&gt;sergeant@raspberrypi: ~/test&amp;nbsp; $ ls -l&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;total 8&lt;/p&gt;&lt;p style="margin:0;"&gt;drwxr-xr-x 2 sergeant sergeant 4096 Aug 25 13:40 mount0&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="background-color:#f6f6f6;"&gt;drwxr-xr-x 2 sergeant sergeant 4096 Aug 25 13:40 mount1&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="background-color:#f6f6f6;"&gt;---xr-- r-- 1&amp;nbsp; sergeant sergeant&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 Aug 30 09:46 testfile.txt &lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;"&gt;In this example, read and write are added along with execute:&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;span style="background-color:#f6f6f6;"&gt;sergeant@raspberrypi: ~/test&amp;nbsp; $ chmod u=+rwx testfile.txt&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="background-color:#f6f6f6;"&gt;sergeant@raspberrypi: ~/test&amp;nbsp; $ ls -l&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;total 8&lt;/p&gt;&lt;p style="margin:0;"&gt;drwxr-xr-x 2 sergeant sergeant 4096 Aug 25 13:40 mount0&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="background-color:#f6f6f6;"&gt;drwxr-xr-x 2 sergeant sergeant 4096 Aug 25 13:40 mount1&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="background-color:#f6f6f6;"&gt;-rwxr-- r-- 1&amp;nbsp; sergeant sergeant&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 Aug 30 09:46 testfile.txt&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;"&gt;To give those same permissions to the group simply use the following command:&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/629x355/__key/communityserver-wikis-components-files/00-00-00-03-27/8750.contentimage_5F00_107998.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/03/27/8750.contentimage_107998.png-620x350.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=rZnuucbQwE6Omoby6h3JQw%2FFyb5PgXyXifclNAb8onc%3D&amp;amp;se=2026-04-23T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=5jiqGXJdGOO0/4vxIh/G0Q==" style="max-height: 350px;max-width: 620px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;sergeant@raspberrypi: ~/test&amp;nbsp; $ chmod g=+rwx testfile.txt&lt;/p&gt;&lt;p style="margin:0;"&gt;sergeant@raspberrypi: ~/test&amp;nbsp; $ ls -l&lt;/p&gt;&lt;p style="margin:0;"&gt;total 8&lt;/p&gt;&lt;p style="margin:0;"&gt;drwxr-xr-x 2 sergeant sergeant 4096 Aug 25 13:40 mount0&lt;/p&gt;&lt;p style="margin:0;"&gt;drwxr-xr-x 2 sergeant sergeant 4096 Aug 25 13:40 mount1&lt;/p&gt;&lt;p style="margin:0;"&gt;-rwxrwxr-- 1&amp;nbsp; sergeant sergeant&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 Aug 30 09:46 testfile.txt&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;"&gt;To give those permissions to others you would use the following command:&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;sergeant@raspberrypi: ~/test&amp;nbsp; $ chmod o=+rwx testfile.txt&lt;/p&gt;&lt;p style="margin:0;"&gt;sergeant@raspberrypi: ~/test&amp;nbsp; $ ls -l&lt;/p&gt;&lt;p style="margin:0;"&gt;total 8&lt;/p&gt;&lt;p style="margin:0;"&gt;drwxr-xr-x 2 sergeant sergeant 4096 Aug 25 13:40 mount0&lt;/p&gt;&lt;p style="margin:0;"&gt;drwxr-xr-x 2 sergeant sergeant 4096 Aug 25 13:40 mount1&lt;/p&gt;&lt;p style="margin:0;"&gt;-rwxrwxrwx 1&amp;nbsp; sergeant sergeant&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 Aug 30 09:46 testfile.txt&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;"&gt;To take away group permissions you would use the minus sign instead of the plus sign:&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;sergeant@raspberrypi: ~/test&amp;nbsp; $ chmod g=-rwx testfile.txt&lt;/p&gt;&lt;p style="margin:0;"&gt;sergeant@raspberrypi: ~/test&amp;nbsp; $ ls -l&lt;/p&gt;&lt;p style="margin:0;"&gt;total 8&lt;/p&gt;&lt;p style="margin:0;"&gt;drwxr-xr-x 2 sergeant sergeant 4096 Aug 25 13:40 mount0&lt;/p&gt;&lt;p style="margin:0;"&gt;drwxr-xr-x 2 sergeant sergeant 4096 Aug 25 13:40 mount1&lt;/p&gt;&lt;p style="margin:0;"&gt;-rwx---rwx 1&amp;nbsp; sergeant sergeant&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0 Aug 30 09:46 testfile.txt&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;"&gt;This is covers adding and removing permissions using the character method.&amp;nbsp; To change permissions via the numeric method you can head over to&amp;nbsp; &lt;a class="jive-link-external-small" href="http://permissions-calculator.org/" rel="nofollow ugc noopener" target="_blank" title="http://permissions-calculator.org/"&gt;Unix Permissions and Lookup&lt;/a&gt; . Select your permissions bits. We&amp;#39;re focusing on user, group, and others.If you want to have read write execute for user group and others you would select those permissions on the page.&lt;span&gt;&lt;a href="https://community.element14.com/resized-image/__size/632x386/__key/communityserver-wikis-components-files/00-00-00-03-27/1212.contentimage_5F00_107999.png"&gt;&lt;img loading="lazy" alt="image" src="https://community-storage.element14.com/communityserver-components-secureimagefileviewer/communityserver/wikis/components/files/00/00/00/03/27/1212.contentimage_107999.png-620x379.png?sv=2016-05-31&amp;amp;sr=b&amp;amp;sig=%2F4LwEyjd%2FiEk2vGTIsdnchosj9oKsENOgSQRWOX5h%2FQ%3D&amp;amp;se=2026-04-23T23%3A59%3A59Z&amp;amp;sp=r&amp;amp;_=MmxbHlDug2u8xrDBbf5tJg==" style="max-height: 379px;max-width: 620px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;span style="background-color:#f6f6f6;"&gt;sergeant@raspberrypi: ~/test $ chmod 777 testfile.txt&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="background-color:#f6f6f6;"&gt;sergeant@raspberrypi: ~/test $ ls -l testfile.txt&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="background-color:#f6f6f6;"&gt;-rwxrwxrwx 1 sergeant sergeant 0 Aug 30 9:46 testfile.txt&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;"&gt;Trying again with a different numeric value changes the file permissions:&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;span style="background-color:#f6f6f6;"&gt;sergeant@raspberrypi: ~/test $ chmod 700 testfile.txt&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="background-color:#f6f6f6;"&gt;sergeant@raspberrypi: ~/test $ ls -l testfile.txt&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="background-color:#f6f6f6;"&gt;-rwx------ 1 sergeant sergeant 0 Aug 30 9:46 testfile.txt&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: numeric method, sudo sergeant, octal notation, file permissions, rpibeginner, character method, chmod, rpiexpert, command line, permission bits, sudosergeant, linux&lt;/div&gt;
</description></item><item><title>sudo Sergeant 12: Group Management</title><link>https://community.element14.com/challenges-projects/element14-presents/sudosergeant/w/documents/3387/sudo-sergeant-12-group-management</link><pubDate>Fri, 18 Jan 2019 16:09:44 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:bbf3be3d-48bc-4979-88e0-a31b7d3e7390</guid><dc:creator>tariq.ahmad</dc:creator><description>Current Revision posted to Documents by tariq.ahmad on 1/18/2019 4:09:44 PM&lt;br /&gt;
&lt;table cellpadding="0" cellspacing="0" style="padding:0px;margin:0px;background-color:#c4e3ed;width:100%;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td rowspan="3" style="vertical-align:bottom;"&gt;&lt;a href="/e14/assets/legacy/2017/FelixExcLeft1.png"&gt;&lt;img alt="image" class="nolightbox" src="/e14/assets/legacy/2017/FelixExcLeft1.png"  /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td rowspan="3" style="vertical-align:top;padding:8px 13px 13px 8px;"&gt;&lt;p style="margin:0;font-size:18px;font-weight:bold;padding-bottom:6px;"&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/benheck/"&gt;element14&amp;#39;s The Ben Heck Show&lt;/a&gt;&lt;/p&gt;&lt;p style="margin:0;padding-bottom:6px;line-height:18px;"&gt;&lt;strong&gt;Join the Ben Heck team every week for amazing hacks!&lt;/strong&gt; Watch them build and mod community-inspired projects using electronics!&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;a href="/challengesprojects/element14-presents/benheck/"&gt;Back to The Ben Heck Show homepage &lt;img loading="lazy" alt="image" src="/e14/assets/legacy/gen/LinkArrow.gif"  /&gt;&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#004156;vertical-align:middle;" width="30%"&gt;&lt;a class="" href="https://www.element14.com/community/community/experts/benheck/sudosergeant?ICID=SS-episodedoc-topban"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;sudo Sergeant&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#005973;vertical-align:middle;"&gt;&lt;a class="" href="https://www.element14.com/community/community/experts/benheck/thelearningcircuit?ICID=SS-episodedoc-topban"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;The Learning Circuit&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#006f91;vertical-align:middle;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/benheck/ben-heck-exclusive/w/documents/9678/the-ben-heck-show-episode-archive"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;See All Episodes&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table style="width:80%;display:block;margin:0 auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding-bottom:12px;"&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=7J6ehxi1pqc"&gt;www.youtube.com/watch&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p style="margin:0;border:1px solid #b8d7e5;background-color:#e9f6fc;padding:8px;max-width:634px;"&gt;&lt;span style="color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:justify;"&gt;In this segment Felix shows you how to see what groups are on your system, how to add new groups, how to add users to those groups, how to remove users from those groups, how to remove the groups, and, how to modify the groups.&amp;nbsp; He’ll also dabble in file permissions and file ownership. &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;margin-bottom:15px;color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:left;"&gt;Felix talks about managing groups.&amp;nbsp; He starts by checking out what groups are in the system.&amp;nbsp;&amp;nbsp; To check out what groups are in the system use:&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;"&gt;$ cat /etc/group&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;margin-bottom:15px;color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:left;"&gt;To create a group you would use:&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;"&gt;$ sudo groupadd dirshare&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;margin-bottom:15px;color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:left;"&gt;You’ve now created a group named dirshare that has no members.&amp;nbsp; Now that the group is created, there are a couple of ways you can add members to the group.&amp;nbsp; You can do it through the USERMOD method or through the GPASSWD method.&amp;nbsp; Felix, shows you how to do both, starting with the GPASSWD method:&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;"&gt;$ sudo gpasswd –a – technician dirshare&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;margin-bottom:15px;color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:left;"&gt;This adds user technician to the group dirshare. If you type in:&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;"&gt;$ cat/etc/group&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;margin-bottom:15px;color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:left;"&gt;It should show you that technician is now part of this group:&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;"&gt;dirshare:x:1006:technician&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;margin-bottom:15px;color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:left;"&gt;Next, Felix shows you how to add user buckethead to the group through the usermod method.&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;"&gt;$ sudo usermod -aG dirshare buckethead&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;margin-bottom:15px;color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:left;"&gt;If you type in&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;"&gt;$ cat/etc/group&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;margin-bottom:15px;color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:left;"&gt;It shows you that buckethead is now part of the group:&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;"&gt;dirshare: x:1006:technician, buckethead&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;margin-bottom:15px;color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:left;"&gt;The distinction between the primary group that an account is associated with, and additional groups that an account may have, is that whenever a person goes and creates a document, it’s going to be owned by the person that made the file and the file is going to be associated with the primary group of the account that made the file. Felix goes over an example using a test directory.&amp;nbsp; He uses this to create another directory called share:&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;"&gt;$ pwd /home/technician/test&lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;"&gt;$ mkdir share&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;margin-bottom:15px;color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:left;"&gt;If you type in&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;"&gt;$ /bin/ls –la&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;margin-bottom:15px;color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:left;"&gt;You can see that this directory is owned by technician and it’s in the group technician.&amp;nbsp; Felix attempts to change the group of the shared directory to technician:&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;"&gt;$ chown&amp;nbsp; -R technician:dirshare ../share/&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;margin-bottom:15px;color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:left;"&gt;It gives him the error: Operation not permitted This brings him to his next point. When a user is added to a new group, the system doesn’t recognize that the user has been added to that group until the person has logged out and then logged back in. He logs back in and goes into the directory share.&amp;nbsp; He wants to make a file that can be shared between different accounts within a directory that is in a shared group:&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;"&gt;$ ls file.txt $ pwd /home/technician/share&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;margin-bottom:15px;color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:left;"&gt;To do this he is going to use a utility called EXA that he’s set up in his bash RC as an alias for LK.&amp;nbsp; EXA is a modern replacement for LS, which is listing the contents of a directory.&amp;nbsp; It basically colorizes everything, puts it in a grid, and makes it human readable.&amp;nbsp; He wants to change the group from technician to dirshare.&amp;nbsp; He’ll need to first check the permissions to make sure that both the owner can read and write and the group can read and write.&amp;nbsp; To do this he’ll need to use two utilities, CHOWN and CHMOD.&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;"&gt;$ chown -Rv technician:dirshare ../share/&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;margin-bottom:15px;color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:left;"&gt;changed ownership of ‘../share/file.txt’ from technician to technician:dirshare changed ownership of ‘..share/’ from technician to technician:dirshare&lt;/p&gt;&lt;p style="margin:0;margin-bottom:15px;color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:left;"&gt;Now, any account that is in the dirshare can write files in this directory.&amp;nbsp; Any account that is in dirshare can also read file.txt but cannot write to it because the write flag is not set.&amp;nbsp;&amp;nbsp; To make this file writeable you would use: $ chmod g+w file.txt Now that the permissions are set and the group is set, Felix opens up another terminal and logs in as Buckethead.&amp;nbsp; He goes over what you need to do to allow Buckethead to write a file to the directory. Because buckethead is in the potatohead group, technician is unable to write to it.&amp;nbsp; To allow technician to write to the file he’ll need to change the group.&amp;nbsp; He goes over this along with what you need to do to remove a user from a group.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: operation not permitted, ls, exa, chown, chmod, shared group, felix gardner, system administration, open source, group permissions, sudosergeant, linux&lt;/div&gt;
</description></item><item><title>sudo Sergeant 20: 3D Design on a GNU/Linux System</title><link>https://community.element14.com/challenges-projects/element14-presents/sudosergeant/w/documents/3676/sudo-sergeant-20-3d-design-on-a-gnu-linux-system</link><pubDate>Fri, 18 Jan 2019 16:08:08 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:f4e6b7e9-7451-4cd8-92a1-fbc172241edd</guid><dc:creator>tariq.ahmad</dc:creator><description>Current Revision posted to Documents by tariq.ahmad on 1/18/2019 4:08:08 PM&lt;br /&gt;
&lt;table cellpadding="0" cellspacing="0" style="padding:0px;margin:0px;background-color:#c4e3ed;width:100%;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td rowspan="3" style="vertical-align:bottom;"&gt;&lt;a href="/e14/assets/legacy/2017/FelixExcLeft1.png"&gt;&lt;img alt="image" class="nolightbox" src="/e14/assets/legacy/2017/FelixExcLeft1.png"  /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td rowspan="3" style="vertical-align:top;padding:8px 13px 13px 8px;"&gt;&lt;p style="margin:0;font-size:18px;font-weight:bold;padding-bottom:6px;"&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/benheck/"&gt;element14&amp;#39;s The Ben Heck Show&lt;/a&gt;&lt;/p&gt;&lt;p style="margin:0;padding-bottom:6px;line-height:18px;"&gt;&lt;strong&gt;Join the Ben Heck team every week for amazing hacks!&lt;/strong&gt; Watch them build and mod community-inspired projects using electronics!&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;a href="/challengesprojects/element14-presents/benheck/"&gt;Back to The Ben Heck Show homepage &lt;img loading="lazy" alt="image" src="/e14/assets/legacy/gen/LinkArrow.gif"  /&gt;&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#004156;vertical-align:middle;" width="30%"&gt;&lt;a class="" href="https://www.element14.com/community/community/experts/benheck/sudosergeant?ICID=SS-episodedoc-topban"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;sudo Sergeant&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#005973;vertical-align:middle;"&gt;&lt;a class="" href="https://www.element14.com/community/community/experts/benheck/thelearningcircuit?ICID=SS-episodedoc-topban"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;The Learning Circuit&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#006f91;vertical-align:middle;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/benheck/ben-heck-exclusive/w/documents/9678/the-ben-heck-show-episode-archive"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;See All Episodes&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table style="width:80%;display:block;margin:0 auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding-bottom:12px;"&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=huxbTAAgRvc"&gt;www.youtube.com/watch&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p style="margin:0;border:1px solid #b8d7e5;background-color:#e9f6fc;padding:8px;max-width:634px;"&gt;&lt;span style="color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:justify;"&gt;Felix gives a basic introduction to 3D design in a Linux environment using a tool called FreeCAD.&amp;nbsp; FreeCAD is a multi-platform parametric 3D modeling program that supports many 3D formats. The program is currently under heavy development and has not even reached release version one. FreeCAD is a great program but it is not stable or reliable enough for production environments. &lt;strong&gt;What type of 3D modeling software do you use?&amp;nbsp; Let us know in the comments below!&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: 3d modeling, freecad, tft screen, security, ip address, sudoers, ssh, system administration, key pair, parametric, multi-platform, fail2ban, raspbian, sudosergeant, linux&lt;/div&gt;
</description></item><item><title>sudo Sergeant 22: Community Feedback</title><link>https://community.element14.com/challenges-projects/element14-presents/sudosergeant/w/documents/3759/sudo-sergeant-22-community-feedback</link><pubDate>Fri, 18 Jan 2019 16:07:49 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:026324a1-4b73-4bc6-bd80-6f412e4556e7</guid><dc:creator>tariq.ahmad</dc:creator><description>Current Revision posted to Documents by tariq.ahmad on 1/18/2019 4:07:49 PM&lt;br /&gt;
&lt;table cellpadding="0" cellspacing="0" style="padding:0px;margin:0px;background-color:#c4e3ed;width:100%;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td rowspan="3" style="vertical-align:bottom;"&gt;&lt;a href="/e14/assets/legacy/2017/FelixExcLeft1.png"&gt;&lt;img alt="image" class="nolightbox" src="/e14/assets/legacy/2017/FelixExcLeft1.png"  /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td rowspan="3" style="vertical-align:top;padding:8px 13px 13px 8px;"&gt;&lt;p style="margin:0;font-size:18px;font-weight:bold;padding-bottom:6px;"&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/benheck/"&gt;element14&amp;#39;s The Ben Heck Show&lt;/a&gt;&lt;/p&gt;&lt;p style="margin:0;padding-bottom:6px;line-height:18px;"&gt;&lt;strong&gt;Join the Ben Heck team every week for amazing hacks!&lt;/strong&gt; Watch them build and mod community-inspired projects using electronics!&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;a href="/challengesprojects/element14-presents/benheck/"&gt;Back to The Ben Heck Show homepage &lt;img loading="lazy" alt="image" src="/e14/assets/legacy/gen/LinkArrow.gif"  /&gt;&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#004156;vertical-align:middle;" width="30%"&gt;&lt;a class="" href="https://www.element14.com/community/community/experts/benheck/sudosergeant?ICID=SS-episodedoc-topban"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;sudo Sergeant&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#005973;vertical-align:middle;"&gt;&lt;a class="" href="https://www.element14.com/community/community/experts/benheck/thelearningcircuit?ICID=SS-episodedoc-topban"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;The Learning Circuit&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#006f91;vertical-align:middle;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/benheck/ben-heck-exclusive/w/documents/9678/the-ben-heck-show-episode-archive"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;See All Episodes&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table style="width:80%;display:block;margin:0 auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding-bottom:12px;"&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=lnO5sSmbKTs"&gt;www.youtube.com/watch&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p style="margin:0;border:1px solid #b8d7e5;background-color:#e9f6fc;padding:8px;max-width:634px;"&gt;In this episode of sudo Sergeant, Felix takes a look back at past episodes of sudo Sergeant and answers community member’s questions from the comments section.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;After watching &lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/sudosergeant/w/documents/3030/sudo-sergeant-00-what-is-linux"&gt;sudo Sergeant 00: What Is Linux?&lt;/a&gt; ,&amp;nbsp; &lt;span&gt;&lt;a href="/members/firemanak"&gt;firemanak&lt;/a&gt;&lt;/span&gt; wants to hear Felix&amp;#39;s thoughts on &lt;a class="jive-link-wiki-small" href="https://www.element14.com/community/docs/DOC-87294/l/sudo-sergeant-00-what-is-linux#comment-121130"&gt;the best of distribution of Linux and whether he can use one of his Rasberry Pi&amp;#39;s with it.&lt;/a&gt;&amp;nbsp; If you&amp;#39;re going to use a Raspberry Pi then go ahead and start with the Raspbian. The advantages of this are there&amp;#39;s a huge community, it&amp;#39;s easy to mess with, and there&amp;#39;s a lot of documentation. His tip is to go visit the IRC channels and ask questions. Its a great place to learn by getting some real-time feedback. If you&amp;#39;re looking at installing on a desktop or laptop, go ahead and get yourself an old laptop or old desktop.&amp;nbsp; Arch Linux is a great distribution if you&amp;#39;re looking to jump in and learn something. What makes it a great distribution to learn with is that just installing it takes a bit of effort to get it up and running, whereas, a lot of distributions you can just get an installer and the installation is pretty much automated in comparison.&amp;nbsp; If you don&amp;#39;t want to go that route, Felix recommends Fedora or Debian because they have thorough documentation.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;In response to &lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/sudosergeant/w/documents/3114/sudo-sergeant-04-ditch-the-arduino-ide-for-the-linux-terminal"&gt;sudo Sergeant 04: Ditch the Arduino IDE for the Linux Terminal&lt;/a&gt; ,&amp;nbsp; &lt;span&gt;&lt;a href="/members/idanre1"&gt;idanre1&lt;/a&gt;&lt;/span&gt; suggests &lt;a class="jive-link-wiki-small" href="https://www.element14.com/community/docs/DOC-87712/l/sudo-sergeant-04-ditch-the-arduino-ide-for-the-linux-terminal?ICID=SS-sudosergeant-episodes#comment-123823"&gt;a&lt;/a&gt;&lt;span style="color:#333333;font-family:Verdana, &amp;#39;Verdana Ref&amp;#39;, Geneva, Tahoma, sans-serif;"&gt;&lt;a class="jive-link-wiki-small" href="https://www.element14.com/community/docs/DOC-87712/l/sudo-sergeant-04-ditch-the-arduino-ide-for-the-linux-terminal?ICID=SS-sudosergeant-episodes#comment-123823"&gt;rduino.mk which allows to develop for arduino using the makefile approach&lt;/a&gt;. You can find it at &lt;/span&gt;&lt;a class="" href="https://github.com/sudar/Arduino-Makefile" style="font-family:inherit;font-style:inherit;font-weight:inherit;color:#007fac;" title="https://github.com/sudar/Arduino-Makefile"&gt;https://github.com/sudar/Arduino-Makefile&lt;/a&gt; .&amp;nbsp;&amp;nbsp; By using&lt;span style="color:#333333;font-family:Verdana, &amp;#39;Verdana Ref&amp;#39;, Geneva, Tahoma, sans-serif;"&gt;: &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-family:Verdana, &amp;#39;Verdana Ref&amp;#39;, Geneva, Tahoma, sans-serif;"&gt;apt-get install arduino arduino-mk&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#333333;font-family:Verdana, &amp;#39;Verdana Ref&amp;#39;, Geneva, Tahoma, sans-serif;"&gt;apt-get install arduino arduino-mk &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;...you can have the Arduino IDE if you want to.&amp;nbsp; After following the link &lt;span&gt;&lt;a href="/members/idanre1"&gt;idanre1&lt;/a&gt;&lt;/span&gt; gave him, Felix finds it to be a really great utility. It&amp;#39;s such a cool development tool that he’s thinking of using it in a future segment.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Finally, Felix closes things out with a correction.&amp;nbsp; In &lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/sudosergeant/w/documents/3153/sudo-sergeant-06-file-permissions"&gt;sudo Sergeant 06: File Permissions&lt;/a&gt; he admits to making a pretty big mistake that he was right to be called on. He follows &lt;a class="jive-link-profile-small jiveTT-hover-user" href="https://www.element14.com/community/people/jackwhite"&gt;jackwhite&lt;/a&gt; &amp;#39;s example and then apologizes to the audience for providing inaccurate information.&amp;nbsp; He is grateful for &lt;a class="jive-link-profile-small jiveTT-hover-user" href="https://www.element14.com/community/people/jackwhite"&gt;jackwhite&lt;/a&gt; having corrected him.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: debian, file permissions, arduino ide, raspberry pi, fedora, e14presents_sudosergeant, arch linux, raspbian, sudosergeant&lt;/div&gt;
</description></item><item><title>sudo Sergeant 23: Schematic Design</title><link>https://community.element14.com/challenges-projects/element14-presents/sudosergeant/w/documents/3800/sudo-sergeant-23-schematic-design</link><pubDate>Fri, 18 Jan 2019 16:07:28 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:3fc3d453-b55d-4b8e-a8dd-c9a4e2c01b76</guid><dc:creator>tariq.ahmad</dc:creator><description>Current Revision posted to Documents by tariq.ahmad on 1/18/2019 4:07:28 PM&lt;br /&gt;
&lt;table cellpadding="0" cellspacing="0" style="padding:0px;margin:0px;background-color:#c4e3ed;width:100%;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td rowspan="3" style="vertical-align:bottom;"&gt;&lt;a href="/e14/assets/legacy/2017/FelixExcLeft1.png"&gt;&lt;img alt="image" class="nolightbox" src="/e14/assets/legacy/2017/FelixExcLeft1.png"  /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td rowspan="3" style="vertical-align:top;padding:8px 13px 13px 8px;"&gt;&lt;p style="margin:0;font-size:18px;font-weight:bold;padding-bottom:6px;"&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/"&gt;element14 Presents&lt;/a&gt;&lt;/p&gt;&lt;p style="margin:0;padding-bottom:6px;line-height:18px;"&gt;&lt;strong&gt;Explore Open Source with the sudo Sergeant.&lt;/strong&gt; Improve your mastery of terminal in various Linux distributions, discuss open source related topics, and more!&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;a href="/challengesprojects/element14-presents/"&gt;Back to The element14 Presents homepage &lt;img loading="lazy" alt="image" src="/e14/assets/legacy/gen/LinkArrow.gif"  /&gt;&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#004156;vertical-align:middle;" width="30%"&gt;&lt;a class="" href="https://www.element14.com/community/community/experts/benheck/sudosergeant?ICID=SS-episodedoc-topban"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;sudo Sergeant&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#005973;vertical-align:middle;"&gt;&lt;a class="" href="https://www.element14.com/community/community/experts/benheck/thelearningcircuit?ICID=SS-episodedoc-topban"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;The Learning Circuit&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#006f91;vertical-align:middle;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/benheck/ben-heck-exclusive/w/documents/9678/the-ben-heck-show-episode-archive"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;See All Episodes&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table style="width:80%;display:block;margin:0 auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding-bottom:12px;"&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=9GpKwleqpao"&gt;www.youtube.com/watch&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p style="margin:0;border:1px solid #b8d7e5;background-color:#e9f6fc;padding:8px;max-width:634px;"&gt;Felix gives an overview of the schematics used for the Pocket Bagle bela.io Drum Sequencer using KiCad. There are six different schematic sheets for this build.&amp;nbsp; There are schematics for the Bela PocketBeagle Connections, the 3 Digit 7 segment Display, the LED matrix, the Button Matrix, the Power and Motor Driver, and the Analog and Amplifier.&amp;nbsp; He&amp;#39;ll also let you know what he likes about using KiCad circuit design software, how to work off of a Pocket Beagle template for your design, and what you need to know to get started.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;Watch the full Episode for this Build: &lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/benheck/ben-heck-exclusive/w/documents/3627/episode-342-pocket-beagle-bela-io-drum-sequencer"&gt;Episode 342: Pocket Beagle bela.io Drum Sequencer&lt;/a&gt; &lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: debian, file permissions, arduino ide, raspberry pi, fedora, e14presents_sudosergeant, arch linux, raspbian, sudosergeant&lt;/div&gt;
</description></item><item><title>sudo Sergeant 24: Arch Linux Installation</title><link>https://community.element14.com/challenges-projects/element14-presents/sudosergeant/w/documents/3821/sudo-sergeant-24-arch-linux-installation</link><pubDate>Fri, 18 Jan 2019 16:05:24 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:70153544-b2a6-4b19-b66a-8f786de40619</guid><dc:creator>tariq.ahmad</dc:creator><description>Current Revision posted to Documents by tariq.ahmad on 1/18/2019 4:05:24 PM&lt;br /&gt;
&lt;table cellpadding="0" cellspacing="0" style="padding:0px;margin:0px;background-color:#c4e3ed;width:100%;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td rowspan="3" style="vertical-align:bottom;"&gt;&lt;a href="/e14/assets/legacy/2017/FelixExcLeft1.png"&gt;&lt;img alt="image" class="nolightbox" src="/e14/assets/legacy/2017/FelixExcLeft1.png"  /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td rowspan="3" style="vertical-align:top;padding:8px 13px 13px 8px;"&gt;&lt;p style="margin:0;font-size:18px;font-weight:bold;padding-bottom:6px;"&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/"&gt;element14 Presents&lt;/a&gt;&lt;/p&gt;&lt;p style="margin:0;padding-bottom:6px;line-height:18px;"&gt;&lt;strong&gt;Explore Open Source with the sudo Sergeant.&lt;/strong&gt; Improve your mastery of terminal in various Linux distributions, discuss open source related topics, and more!&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;a href="/challengesprojects/element14-presents/"&gt;Back to The element14 Presents homepage &lt;img loading="lazy" alt="image" src="/e14/assets/legacy/gen/LinkArrow.gif"  /&gt;&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#004156;vertical-align:middle;" width="30%"&gt;&lt;a class="" href="https://www.element14.com/community/community/experts/benheck/sudosergeant?ICID=SS-episodedoc-topban"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;sudo Sergeant&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#005973;vertical-align:middle;"&gt;&lt;a class="" href="https://www.element14.com/community/community/experts/benheck/thelearningcircuit?ICID=SS-episodedoc-topban"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;The Learning Circuit&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#006f91;vertical-align:middle;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/benheck/ben-heck-exclusive/w/documents/9678/the-ben-heck-show-episode-archive"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;See All Episodes&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table style="width:80%;display:block;margin:0 auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding-bottom:12px;"&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=Gdj_G6FfalU"&gt;www.youtube.com/watch&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p style="margin:0;border:1px solid #b8d7e5;background-color:#e9f6fc;padding:8px;max-width:634px;"&gt;Felix walks you through the steps for installing Arch Linux through terminal. He’ll show you where to download the installer from archlinux.org, how to mount the Arch Linux installer to a USB, how to configure the bios to boot into the USB, and goes through the rest of the install process.&amp;nbsp; Once installed, you’ll be able to login and customize the OS through the GUI.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: terminal, bios, installer, gui, usb, partitions, e14presents_sudosergeant, command line, arch linux, sudo, sudosergeant&lt;/div&gt;
</description></item><item><title>sudo Sergeant 25: Disk Drive Recovery on Linux</title><link>https://community.element14.com/challenges-projects/element14-presents/sudosergeant/w/documents/3881/sudo-sergeant-25-disk-drive-recovery-on-linux</link><pubDate>Fri, 18 Jan 2019 16:04:52 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:15e5ab57-6e7c-424c-9ffb-9b2f549cd093</guid><dc:creator>tariq.ahmad</dc:creator><description>Current Revision posted to Documents by tariq.ahmad on 1/18/2019 4:04:52 PM&lt;br /&gt;
&lt;table cellpadding="0" cellspacing="0" style="padding:0px;margin:0px;background-color:#c4e3ed;width:100%;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td rowspan="3" style="vertical-align:bottom;"&gt;&lt;a href="/e14/assets/legacy/2017/FelixExcLeft1.png"&gt;&lt;img alt="image" class="nolightbox" src="/e14/assets/legacy/2017/FelixExcLeft1.png"  /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td rowspan="3" style="vertical-align:top;padding:8px 13px 13px 8px;"&gt;&lt;p style="margin:0;font-size:18px;font-weight:bold;padding-bottom:6px;"&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/"&gt;element14 Presents&lt;/a&gt;&lt;/p&gt;&lt;p style="margin:0;padding-bottom:6px;line-height:18px;"&gt;&lt;strong&gt;Explore Open Source with the sudo Sergeant.&lt;/strong&gt; Improve your mastery of terminal in various Linux distributions, discuss open source related topics, and more!&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;a href="/challengesprojects/element14-presents/"&gt;Back to The element14 Presents homepage &lt;img loading="lazy" alt="image" src="/e14/assets/legacy/gen/LinkArrow.gif"  /&gt;&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#004156;vertical-align:middle;" width="30%"&gt;&lt;a class="" href="https://www.element14.com/community/community/experts/benheck/sudosergeant?ICID=SS-episodedoc-topban"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;sudo Sergeant&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#005973;vertical-align:middle;"&gt;&lt;a class="" href="https://www.element14.com/community/community/experts/benheck/thelearningcircuit?ICID=SS-episodedoc-topban"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;The Learning Circuit&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#006f91;vertical-align:middle;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/benheck/ben-heck-exclusive/w/documents/9678/the-ben-heck-show-episode-archive"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;See All Episodes&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table style="width:80%;display:block;margin:0 auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding-bottom:12px;"&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=iCTosiyKw1E"&gt;www.youtube.com/watch&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p style="margin:0;border:1px solid #b8d7e5;background-color:#e9f6fc;padding:8px;max-width:634px;"&gt;We’ve all been there before.&amp;nbsp; A corrupted hard drive that doesn’t allow you boot in.&amp;nbsp; Felix shows you how he repaired his corrupted disk drive in a Linux environment.&amp;nbsp; He’ll show you can do this by plugging it into a different machine, and taking advantage of Terminal to repair the system file on it.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: terminal, e14presents_sudosergeant, corrupted hard drive, system recovery, command line, sudo, sudosergeant&lt;/div&gt;
</description></item><item><title>sudo Sergeant 21: 3D Desoldering a Raspberry Pi A+</title><link>https://community.element14.com/challenges-projects/element14-presents/sudosergeant/w/documents/3726/sudo-sergeant-21-3d-desoldering-a-raspberry-pi-a</link><pubDate>Mon, 13 Aug 2018 23:05:33 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:ac31107d-7b02-45a1-b513-7e8facb1460b</guid><dc:creator>tariq.ahmad</dc:creator><description>Current Revision posted to Documents by tariq.ahmad on 8/13/2018 11:05:33 PM&lt;br /&gt;
&lt;table cellpadding="0" cellspacing="0" style="padding:0px;margin:0px;background-color:#c4e3ed;width:100%;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td rowspan="3" style="vertical-align:bottom;"&gt;&lt;a href="/e14/assets/legacy/2017/FelixExcLeft1.png"&gt;&lt;img alt="image" class="nolightbox" src="/e14/assets/legacy/2017/FelixExcLeft1.png"  /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td rowspan="3" style="vertical-align:top;padding:8px 13px 13px 8px;"&gt;&lt;p style="margin:0;font-size:18px;font-weight:bold;padding-bottom:6px;"&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/benheck/"&gt;element14&amp;#39;s The Ben Heck Show&lt;/a&gt;&lt;/p&gt;&lt;p style="margin:0;padding-bottom:6px;line-height:18px;"&gt;&lt;strong&gt;Join the Ben Heck team every week for amazing hacks!&lt;/strong&gt; Watch them build and mod community-inspired projects using electronics!&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;a href="/challengesprojects/element14-presents/benheck/"&gt;Back to The Ben Heck Show homepage &lt;img loading="lazy" alt="image" src="/e14/assets/legacy/gen/LinkArrow.gif"  /&gt;&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#004156;vertical-align:middle;" width="30%"&gt;&lt;a class="" href="https://www.element14.com/community/community/experts/benheck/sudosergeant?ICID=SS-episodedoc-topban"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;sudo Sergeant&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#005973;vertical-align:middle;"&gt;&lt;a class="" href="https://www.element14.com/community/community/experts/benheck/thelearningcircuit?ICID=SS-episodedoc-topban"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;The Learning Circuit&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#006f91;vertical-align:middle;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/benheck/ben-heck-exclusive/w/documents/9678/the-ben-heck-show-episode-archive"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;See All Episodes&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table style="width:80%;display:block;margin:0 auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding-bottom:12px;"&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=yDWKyVpk9Us"&gt;www.youtube.com/watch&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p style="margin:0;border:1px solid #b8d7e5;background-color:#e9f6fc;padding:8px;max-width:634px;"&gt;Felix does something different and focuses on hardware.&amp;nbsp; He field strips the Raspberry Pi A+ by removing the GPIO, USB port, MIPI camera interface (CSI) connector, HDMI, and&amp;nbsp; composite video, leaving the power and SD slot in place.&amp;nbsp; If you don&amp;#39;t have a lot of space, where do you want to slim down the Raspberry Pi to keep things really compact? Soldering overflow pins gets them flowing to get ready for the solder sucker.&amp;nbsp; &lt;strong&gt;If you have a different method of field stripping a Raspberry Pi, or you want to see another device field stripped, let us know in the comments below!&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/strong&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: usb port, field strip, pins, csi, mipi camera interace, gpio, rpibeginner, raspberry pi a+, soldering station, desoldering, e14presents_sudosergeant, sudosergeant&lt;/div&gt;
</description></item><item><title>sudo Sergeant 19: Hardening the Secure Shell</title><link>https://community.element14.com/challenges-projects/element14-presents/sudosergeant/w/documents/3660/sudo-sergeant-19-hardening-the-secure-shell</link><pubDate>Mon, 13 Aug 2018 23:01:34 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:b31302e9-9f69-402a-9744-adabf706233b</guid><dc:creator>tariq.ahmad</dc:creator><description>Current Revision posted to Documents by tariq.ahmad on 8/13/2018 11:01:34 PM&lt;br /&gt;
&lt;table cellpadding="0" cellspacing="0" style="padding:0px;margin:0px;background-color:#c4e3ed;width:100%;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td rowspan="3" style="vertical-align:bottom;"&gt;&lt;a href="/e14/assets/legacy/2017/FelixExcLeft1.png"&gt;&lt;img alt="image" class="nolightbox" src="/e14/assets/legacy/2017/FelixExcLeft1.png"  /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td rowspan="3" style="vertical-align:top;padding:8px 13px 13px 8px;"&gt;&lt;p style="margin:0;font-size:18px;font-weight:bold;padding-bottom:6px;"&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/benheck/"&gt;element14&amp;#39;s The Ben Heck Show&lt;/a&gt;&lt;/p&gt;&lt;p style="margin:0;padding-bottom:6px;line-height:18px;"&gt;&lt;strong&gt;Join the Ben Heck team every week for amazing hacks!&lt;/strong&gt; Watch them build and mod community-inspired projects using electronics!&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;a href="/challengesprojects/element14-presents/benheck/"&gt;Back to The Ben Heck Show homepage &lt;img loading="lazy" alt="image" src="/e14/assets/legacy/gen/LinkArrow.gif"  /&gt;&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#004156;vertical-align:middle;" width="30%"&gt;&lt;a class="" href="https://www.element14.com/community/community/experts/benheck/sudosergeant?ICID=SS-episodedoc-topban"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;sudo Sergeant&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#005973;vertical-align:middle;"&gt;&lt;a class="" href="https://www.element14.com/community/community/experts/benheck/thelearningcircuit?ICID=SS-episodedoc-topban"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;The Learning Circuit&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#006f91;vertical-align:middle;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/benheck/ben-heck-exclusive/w/documents/9678/the-ben-heck-show-episode-archive"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;See All Episodes&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table style="width:80%;display:block;margin:0 auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding-bottom:12px;"&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=V1scVUD8QGQ"&gt;www.youtube.com/watch&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p style="margin:0;border:1px solid #b8d7e5;background-color:#e9f6fc;padding:8px;max-width:634px;"&gt;&lt;span style="color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:justify;"&gt;Felix goes over some basic and essential security configurations for the Raspberry Pi.&amp;nbsp; He does this for the Raspbian install, however, what he shows you can be applicable to other single board computers or distributions with slight modifications.&amp;nbsp; Modifying the security settings of the Raspberry Pi will allow you to connect to the network more securely.&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Felix goes over modifying the sudoers file.&amp;nbsp; This file manages how sudo is invoked and what groups or accounts are bestowed with the privileges of sudo.&amp;nbsp; A secure practice is to require an account with sudo privileges to supply a password when calling any program with sudo.&amp;nbsp; Some system administrators like to require anyone logged into the account to also know the root password.&amp;nbsp; The only thing Felix is requiring is for the person to know the passphrase for the account in the sudo group.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;He also shows you how to create a new key pair.&amp;nbsp; A key pair consists of a public and a private key.&amp;nbsp; He starts by issuing a key gen instruction via SSH.&amp;nbsp; He then shows you how to install and setup fail2ban.&amp;nbsp; Fail2ban is a service that can track failed attemps to the SSH port and if an IP address fails repeatedly, the IP address can be blocked for a period of time, or indefinitely.&amp;nbsp; In the comments below let us know if there is anything related to security that you would like us to go into more detail about.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: tft screen, security, ip address, sudoers, ssh, system administration, key pair, fail2ban, raspbian, sudosergeant, linux&lt;/div&gt;
</description></item><item><title>sudo Sergeant 13: Driving a TFT Screen Using GPIO</title><link>https://community.element14.com/challenges-projects/element14-presents/sudosergeant/w/documents/3442/sudo-sergeant-13-driving-a-tft-screen-using-gpio</link><pubDate>Mon, 13 Aug 2018 22:56:27 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:19f95a3d-ef99-46a0-9cf1-678333586cad</guid><dc:creator>tariq.ahmad</dc:creator><description>Current Revision posted to Documents by tariq.ahmad on 8/13/2018 10:56:27 PM&lt;br /&gt;
&lt;table cellpadding="0" cellspacing="0" style="padding:0px;margin:0px;background-color:#c4e3ed;width:100%;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td rowspan="3" style="vertical-align:bottom;"&gt;&lt;a href="/e14/assets/legacy/2017/FelixExcLeft1.png"&gt;&lt;img alt="image" class="nolightbox" src="/e14/assets/legacy/2017/FelixExcLeft1.png"  /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td rowspan="3" style="vertical-align:top;padding:8px 13px 13px 8px;"&gt;&lt;p style="margin:0;font-size:18px;font-weight:bold;padding-bottom:6px;"&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/benheck/"&gt;element14&amp;#39;s The Ben Heck Show&lt;/a&gt;&lt;/p&gt;&lt;p style="margin:0;padding-bottom:6px;line-height:18px;"&gt;&lt;strong&gt;Join the Ben Heck team every week for amazing hacks!&lt;/strong&gt; Watch them build and mod community-inspired projects using electronics!&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;a href="/challengesprojects/element14-presents/benheck/"&gt;Back to The Ben Heck Show homepage &lt;img loading="lazy" alt="image" src="/e14/assets/legacy/gen/LinkArrow.gif"  /&gt;&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#004156;vertical-align:middle;" width="30%"&gt;&lt;a class="" href="https://www.element14.com/community/community/experts/benheck/sudosergeant?ICID=SS-episodedoc-topban"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;sudo Sergeant&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#005973;vertical-align:middle;"&gt;&lt;a class="" href="https://www.element14.com/community/community/experts/benheck/thelearningcircuit?ICID=SS-episodedoc-topban"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;The Learning Circuit&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#006f91;vertical-align:middle;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/benheck/ben-heck-exclusive/w/documents/9678/the-ben-heck-show-episode-archive"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;See All Episodes&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table style="width:80%;display:block;margin:0 auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding-bottom:12px;"&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=SqR6esRByzY"&gt;www.youtube.com/watch&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p style="margin:0;border:1px solid #b8d7e5;background-color:#e9f6fc;padding:8px;max-width:634px;"&gt;&lt;span style="color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:justify;"&gt;Felix shows you how to install retropie through terminal and how to drive a TFT screen with the GPIO of a Raspberry Pi. He configures SSH to login and modify some files, adds a custom device tree source file, compiles the device tree source file, and adds some additional lines to the config.txt file in order to get the kernel and operating system working together to drive the TFT screen with GPIO. &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;margin-bottom:15px;color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:left;"&gt;&lt;span&gt;The first thing you want to do is download your disk image of retropie at &lt;/span&gt;&lt;a class="" href="https://retropie.org.uk/"&gt;https://retropie.org.uk/&lt;/a&gt;&lt;span&gt;.&amp;nbsp; You’ll have two different downloads to chose from.&amp;nbsp; One is for the Raspberry Pi Zero or the first Raspberry Pi and the other is for Raspberry Pi 2 and 3. Felix downloads the version for Raspberry Pi Zero.&amp;nbsp; Once it downloads Felix takes a look at it in terminal. It will show up in the image directory of terminal as retropie-4.3-rp1_zero.img.gz.&amp;nbsp; The gz extension at the end means it is a compressed file.&amp;nbsp; To expand it to an uncompressed file: &lt;/span&gt;&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;"&gt;$&amp;nbsp; gunzip -k -v retropie-4.3-rpi1_zero.img.gz &lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;margin-bottom:15px;color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:left;"&gt;Felix shows a comparison between the compressed and the uncompressed file in terminal.&amp;nbsp; To find out where the SD card is he uses:&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;"&gt;$ lsblk&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;margin-bottom:15px;color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:left;"&gt;He uses the dd utility for converting and copying a file.&amp;nbsp; He goes over the man page for the dd utility to go over the various operands he needs to send to it.&amp;nbsp; He enters the following in terminal:&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;"&gt;$ sudo ./retropie=4.3-rpi1_zero.img of=/dev/sdd bs=10M status=progress&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;margin-bottom:15px;color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:left;"&gt;Felix suggests leaving off sudo initially to make sure you’re not writing to the wrong disk.&amp;nbsp; You’ll see the progress of the operating system moving to the SD card through terminal. Now that the operating system is in the SD card they can attach it to the Raspberry Pi.&amp;nbsp; As this is the Pi 1,&amp;nbsp; he’ll also hook it up a USB hub with Ethernet on it, before connecting the hub to a keyboard. Once Retropie boots on the Pi, press F4 and that will take you to terminal.&amp;nbsp; In terminal you will enter: $ sudo raspi –config This will take you into the configuration menu. Go to interfacing Options.&amp;nbsp;&amp;nbsp; From there go down to SSH and enable it.&amp;nbsp; Next go into localization options and change local. You’re going to want to switch it to whatever your local region is.&amp;nbsp; Felix finds and selects the region code for the US. He also goes over how to set your Timezone, Keyboard Layout, and Wi Fi country.&amp;nbsp; Next, Felix goes into the Advanced Options where he selects the option to Expand the file system to ensure that all of the SD card storage is available to the OS. After you do all that, reboot the Pi. Felix consults the man page for nmap and uses the nmap utility to find the ip address of the Raspberry Pi through terminal.&amp;nbsp;&amp;nbsp; In his case it looks like:&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;"&gt;$ nmap 102.1.48.1.*&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;margin-bottom:15px;color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:left;"&gt;This will scan the network and spit back what it finds. The nmap utiplity reports that the device is connected to the network.&amp;nbsp; He’s scanning for devices that have SSH Open and there is only one device listed.&amp;nbsp; Before connecting to the IP address he’ll need to modify the default SSH. To do this he logs in as Pi and edits the SSH config so that he can login as root.&amp;nbsp; The reason he needs to login as root is so that he can remotely access files on the root directory.&amp;nbsp; He uses the following command:&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;"&gt;$ sudo nano /etc/ssh/sshd_config&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;margin-bottom:15px;color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:left;"&gt;He uncomments the option to permit root access.&amp;nbsp; Now that he’s modified the SSH config file, he’ll need to restart the SSH service:&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;"&gt;$ sudo systemctl restart ssh.service He’ll also $ sudo systemctl restart sshswitch.service&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;margin-bottom:15px;color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:left;"&gt;Before logging in as root he’ll need to login as pi and set the password for root:&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;"&gt;$ sudo passwd root &lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;margin-bottom:15px;color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:left;"&gt;Once this is done he logs back in as root. The reason he wants to login as root is so that he can use the dolphin file browser and transfer files to the root directory.&amp;nbsp; Once he logs in as Pi he goes to the boot directory and edits the config.txt file. You’ll need to do this in order to add some custom lines for the TFT screen.&amp;nbsp; The TFT screen is going to be driven by a device tree overlay.&amp;nbsp; You can find documentation on the device tree overlay at &lt;a class="jive-link-external-small" href="https://www.raspberrypi.org/documentation/configuration/device-tree.md" rel="nofollow ugc noopener" target="_blank"&gt;https://www.raspberrypi.org/documentation/configuration/device-tree.md&lt;/a&gt;.&amp;nbsp; There you can read up on device tree overlays and parameters.&amp;nbsp; The device tree overlay will be compiled in the boot directory.&amp;nbsp; On Felix’s local machine he’s able to login the Raspberry Pi over the fish protocol which uses SSH on the backend.&lt;/p&gt;&lt;p style="margin:0;margin-bottom:15px;color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:left;"&gt;Since he’s logged in as root he can drag and edit files in the boot directory.&amp;nbsp; He drag over are the gpio-tft-16bit-565.dts which is the source file that once compiled will create the DT –blob.bin file. When the system boots the config.txt file has some configuration lines that refer to the DT –blob.bin file and that enables the Raspberry Pi to drive the TFT screen directly with the GPIO.&amp;nbsp;&amp;nbsp; Felix walks you through the process of setting that up. Once he’s copied the lines he needs he goes back into terminal to edit the config file.&amp;nbsp; At the bottom of the file he pastes the lines that he’s copied. He’s commented a compile script which he also drags over to the Pi. He compiles the DTS file and that produces a bin file.&amp;nbsp; The bin file tells the kernel, the operating system, and everything how to interface with the TFT screen over the GPIO.&amp;nbsp;&amp;nbsp; At this point you should be able to reboot the Raspberry Pi and the TFT screen should be working.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: dts file, sudo sergeant, terminal, tft screen, compile, gpio, rpibeginner, raspberry pi zero, ssh, raspberry pi, rpiexpert, retropie, boot, device tree overlay, sudo, sudosergeant, linux, man pages&lt;/div&gt;
</description></item><item><title>sudo Sergeant 14: Enabling Buttons on the Raspberry Pi No HDMI</title><link>https://community.element14.com/challenges-projects/element14-presents/sudosergeant/w/documents/3444/sudo-sergeant-14-enabling-buttons-on-the-raspberry-pi-no-hdmi</link><pubDate>Mon, 13 Aug 2018 22:55:41 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:ffb0a135-2265-4773-add8-1b3a3e6548ea</guid><dc:creator>tariq.ahmad</dc:creator><description>Current Revision posted to Documents by tariq.ahmad on 8/13/2018 10:55:41 PM&lt;br /&gt;
&lt;table cellpadding="0" cellspacing="0" style="padding:0px;margin:0px;background-color:#c4e3ed;width:100%;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td rowspan="3" style="vertical-align:bottom;"&gt;&lt;a href="/e14/assets/legacy/2017/FelixExcLeft1.png"&gt;&lt;img alt="image" class="nolightbox" src="/e14/assets/legacy/2017/FelixExcLeft1.png"  /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td rowspan="3" style="vertical-align:top;padding:8px 13px 13px 8px;"&gt;&lt;p style="margin:0;font-size:18px;font-weight:bold;padding-bottom:6px;"&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/benheck/"&gt;element14&amp;#39;s The Ben Heck Show&lt;/a&gt;&lt;/p&gt;&lt;p style="margin:0;padding-bottom:6px;line-height:18px;"&gt;&lt;strong&gt;Join the Ben Heck team every week for amazing hacks!&lt;/strong&gt; Watch them build and mod community-inspired projects using electronics!&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;a href="/challengesprojects/element14-presents/benheck/"&gt;Back to The Ben Heck Show homepage &lt;img loading="lazy" alt="image" src="/e14/assets/legacy/gen/LinkArrow.gif"  /&gt;&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#004156;vertical-align:middle;" width="30%"&gt;&lt;a class="" href="https://www.element14.com/community/community/experts/benheck/sudosergeant?ICID=SS-episodedoc-topban"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;sudo Sergeant&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#005973;vertical-align:middle;"&gt;&lt;a class="" href="https://www.element14.com/community/community/experts/benheck/thelearningcircuit?ICID=SS-episodedoc-topban"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;The Learning Circuit&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#006f91;vertical-align:middle;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/benheck/ben-heck-exclusive/w/documents/9678/the-ben-heck-show-episode-archive"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;See All Episodes&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table style="width:80%;display:block;margin:0 auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding-bottom:12px;"&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=-AjqBuJuIms"&gt;www.youtube.com/watch&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p style="margin:0;border:1px solid #b8d7e5;background-color:#e9f6fc;padding:8px;max-width:634px;"&gt;&lt;span style="color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:justify;"&gt;In this segment, Felix continues working on the Raspberry Pi No HDMI build.&amp;nbsp; Previously, he showed you how to drive a TFT screen directly with the GPIO. Now he&amp;#39;s going to reconfigure the Linux kernel and enable the GPIO keyboard matrix module. .&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;margin-bottom:15px;color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:left;"&gt;&lt;span&gt;Felix takes us to a site (blog.gegg.us/category/foss/) that explains how you can enable the GIO matrix.&amp;nbsp; To check to see if the keyboard matrix is already enabled use: $ sudo mod info matrix-keypad If you get an error, that mean s you need to recompile the kernel with it enabled.&amp;nbsp; Felix demonstrates the steps how to cross compile the Linux kernel for the Raspberry Pi on an Arch Linux system.&amp;nbsp; He starts by opening up the Kate program.&amp;nbsp; It’s a plain text editor with a terminal attached to it. He utilizes the terminal to connect to the Raspberry Pi via SSH. The notes on are on the top pane and the terminal at the bottom is connected to the Raspberry Pi via SSH. You’ll need to download the cross-compile tools ($ git clone &lt;/span&gt;&lt;a class="" href="https://github.com/raspberry"&gt;https://github.com/raspberry&lt;/a&gt;&lt;span&gt; pi/tools ./tools) You’ll alsoneed to update the environment path and add the location of the compiled tools ($echo $PATH) which will add the tools path to the path variable. After adding the new path to the .bashrc file its necessary to source the .bashrc file that will refresh and update the path variable.&amp;nbsp; You can view the path again to see the updated changes.&amp;nbsp; Download the Linux source ($ git clone –depth=1 &lt;/span&gt;&lt;a class="" href="https://github.com/raspberrypi/linux"&gt;https://github.com/raspberrypi/linux&lt;/a&gt;&lt;span&gt;).&amp;nbsp; Felix runs through a list of things you can do while you wait for it to download. &lt;/span&gt;&lt;/p&gt;&lt;p style="margin:0;margin-bottom:15px;color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:left;"&gt;As this is a Arch Linux system you need the ncurses installed ($ sudo pacman –S ncurses).&amp;nbsp; Next, you’ll create the variable kernel to reflex the name of the desired new kernel&amp;nbsp; ($ cd linux/ $ KERNAL=kernal).&amp;nbsp; From the Linux source directory prepare the .config file.&amp;nbsp; After preparing the .config file, you will need to open up the mini config and select the proper modules to compile.&amp;nbsp; Make the menu config and select the proper options. Enable the keypad GPIO matrix and enable USB drivers.&amp;nbsp; Navigate to: device drivers &amp;gt;&amp;gt; input device drivers &amp;gt;&amp;gt; keyboards &amp;gt;&amp;gt; GPIO driven matrix keypad support Save and exit.&amp;nbsp; You’ll also need to enable some USB modules. He goes into the USB options and checks some of those. After checking the USB drives he saves and completes the configuration file. Felix starts the compile ($ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf - zImage modules dtbs –j 8).&amp;nbsp; The magic argument in this sauce is -j 8.&amp;nbsp; The –j 8 flag enables multi-thread compiling to reduce compile time. Next, Felix takes the newly compiled kernel and all the support files and transfers them over to the SD card. He’ll need to mount the SD card and then copy the files over.&amp;nbsp; He lists the block devices ($ lsblk) and then mounts the sd card ($sudo mount /dev/ssd1 ../../Mount/boot) which is boot partition to the mount point he’s created in the filesystem.&amp;nbsp; Once the boot partition is mounted you can list the directory ($ ls ../../Mount/boot/ ) and does the same for the root ($ ls ../Mount/root/).&amp;nbsp; Next, he installs the modules with the make instruction ($sudo make ARCH=arm CROSS_COMPILE=arm&amp;nbsp; -linux&amp;nbsp; -gnueabihf – INSTALL_MOD_PATH=../ ../ ../Mount / root modules_install).&amp;nbsp; Felix makes a backup of the stock image that came with the operating system ($ sudo cp ../../ ../Mount/boot/$KERNEL.img ../../ ../Mount/boot/$KERNEL -backup.img).&amp;nbsp; He then copies the Z image to the boot directory.&lt;/p&gt;&lt;p style="margin:0;margin-bottom:15px;color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:left;"&gt;He names the kernel he wants to boot into($ sudo cp ../ ../ ../Mount/boot/$KERNEL.img ../ ../ ../Mount/boot/$KERNEL-backup.img).&amp;nbsp; He then copies the compiled device tree files to the boot directory. He also modifies the .config file so that when the Raspberry Pi boots, it loads the modified kernel. He does this by adding a line (kernel=kernel –gpio-matrix.img).&amp;nbsp; Once you unmount the partitions you’ll be able to boot into the Raspberry Pi with the new kernel without getting an error. Felix shows you how to create the GPIO matix .DTS file and compile it. You can do this by referencing the TFT connections and finding the GPIO pins to use.&amp;nbsp; He also shows you a reference to all the connections that have been made.&amp;nbsp; She shows you the lines that define the GPIO rows and columns to use for the matrix. The next section defines the key map.&amp;nbsp; It has a hex code that relates to a column, a row, and a Linux key code that we want it to represent.&amp;nbsp; The code of the input key comes from the Linux keyboard.h file or the input-event-codes .h file. Felix transfers the source file and a compile script onto the Raspberry Pi.&amp;nbsp; He compiles into the device tree overlay directory. He adds the device tree overlay to the config.txt file.&amp;nbsp; He reboots to check to see if the button matrix is functional. He’ll need to invoke LS input which requires installing the input utilities package ($ sudo apt –get install input -utils).&amp;nbsp;&amp;nbsp;&amp;nbsp; This will list the devices connected to the GPIO matrix.&amp;nbsp; You can now see the results of key presses with input events and the event number zero.&amp;nbsp; Now events happen when the key is pressed.&amp;nbsp; Felix creates a UDEV rule to prevent the GPIO kernel matrix from conflicting with the SDL library used to make the emulator.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: terminal, tft screen, rpiintermediate, boot directory, gpio, matrix, usb, raspberry pi, sdl library, open source, kernel, command line, no hdmi, device tree overlay, sudo, sudosergeant, linux&lt;/div&gt;
</description></item><item><title>sudo Sergeant 15: Pi-Top Teardown</title><link>https://community.element14.com/challenges-projects/element14-presents/sudosergeant/w/documents/3536/sudo-sergeant-15-pi-top-teardown</link><pubDate>Mon, 13 Aug 2018 22:55:15 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:ed7b3901-daee-4170-9efb-0af5570611cb</guid><dc:creator>tariq.ahmad</dc:creator><description>Current Revision posted to Documents by tariq.ahmad on 8/13/2018 10:55:15 PM&lt;br /&gt;
&lt;table cellpadding="0" cellspacing="0" style="padding:0px;margin:0px;background-color:#c4e3ed;width:100%;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td rowspan="3" style="vertical-align:bottom;"&gt;&lt;a href="/e14/assets/legacy/2017/FelixExcLeft1.png"&gt;&lt;img alt="image" class="nolightbox" src="/e14/assets/legacy/2017/FelixExcLeft1.png"  /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td rowspan="3" style="vertical-align:top;padding:8px 13px 13px 8px;"&gt;&lt;p style="margin:0;font-size:18px;font-weight:bold;padding-bottom:6px;"&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/benheck/"&gt;element14&amp;#39;s The Ben Heck Show&lt;/a&gt;&lt;/p&gt;&lt;p style="margin:0;padding-bottom:6px;line-height:18px;"&gt;&lt;strong&gt;Join the Ben Heck team every week for amazing hacks!&lt;/strong&gt; Watch them build and mod community-inspired projects using electronics!&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;a href="/challengesprojects/element14-presents/benheck/"&gt;Back to The Ben Heck Show homepage &lt;img loading="lazy" alt="image" src="/e14/assets/legacy/gen/LinkArrow.gif"  /&gt;&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#004156;vertical-align:middle;" width="30%"&gt;&lt;a class="" href="https://www.element14.com/community/community/experts/benheck/sudosergeant?ICID=SS-episodedoc-topban"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;sudo Sergeant&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#005973;vertical-align:middle;"&gt;&lt;a class="" href="https://www.element14.com/community/community/experts/benheck/thelearningcircuit?ICID=SS-episodedoc-topban"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;The Learning Circuit&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#006f91;vertical-align:middle;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/benheck/ben-heck-exclusive/w/documents/9678/the-ben-heck-show-episode-archive"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;See All Episodes&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table style="width:80%;display:block;margin:0 auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding-bottom:12px;"&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=PWAAfZUdm-M"&gt;www.youtube.com/watch&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p style="margin:0;border:1px solid #b8d7e5;background-color:#e9f6fc;padding:8px;max-width:634px;"&gt;&lt;span style="color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:justify;"&gt;Felix unboxes the Pi-Top.&amp;nbsp; The second version of the Pi-Top includes a lot of mini posters that weren’t part of the first release. Included are guide booklets, an inventor’s kit, a Raspberry Pi (optional), a box of accessories, and the power supply. There’s also a Pi Top pulse accessory which has also been included.&amp;nbsp; The guide booklets include a getting started guide and an inventor’s guide.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;margin-bottom:15px;color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:left;"&gt;The Pi-top is marketed as a kit for kids to learn about computing.&amp;nbsp;&amp;nbsp; Felix goes into the box of accessories and finds s buttons, potentiometers, jumper cables, and a breakout board.&amp;nbsp; Felix compares the Pi-top with its previous iteration. He takes out the cooling bridge. It’s a heatsink but it also ports over the GPIO to a header located on the hub. He shows you how to plug the Raspberry Pi into the hub.&amp;nbsp; It’s going to supply power, and give you HDMI.&amp;nbsp; It also connects to the cooling bridge and the breakout board. Now that he’s shown you how easy it is to put together, he’s ready to take it apart. &lt;/p&gt;&lt;p style="margin:0;margin-bottom:15px;color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:left;"&gt;He starts with the hub and then precedes to voids the warranty by removing the ribbon cable and prying off the rails. After snapping off the parts, he admires the included battery bank.&amp;nbsp; Next, he takes apart the screen.&amp;nbsp; The screen pops out after he loosens the ribbon cable.&amp;nbsp; Some of the parts that he finds included in the hub are the ATtiny88, a multiplexer demultiplexer for the GPIO, and for video there is an HDMI to embedded Display Port converter.&amp;nbsp; For the battery there is a lithium-ion battery integrated circuit and a gas gauge. Felix admires the battery pack. On the Pi-top proto plus, Felix discovers an ATtiny20.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: potentiometer, battery bank, gpio, multiplexer, power supply, breakout board, attiny20, raspberry pi, gas gauge, ribbon cable, demultiplexer, open source, kernel, jumper cables, integrated circuit, pi-top, attiny88, sudo, sudosergeant, display port converter, pi laptop&lt;/div&gt;
</description></item><item><title>sudo Sergeant 16: Pi-Top OS Overview</title><link>https://community.element14.com/challenges-projects/element14-presents/sudosergeant/w/documents/3554/sudo-sergeant-16-pi-top-os-overview</link><pubDate>Mon, 13 Aug 2018 22:54:45 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:4a8a69c1-eda8-42fe-8f6e-713562ff3121</guid><dc:creator>tariq.ahmad</dc:creator><description>Current Revision posted to Documents by tariq.ahmad on 8/13/2018 10:54:45 PM&lt;br /&gt;
&lt;table cellpadding="0" cellspacing="0" style="padding:0px;margin:0px;background-color:#c4e3ed;width:100%;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td rowspan="3" style="vertical-align:bottom;"&gt;&lt;a href="/e14/assets/legacy/2017/FelixExcLeft1.png"&gt;&lt;img alt="image" class="nolightbox" src="/e14/assets/legacy/2017/FelixExcLeft1.png"  /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td rowspan="3" style="vertical-align:top;padding:8px 13px 13px 8px;"&gt;&lt;p style="margin:0;font-size:18px;font-weight:bold;padding-bottom:6px;"&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/benheck/"&gt;element14&amp;#39;s The Ben Heck Show&lt;/a&gt;&lt;/p&gt;&lt;p style="margin:0;padding-bottom:6px;line-height:18px;"&gt;&lt;strong&gt;Join the Ben Heck team every week for amazing hacks!&lt;/strong&gt; Watch them build and mod community-inspired projects using electronics!&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;a href="/challengesprojects/element14-presents/benheck/"&gt;Back to The Ben Heck Show homepage &lt;img loading="lazy" alt="image" src="/e14/assets/legacy/gen/LinkArrow.gif"  /&gt;&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#004156;vertical-align:middle;" width="30%"&gt;&lt;a class="" href="https://www.element14.com/community/community/experts/benheck/sudosergeant?ICID=SS-episodedoc-topban"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;sudo Sergeant&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#005973;vertical-align:middle;"&gt;&lt;a class="" href="https://www.element14.com/community/community/experts/benheck/thelearningcircuit?ICID=SS-episodedoc-topban"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;The Learning Circuit&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#006f91;vertical-align:middle;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/benheck/ben-heck-exclusive/w/documents/9678/the-ben-heck-show-episode-archive"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;See All Episodes&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table style="width:80%;display:block;margin:0 auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding-bottom:12px;"&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=wWj95fZNwjQ"&gt;www.youtube.com/watch&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p style="margin:0;border:1px solid #b8d7e5;background-color:#e9f6fc;padding:8px;max-width:634px;"&gt;&lt;span style="color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:justify;"&gt;The pi-top OS is great for learning to code using Python, discover Scratch, or to have fun while interacting with electronics.&amp;nbsp;&amp;nbsp;&amp;nbsp; It also comes with some really great kits.&amp;nbsp;&amp;nbsp; In this segment, Felix boots into the Pi-top OS and goes through initial setup. After selecting his preferences he goes over the tour of the desktop. He also introduces you to the pi-topCODER, a learning tutorial on how to interface with the GPIO using Python. &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;margin-bottom:15px;color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:left;"&gt;Felix opens up the terminal to learn more about the OS.&amp;nbsp; The pi-top runs a modified version of Raspbian called Polaris.&amp;nbsp;&amp;nbsp; The Polaris OS is basically the same as Raspbian except that it’s been modified to accommodate the additional hardware and include the pi-top dashboard.&amp;nbsp;&amp;nbsp; You can get anything you want from the dashboard through the menus.&amp;nbsp; Felix goes over the programming menu option which supports several coding environments for Python, Java, Scratch, and Sonic Pi.&amp;nbsp; He walks through some of the other menu options such as what’s included with Office, Games, and Settings. He returns to the desktop and demonstrates how you would use the built in pi-top coder to create a circuit using a breadboard.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: scratch, gpio, circuit, pi-topcoder, breadboard, pi-top, raspbian, polaris, sudosergeant, pi laptop, linux, java&lt;/div&gt;
</description></item><item><title>sudo Sergeant 17: Pi No HDMI Revisited GPIO</title><link>https://community.element14.com/challenges-projects/element14-presents/sudosergeant/w/documents/3589/sudo-sergeant-17-pi-no-hdmi-revisited-gpio</link><pubDate>Mon, 13 Aug 2018 22:54:07 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:34f63aab-3f61-49a6-8073-af12885966e8</guid><dc:creator>tariq.ahmad</dc:creator><description>Current Revision posted to Documents by tariq.ahmad on 8/13/2018 10:54:07 PM&lt;br /&gt;
&lt;table cellpadding="0" cellspacing="0" style="padding:0px;margin:0px;background-color:#c4e3ed;width:100%;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td rowspan="3" style="vertical-align:bottom;"&gt;&lt;a href="/e14/assets/legacy/2017/FelixExcLeft1.png"&gt;&lt;img alt="image" class="nolightbox" src="/e14/assets/legacy/2017/FelixExcLeft1.png"  /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td rowspan="3" style="vertical-align:top;padding:8px 13px 13px 8px;"&gt;&lt;p style="margin:0;font-size:18px;font-weight:bold;padding-bottom:6px;"&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/benheck/"&gt;element14&amp;#39;s The Ben Heck Show&lt;/a&gt;&lt;/p&gt;&lt;p style="margin:0;padding-bottom:6px;line-height:18px;"&gt;&lt;strong&gt;Join the Ben Heck team every week for amazing hacks!&lt;/strong&gt; Watch them build and mod community-inspired projects using electronics!&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;a href="/challengesprojects/element14-presents/benheck/"&gt;Back to The Ben Heck Show homepage &lt;img loading="lazy" alt="image" src="/e14/assets/legacy/gen/LinkArrow.gif"  /&gt;&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#004156;vertical-align:middle;" width="30%"&gt;&lt;a class="" href="https://www.element14.com/community/community/experts/benheck/sudosergeant?ICID=SS-episodedoc-topban"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;sudo Sergeant&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#005973;vertical-align:middle;"&gt;&lt;a class="" href="https://www.element14.com/community/community/experts/benheck/thelearningcircuit?ICID=SS-episodedoc-topban"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;The Learning Circuit&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#006f91;vertical-align:middle;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/benheck/ben-heck-exclusive/w/documents/9678/the-ben-heck-show-episode-archive"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;See All Episodes&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table style="width:80%;display:block;margin:0 auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding-bottom:12px;"&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=tCHyiY23vPY"&gt;www.youtube.com/watch&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p style="margin:0;border:1px solid #b8d7e5;background-color:#e9f6fc;padding:8px;max-width:634px;"&gt;&lt;span style="color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:justify;"&gt;Felix reviews the connections between the Raspberry Pi, the TFT adapter, and the button matrix for the Raspberry Pi No HDMI projects.&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/sudosergeant/w/documents/3442/sudo-sergeant-13-driving-a-tft-screen-using-gpio"&gt;sudo Sergeant 13: Driving a TFT Screen Using GPIO&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/sudosergeant/w/documents/3444/sudo-sergeant-14-enabling-buttons-on-the-raspberry-pi-no-hdmi"&gt;sudo Sergeant 14: Enabling Buttons on the Raspberry Pi No HDMI&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/benheck/ben-heck-exclusive/w/documents/3285/episode-322-rasp-pi-no-hdmi---portable-mame-part-1"&gt;Episode 322: Rasp Pi No HDMI - Portable MAME Part 1&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/benheck/ben-heck-exclusive/w/documents/3379/episode-328-rasp-pi-no-hdmi---portable-mame-part-2"&gt;Episode 328: Rasp Pi No HDMI - Portable MAME Part 2&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;margin-bottom:15px;color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:left;"&gt;Felix revisits the Raspberry Pi no HDMI project. There were quite a few questions on the community regarding the GPIO connections between the Raspberry Pi and the TFT along with the button matrix.&amp;nbsp; The &lt;a class="jive-link-external-small" href="https://github.com/thebenheckshow/322-328-tbhs-RaspberryPi-No-HDMI-Portable-RetroPie" rel="nofollow ugc noopener" target="_blank"&gt;github repository&lt;/a&gt; for this project includes the bill of material, data sheets, enclosure, OS setup, and schematics.&amp;nbsp; In there you can find the GPIO set up, along with a spreadsheet for the GPIO connections, under the OS set up.&amp;nbsp; A good reference for this can be found at &lt;a class="jive-link-external-small" href="http://www.raspberrypi.org/documentation/hardware/raspberrypi/dpi/README.md" rel="nofollow ugc noopener" target="_blank"&gt;www.raspberrypi.org/documentation/hardware/raspberrypi/dpi/README.md&lt;/a&gt;.&amp;nbsp; There you can find a chart that shows the different modes that can output the display through the GPIO.&lt;/p&gt;&lt;p style="margin:0;margin-bottom:15px;color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:left;"&gt;They are using the 565 configuration for the TFT display. It opens up GPIO 27 to 20 for the button matrix.&amp;nbsp; The connections they go with for the TFT screen are GPIO 27, 22, 26, 23, 24, 25, 20, and 21.&amp;nbsp; Finally, Felix shows you where to look for the connections on the Raspberry Pi itself.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: tft screen, raspberry pi no hdmi, gpio, schematics, button matrix, gpio connections, device tree overlay, raspbian, sudosergeant, linux&lt;/div&gt;
</description></item><item><title>sudo Sergeant 18: Pi No HDMI Revisited Security</title><link>https://community.element14.com/challenges-projects/element14-presents/sudosergeant/w/documents/3623/sudo-sergeant-18-pi-no-hdmi-revisited-security</link><pubDate>Mon, 13 Aug 2018 22:53:42 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:e74925a8-220a-4218-aa1b-0f7dc4e4d6ea</guid><dc:creator>tariq.ahmad</dc:creator><description>Current Revision posted to Documents by tariq.ahmad on 8/13/2018 10:53:42 PM&lt;br /&gt;
&lt;table cellpadding="0" cellspacing="0" style="padding:0px;margin:0px;background-color:#c4e3ed;width:100%;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td rowspan="3" style="vertical-align:bottom;"&gt;&lt;a href="/e14/assets/legacy/2017/FelixExcLeft1.png"&gt;&lt;img alt="image" class="nolightbox" src="/e14/assets/legacy/2017/FelixExcLeft1.png"  /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td rowspan="3" style="vertical-align:top;padding:8px 13px 13px 8px;"&gt;&lt;p style="margin:0;font-size:18px;font-weight:bold;padding-bottom:6px;"&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/benheck/"&gt;element14&amp;#39;s The Ben Heck Show&lt;/a&gt;&lt;/p&gt;&lt;p style="margin:0;padding-bottom:6px;line-height:18px;"&gt;&lt;strong&gt;Join the Ben Heck team every week for amazing hacks!&lt;/strong&gt; Watch them build and mod community-inspired projects using electronics!&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;a href="/challengesprojects/element14-presents/benheck/"&gt;Back to The Ben Heck Show homepage &lt;img loading="lazy" alt="image" src="/e14/assets/legacy/gen/LinkArrow.gif"  /&gt;&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#004156;vertical-align:middle;" width="30%"&gt;&lt;a class="" href="https://www.element14.com/community/community/experts/benheck/sudosergeant?ICID=SS-episodedoc-topban"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;sudo Sergeant&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#005973;vertical-align:middle;"&gt;&lt;a class="" href="https://www.element14.com/community/community/experts/benheck/thelearningcircuit?ICID=SS-episodedoc-topban"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;The Learning Circuit&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#006f91;vertical-align:middle;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/benheck/ben-heck-exclusive/w/documents/9678/the-ben-heck-show-episode-archive"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;See All Episodes&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table style="width:80%;display:block;margin:0 auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding-bottom:12px;"&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=yZTed7S2QSE"&gt;www.youtube.com/watch&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p style="margin:0;border:1px solid #b8d7e5;background-color:#e9f6fc;padding:8px;max-width:634px;"&gt;&lt;span style="color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:justify;"&gt;Felix revisits the No Pi HDMI project.&amp;nbsp; This time he’s going to take a look at the security vulnerability that he opened up allowing remote login over SSH as root.&amp;nbsp; He’s going to first close up that security vulnerability and then show you another way to access files over the network in a more secure manner.&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/sudosergeant/w/documents/3442/sudo-sergeant-13-driving-a-tft-screen-using-gpio"&gt;sudo Sergeant 13: Driving a TFT Screen Using GPIO&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/sudosergeant/w/documents/3444/sudo-sergeant-14-enabling-buttons-on-the-raspberry-pi-no-hdmi"&gt;sudo Sergeant 14: Enabling Buttons on the Raspberry Pi No HDMI&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/benheck/ben-heck-exclusive/w/documents/3285/episode-322-rasp-pi-no-hdmi---portable-mame-part-1"&gt;Episode 322: Rasp Pi No HDMI - Portable MAME Part 1&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/benheck/ben-heck-exclusive/w/documents/3379/episode-328-rasp-pi-no-hdmi---portable-mame-part-2"&gt;Episode 328: Rasp Pi No HDMI - Portable MAME Part 2&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/sudosergeant/w/documents/3589/sudo-sergeant-17-pi-no-hdmi-revisited-gpio"&gt;sudo Sergeant 17: Pi No HDMI Revisited GPIO&lt;/a&gt; &lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: tft screen, raspberry pi no hdmi, security, gpio, schematics, button matrix, ssh, gpio connections, system administration, device tree overlay, raspbian, sudosergeant, linux&lt;/div&gt;
</description></item><item><title>sudo Sergeant 04: Ditch the Arduino IDE for the Linux Terminal</title><link>https://community.element14.com/challenges-projects/element14-presents/sudosergeant/w/documents/3114/sudo-sergeant-04-ditch-the-arduino-ide-for-the-linux-terminal</link><pubDate>Sun, 18 Mar 2018 17:54:24 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:8b9b93bc-ff54-42de-986b-29cfcd8ce8c2</guid><dc:creator>tariq.ahmad</dc:creator><description>Current Revision posted to Documents by tariq.ahmad on 3/18/2018 5:54:24 PM&lt;br /&gt;
&lt;table cellpadding="0" cellspacing="0" style="padding:0px;margin:0px;background-color:#c4e3ed;width:100%;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td rowspan="3" style="vertical-align:bottom;"&gt;&lt;a href="/e14/assets/legacy/2017/FelixExcLeft1.png"&gt;&lt;img alt="image" class="nolightbox" src="/e14/assets/legacy/2017/FelixExcLeft1.png"  /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td rowspan="3" style="vertical-align:top;padding:8px 13px 13px 8px;"&gt;&lt;p style="margin:0;font-size:18px;font-weight:bold;padding-bottom:6px;"&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/benheck/"&gt;element14&amp;#39;s The Ben Heck Show&lt;/a&gt;&lt;/p&gt;&lt;p style="margin:0;padding-bottom:6px;line-height:18px;"&gt;&lt;strong&gt;Join the Ben Heck team every week for amazing hacks!&lt;/strong&gt; Watch them build and mod community-inspired projects using electronics!&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;a href="/challengesprojects/element14-presents/benheck/"&gt;Back to The Ben Heck Show homepage &lt;img loading="lazy" alt="image" src="/e14/assets/legacy/gen/LinkArrow.gif"  /&gt;&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#004156;vertical-align:middle;" width="30%"&gt;&lt;a class="" href="https://www.element14.com/community/community/experts/benheck/sudosergeant?ICID=SS-episodedoc-topban"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;sudo Sergeant&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#005973;vertical-align:middle;"&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/benheck/ben-heck-exclusive/"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;Featured Bonus Content&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#006f91;vertical-align:middle;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/benheck/ben-heck-exclusive/w/documents/9678/the-ben-heck-show-episode-archive"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;See All Episodes&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table style="width:80%;display:block;margin:0 auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding-bottom:12px;"&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=-Sk-21AOKXM"&gt;www.youtube.com/watch&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p style="margin:0;border:1px solid #b8d7e5;background-color:#e9f6fc;padding:8px;max-width:634px;"&gt;The Arduino Development Environment is cross platform which is another way of saying that its available for Linux. What you might not be aware of is that you&amp;#39;re not locked down to it, not even on Linux. If you&amp;#39;re like Felix, you may find the Arduino Development Environment to clunky for your taste.&amp;nbsp; sudo Sergeant shows you how you can sidestep the Arduino Development Environment, and code the way you want to!&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;strong&gt;Felix Exclusive:&amp;nbsp; &lt;/strong&gt;&lt;a class="jive-link-thread-small" href="https://www.element14.com/community/thread/61398/l/arduino-development-environment-alternatives"&gt;Arduino Development Environment Alternatives . . .&lt;/a&gt;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;clear;
programTitle=&amp;quot;${1}&amp;quot;;
programFind=&amp;quot;`find ../Development -name ${programTitle}`&amp;quot;;
programPath=&amp;quot;${programFind%/*}&amp;quot;;
programName=&amp;quot;${programFind##*/}&amp;quot;;
cd &amp;quot;${programPath}/${programName}&amp;quot;;
currentPath=&amp;quot;`pwd`&amp;quot;;
echo;
echo &amp;quot;Program Info&amp;quot;;
echo;
echo &amp;quot;Program Title = ${programTitle}&amp;quot;;
echo &amp;quot;Program Find  = ${programFind}&amp;quot;;
echo &amp;quot;Program Path  = ${programPath}&amp;quot;;
echo &amp;quot;Program Name  = ${programName}&amp;quot;;
echo &amp;quot;Current Path  = ${currentPath}&amp;quot;;
echo;
# this is where arduino does all the work
arduino --board adafruit:avr:feather32u4 --verbose-build --verbose-upload --preserve-temp-files --upload --port /dev/ttyACM0 ${programName}.ino
programBuildTmpPath=&amp;quot;`find /tmp -name ${programTitle}.ino.elf 2&amp;gt;/dev/null | sed &amp;#39;s|^/tmp/||&amp;#39; `&amp;quot; # | sed &amp;#39;s|^/tmp/||&amp;#39;&amp;quot;; #find /tmp \( -not -readable -o -not -executable \) -prune -name &amp;#39;adruino_build*&amp;#39;
programBuild=&amp;quot;`dirname ${programBuildTmpPath}`&amp;quot;;
programBuildPath=&amp;quot;/tmp/${programBuild}&amp;quot;;
programParentPath=&amp;quot;`dirname ${currentPath}`&amp;quot;;
programBuildPathNew=&amp;quot;${programParentPath}/${programTitle}_Build&amp;quot;;
echo &amp;quot;Program Info&amp;quot;;
echo;
echo &amp;quot;Program Title = ${programTitle}&amp;quot;;
echo &amp;quot;Program Find  = ${programFind}&amp;quot;;
echo &amp;quot;Program Path  = ${programPath}&amp;quot;;
echo &amp;quot;Program Name  = ${programName}&amp;quot;;
echo &amp;quot;Current Path  = ${currentPath}&amp;quot;;
echo;
echo &amp;quot;Program Build Info&amp;quot;;
echo;
echo &amp;quot;Program Build Path Tmp  = ${programBuildPath}&amp;quot;;&lt;/pre&gt;&lt;/p&gt;&lt;div style="display:none;"&gt;&lt;/div&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;In this segment the sudo Sergeant demonstates how you can sidestep the Arduino Development Environment. If you&amp;#39;re like Felix and you are familiar with the Arduino IDE, you can press &amp;quot;Ctrl ,&amp;quot; to go to the preferences and interface with an external editor. While you&amp;#39;ll still need the Arduino Development Environment open in order to compile and upload code, you can choose an environment that is more comfortable for you while you are coding. Felix was looking for more flexibility than that so he went looking for ways to compile to terminal.&amp;nbsp; He stumbled upon some instructions on how to do this on the Arduino manual page.&amp;nbsp; He walks you through how to call Arduino directly from terminal. He&amp;#39;s already looked up and found the arguments you need to send to it and written a script so it takes the argument, uses that argument to find out where the code is, and takes the .INO file and uses it as the input for the arguments going into the Arduino through terminal. In order to find out all the arguments that would be necessary to send to Arduino from the terminal in the preferences of Arduino you need to click on show verbose output during compilation and upload.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;"&gt;Felix shares his screen to show you what the output looks like when you go to compile. He goes through the output and finds the line that tells him the microcontroller argument that he needs to send to. He also sends along the argument for the .INO file that he wants to compile. Its at this point that he closes out the output screen, as he&amp;#39;s got his script right in front of him. The editor of choice for handling his script on Linux is the K Develop IDE. He appreciates its look and feel as well as the fact that he can split his windows into two, giving him a pane on the left and the right. This also allows him to use a dropdown to go to run and configure launches. Felix demonstrates the steps he takes to call the script he wrote, Soroban Programmer. He sends an argument to the script. This is the point where you hit &amp;quot;Shift F9&amp;quot; on your keyboard.&amp;nbsp; This does the same thing as hitting &amp;quot;Ctrl u&amp;quot; on the Arduino Development Environment.&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2&gt;&lt;span style="color:#2873ee;"&gt;Do you have a preferred way to code outside the Arduino Development Environment?&lt;/span&gt;&lt;/h2&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;h2&gt;&lt;span style="color:#2873ee;"&gt;Let us know in the comments below! &lt;/span&gt;&lt;/h2&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: arduino programing, sudo sergeant, arduino terminal, sudo feedback arduino, arduino_vcp, gnu linux, arduino ide, arduino_tutorials, arduino, sudosergeant&lt;/div&gt;
</description></item><item><title>sudo Sergeant 11: Account Management</title><link>https://community.element14.com/challenges-projects/element14-presents/sudosergeant/w/documents/3293/sudo-sergeant-11-account-management</link><pubDate>Sat, 24 Feb 2018 03:02:02 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:185b304a-3b2c-4968-bc64-1dd663114dd2</guid><dc:creator>tariq.ahmad</dc:creator><description>Current Revision posted to Documents by tariq.ahmad on 2/24/2018 3:02:02 AM&lt;br /&gt;
&lt;table cellpadding="0" cellspacing="0" style="padding:0px;margin:0px;background-color:#c4e3ed;width:100%;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td rowspan="3" style="vertical-align:bottom;"&gt;&lt;a href="/e14/assets/legacy/2017/FelixExcLeft1.png"&gt;&lt;img alt="image" class="nolightbox" src="/e14/assets/legacy/2017/FelixExcLeft1.png"  /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td rowspan="3" style="vertical-align:top;padding:8px 13px 13px 8px;"&gt;&lt;p style="margin:0;font-size:18px;font-weight:bold;padding-bottom:6px;"&gt;&lt;a class="jivecontainerTT-hover-container jive-link-community-small" href="/challengesprojects/element14-presents/benheck/"&gt;element14&amp;#39;s The Ben Heck Show&lt;/a&gt;&lt;/p&gt;&lt;p style="margin:0;padding-bottom:6px;line-height:18px;"&gt;&lt;strong&gt;Join the Ben Heck team every week for amazing hacks!&lt;/strong&gt; Watch them build and mod community-inspired projects using electronics!&lt;/p&gt;&lt;p style="margin:0;"&gt;&lt;a href="/challengesprojects/element14-presents/benheck/"&gt;Back to The Ben Heck Show homepage &lt;img loading="lazy" alt="image" src="/e14/assets/legacy/gen/LinkArrow.gif"  /&gt;&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#004156;vertical-align:middle;" width="30%"&gt;&lt;a class="" href="https://www.element14.com/community/community/experts/benheck/sudosergeant?ICID=SS-episodedoc-topban"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;sudo Sergeant&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#005973;vertical-align:middle;"&gt;&lt;a class="" href="https://www.element14.com/community/community/experts/benheck/thelearningcircuit?ICID=SS-episodedoc-topban"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;The Learning Circuit&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:13px 10px 13px 13px;background-color:#006f91;vertical-align:middle;"&gt;&lt;a class="jive-link-wiki-small" href="/challenges-projects/element14-presents/benheck/ben-heck-exclusive/w/documents/9678/the-ben-heck-show-episode-archive"&gt;&lt;span style="color:#ffffff;text-decoration:none;"&gt;See All Episodes&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;table style="width:80%;display:block;margin:0 auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding-bottom:12px;"&gt;&lt;span&gt;&lt;a href="https://www.youtube.com/watch?v=okxQRzB00y0"&gt;www.youtube.com/watch&lt;/a&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;p style="margin:0;border:1px solid #b8d7e5;background-color:#e9f6fc;padding:8px;max-width:634px;"&gt;&lt;span style="color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:justify;"&gt;Linux is a multi-user operating system that allows more than one user to use Linux at the same time.&amp;nbsp; An important role of a system administrator is managing accounts.&amp;nbsp; Felix goes over some of the mechanisms used for account management.&amp;nbsp; He shows you how to create accounts, modify accounts, and remove accounts. &lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;padding:0px;"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin:0;margin-bottom:15px;text-align:justify;color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;"&gt;From terminal, Felix takes a look at all the accounts on his machine:&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:justify;"&gt;$ cat /etc/passwd&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;margin-bottom:15px;text-align:justify;color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;"&gt;This takes him to all the accounts that are on the system. To add an account you would use:&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:justify;"&gt;$ sudo useradd&amp;nbsp; -m&amp;nbsp; -G&amp;nbsp; sudo -s /bin/bash username&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;margin-bottom:15px;text-align:justify;color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;"&gt;This creates a user account named username with sudo privileges.&amp;nbsp; To login to your new account you will need to first setup a password:&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:justify;"&gt;$ sudo passwd username&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;margin-bottom:15px;text-align:justify;color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;"&gt;You’ll be asked to create a new password and the system will tell you when it has been updated. To login to your new account you would switch users using:&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:justify;"&gt;$ su username&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;margin-bottom:15px;text-align:justify;color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;"&gt;To get out of the directory you were just in use:&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:justify;"&gt;$ cd ~&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;margin-bottom:15px;text-align:justify;color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;"&gt;You’ve now created a new account, given it a password, given it sudo privileges, created a login shell, and home directory. You can now view the new user account by using:&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:justify;"&gt;$ cat/etc/password&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;margin-bottom:15px;text-align:justify;color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;"&gt;To change the directory that the user account is located in use:&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:justify;"&gt;$ sudo usermod&amp;nbsp; -d /home/newdirectory&amp;nbsp; -m user&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;margin-bottom:15px;text-align:justify;color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;"&gt;This will change the directory from username to user. To change the shell from /bin/bash to /bin/zsh you would use:&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:justify;"&gt;$ sudo usermod&amp;nbsp;&amp;nbsp; -s /bin/zsh&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;margin-bottom:15px;text-align:justify;color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;"&gt;To change the account name you would use following command:&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:justify;"&gt;$ sudo usermod&amp;nbsp;&amp;nbsp; -l newusername username&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;margin-bottom:15px;text-align:justify;color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;"&gt;This changes the account name from username to newusername.&amp;nbsp;&amp;nbsp; You can confirm this by typing in:&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:justify;"&gt;$ cat /etc/passwd&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;margin-bottom:15px;text-align:justify;color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;"&gt;To add a system account you would use the user add instruction again:&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;&lt;span style="color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:justify;"&gt;$ sudo useradd&amp;nbsp; -r&amp;nbsp; -s&amp;nbsp; /usr/nologin&amp;nbsp; system-account &lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin:0;margin-bottom:15px;text-align:justify;color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;"&gt;This would be useful, for instance, if you had some kind of a background daemon running that needed a user.&amp;nbsp; You would assign a system account to the group.&amp;nbsp; To delete this account when you no longer need it, you would use the following command:&lt;/p&gt;&lt;blockquote class="jive-quote"&gt;&lt;p style="margin:0;"&gt;$ &lt;span style="color:#000000;font-family:&amp;#39;Open Sans&amp;#39;, Arial, sans-serif;text-align:justify;"&gt;sudo userdel&amp;nbsp; -r system-account&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: multiuseroperatingsystem, putty, system administration, open source, command line, sudo, sudosergeant, linux&lt;/div&gt;
</description></item></channel></rss>