<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Quick Guide | FreeBSD Foundation</title>
	<atom:link href="https://freebsdfoundation.org/topic/quick-guide/feed/" rel="self" type="application/rss+xml" />
	<link>https://freebsdfoundation.org</link>
	<description>A non-profit organization dedicated to supporting and building the FreeBSD Project</description>
	<lastBuildDate>Mon, 09 Feb 2026 21:01:01 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://freebsdfoundation.org/wp-content/uploads/2015/12/favicon.png</url>
	<title>Quick Guide | FreeBSD Foundation</title>
	<link>https://freebsdfoundation.org</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Getting Started with FreeBSD</title>
		<link>https://freebsdfoundation.org/resource/getting-started-with-freebsd/</link>
		
		<dc:creator><![CDATA[Florine Kamdem]]></dc:creator>
		<pubDate>Thu, 29 Jan 2026 09:34:59 +0000</pubDate>
				<guid isPermaLink="false">https://freebsdfoundation.org/?post_type=resource&#038;p=30401</guid>

					<description><![CDATA[<p>A centralized resource page for new FreeBSD users, showing how to get started with installation guides, desktop and virtual machine resources, and community links.</p>
<p>The post <a href="https://freebsdfoundation.org/resource/getting-started-with-freebsd/">Getting Started with FreeBSD</a> first appeared on <a href="https://freebsdfoundation.org">FreeBSD Foundation</a>.</p>]]></description>
										<content:encoded><![CDATA[<section class="block block-classic-editor">
<p data-start="2181" data-end="2233"><strong>Updated: January 29, 2026</strong></p>
<p data-start="2235" data-end="2325">A centralized resource page for new FreeBSD users</p>
<p data-start="2235" data-end="2325">New to FreeBSD? This page brings together commonly used resources to help you get started.</p>
<p data-start="2327" data-end="2538">Whether you’re installing FreeBSD for the first time, exploring it in a virtual machine, or looking for ways to get involved, these links reflect tools and guides frequently recommended by the FreeBSD community.</p>
<p data-start="2540" data-end="2618">This page is intended as a starting point and will continue to grow over time.</p>
<p data-start="2540" data-end="2618">If you are looking for an introduction to the FreeBSD Project and ways to get involved, the FreeBSD Project maintains a dedicated <a href="https://www.freebsd.org/projects/newbies/"><strong data-start="1204" data-end="1215">Newbies</strong></a> page. The resources below complement that page with additional Foundation guides, installation resources, and community learning materials.</p>
<h2 data-start="2625" data-end="2658">Start Here: Core Documentation</h2>
<p data-start="2660" data-end="2739">If you’re new to FreeBSD, these official resources are the best place to begin.</p>
<h3 data-start="2741" data-end="2772">FreeBSD Handbook (Official)</h3>
<p data-start="2774" data-end="2911">The FreeBSD Handbook is the primary reference for FreeBSD users. It covers everything from initial installation to system administration.</p>
<p data-start="2913" data-end="2928">Topics include:</p>
<ul data-start="2929" data-end="3043">
<li data-start="2929" data-end="2955">
<p data-start="2931" data-end="2955">Installation and setup</p>
</li>
<li data-start="2956" data-end="2980">
<p data-start="2958" data-end="2980">System configuration</p>
</li>
<li data-start="2981" data-end="3018">
<p data-start="2983" data-end="3018">Networking, storage, and security</p>
</li>
<li data-start="3019" data-end="3043">
<p data-start="3021" data-end="3043">Desktop environments</p>
</li>
</ul>
<p data-start="3045" data-end="3137"><strong data-start="3139" data-end="3174">FreeBSD Handbook – Introduction</strong><br data-start="3174" data-end="3177" /><br />
<a class="decorated-link" href="https://docs.freebsd.org/en/books/handbook/parti/" target="_new" rel="noopener" data-start="3177" data-end="3226">https://docs.freebsd.org/en/books/handbook/parti/</a></p>
<p data-start="3045" data-end="3137"><strong data-start="3045" data-end="3080">FreeBSD Handbook – Installation</strong><br data-start="3080" data-end="3083" /><br />
<a class="decorated-link" href="https://docs.freebsd.org/en/books/handbook/bsdinstall/" target="_new" rel="noopener" data-start="3083" data-end="3137">https://docs.freebsd.org/en/books/handbook/bsdinstall/</a></p>
<h2 data-start="3734" data-end="3784">Installing FreeBSD (Desktop &amp; Virtual Machines)</h2>
<p data-start="3786" data-end="3876">FreeBSD can be installed on physical hardware or explored safely in a virtual environment.</p>
<h3 data-start="3878" data-end="3902">Desktop Environments</h3>
<p data-start="3904" data-end="4023">If you’re interested in using FreeBSD as a desktop system, this Foundation resource walks through common setup options:</p>
<p data-start="4025" data-end="4158"><strong data-start="4025" data-end="4072">Installing a Desktop Environment on FreeBSD</strong><br data-start="4072" data-end="4075" /><br />
<a class="decorated-link" href="https://freebsdfoundation.org/resource/installing-a-desktop-environment-on-freebsd/" target="_new" rel="noopener" data-start="4075" data-end="4158">https://freebsdfoundation.org/resource/installing-a-desktop-environment-on-freebsd/</a></p>
<p>In addition to written guides, several FreeBSD contributors have shared walkthroughs demonstrating desktop setup and usability, including videos referenced in the FreeBSD Foundation Executive Director’s laptop installation series.</p>
<h3 data-start="4320" data-end="4368">Virtual Machines (Recommended for Beginners)</h3>
<p data-start="4370" data-end="4449">Running FreeBSD in a virtual machine is one of the easiest ways to get started.</p>
<p data-start="4451" data-end="4537">If you’re using VirtualBox or another VM tool, this resource is a helpful entry point:</p>
<p data-start="4539" data-end="4675"><strong data-start="4539" data-end="4598">Installing FreeBSD with VirtualBox | FreeBSD Foundation</strong><br data-start="4598" data-end="4601" /><br />
<a class="decorated-link" href="https://freebsdfoundation.org/resource/installing-freebsd-with-virtualbox/" target="_new" rel="noopener" data-start="4601" data-end="4675">https://freebsdfoundation.org/resource/installing-freebsd-with-virtualbox/</a></p>
<h2 data-start="4790" data-end="4817">Learn with the Community</h2>
<p data-start="4819" data-end="4918">FreeBSD has an active, long-standing community. Participation is welcome at every experience level.</p>
<p data-start="4920" data-end="4945">Community spaces include:</p>
<ul data-start="4946" data-end="5098">
<li data-start="4946" data-end="4993">
<p data-start="4948" data-end="4993">FreeBSD Forums: <a class="decorated-link" href="https://forums.freebsd.org/" target="_new" rel="noopener" data-start="4964" data-end="4991">https://forums.freebsd.org/</a></p>
</li>
<li data-start="4994" data-end="5050">
<p data-start="4996" data-end="5050">FreeBSD Subreddit: <a class="decorated-link" href="https://www.reddit.com/r/freebsd/" target="_new" rel="noopener" data-start="5015" data-end="5048">https://www.reddit.com/r/freebsd/</a></p>
</li>
<li data-start="5051" data-end="5098">
<p data-start="5053" data-end="5098">FreeBSD Discord: <a class="decorated-link" href="https://discord.gg/freebsd" target="_new" rel="noopener" data-start="5070" data-end="5096">https://discord.gg/freebsd</a></p>
</li>
<li data-start="5051" data-end="5098">FreeBSD LinkedIn: <a href="https://www.linkedin.com/company/freebsd-foundation">https://www.linkedin.com/company/freebsd-foundation</a></li>
</ul>
<p data-start="4153" data-end="4229">Additional community resources commonly recommended by contributors include:</p>
<ul data-start="4230" data-end="4330">
<li data-start="4230" data-end="4287">
<p data-start="4232" data-end="4287">BSD Now (news and discussion): <a class="decorated-link" href="https://www.bsdnow.tv/" target="_new" rel="noopener" data-start="4263" data-end="4285">https://www.bsdnow.tv/</a></p>
</li>
<li data-start="4288" data-end="4330">
<p data-start="4290" data-end="4330">Mailing lists <a href="https://www.freebsd.org/community/mailinglists/">Mailing Lists | The FreeBSD Project </a></p>
</li>
<li data-start="4288" data-end="4330"><a href="https://www.freebsd.org/community/">Community | The FreeBSD Project</a></li>
</ul>
<p data-start="4332" data-end="4436">These spaces are useful for asking questions, sharing knowledge, and learning from real-world use cases. </p>
<h2 data-start="3233" data-end="3270">Books Recommended by the Community</h2>
<p data-start="3272" data-end="3339">Some users prefer learning with a book alongside hands-on practice.</p>
<ul data-start="3341" data-end="3630">
<li data-start="3341" data-end="3493">
<p data-start="3343" data-end="3493"><strong data-start="3343" data-end="3363">Absolute FreeBSD</strong> — by <strong data-start="3369" data-end="3410"><span class="hover:entity-accent entity-underline inline cursor-pointer align-baseline"><span class="whitespace-normal">Michael W. Lucas </span></span></strong><br data-start="3410" data-end="3413" /><br />
A system-administration focused guide that explains how and why FreeBSD works.  <strong>(<a href="https://www.amazon.com/dp/B0776JKXNR">Amazon</a>, <a href="https://www.kobo.com/us/en/ebook/absolute-freebsd-3rd-edition">Kobo</a>, <a href="https://bookshop.org/p/books/absolute-freebsd-3rd-edition-the-complete-guide-to-freebsd-michael-w-lucas/139cb9bab32fb73d?ean=9781593278922">BookShop.org</a>, <a href="https://books.google.com/books/about/Absolute_FreeBSD_3rd_Edition.html?id=CDY9DwAAQBAJ">Google Books</a>)</strong></p>
</li>
<li data-start="3495" data-end="3630">
<p data-start="3497" data-end="3630"><strong data-start="3497" data-end="3562">The Design and Implementation of the FreeBSD Operating System</strong> &#8211; by <span class="author notFaded" data-width="180">Marshall McKusick<span class="contribution"><span class="a-color-secondary">, </span></span></span><span class="author notFaded" data-width="187">George Neville-Neil,<span class="contribution"><span class="a-color-secondary"> </span></span></span><span class="author notFaded" data-width="155">Robert Watson </span><br data-start="3562" data-end="3565" /><br />
A deeper look at FreeBSD internals and operating system design. <strong>(<a href="https://www.amazon.com/dp/B00O56CFEE">Amazon</a>, <a href="https://www.kobo.com/us/en/ebook/design-and-implementation-of-the-freebsd-operating-system-the-3">Kobo</a>, <a href="https://bookshop.org/p/books/the-design-and-implementation-of-the-freebsd-operating-system-george-neville-neil/6c5a5dcfd94a5767?ean=9780321968975">BookShop.org</a>, <a href="https://books.google.com/books/about/The_Design_and_Implementation_of_the_Fre.html?id=KfCuBAAAQBAJ">Google Books</a>)</strong></p>
</li>
</ul>
<p data-start="3632" data-end="3727">These are optional resources but commonly recommended once you’re comfortable with the basics.</p>
<h2 data-start="5567" data-end="5584">Videos &amp; Talks</h2>
<p data-start="5586" data-end="5699">If you prefer video-based learning, the FreeBSD Foundation publishes talks and walkthroughs covering topics such as:</p>
<ul data-start="5700" data-end="5792">
<li data-start="5700" data-end="5723">
<p data-start="5702" data-end="5723">Installation guides</p>
</li>
<li data-start="5724" data-end="5759">
<p data-start="5726" data-end="5759">FreeBSD on laptops and desktops</p>
</li>
<li data-start="5760" data-end="5792">
<p data-start="5762" data-end="5792">System internals and tooling</p>
</li>
</ul>
<p data-start="5794" data-end="5863"><strong data-start="5794" data-end="5821">FreeBSD YouTube Channel</strong><br data-start="5821" data-end="5824" /><br />
<a class="decorated-link" href="https://www.youtube.com/@FreeBSDProject" target="_new" rel="noopener" data-start="5824" data-end="5863">https://www.youtube.com/@FreeBSDProject</a></p>
<p data-start="5870" data-end="6024">The FreeBSD Foundation’s Executive Director, <strong data-start="929" data-end="970"><span class="hover:entity-accent entity-underline inline cursor-pointer align-baseline"><span class="whitespace-normal">Deb Goodkin</span></span></strong>, has also been documenting her experience running FreeBSD on a laptop as part of an ongoing series. The posts share practical insights from installing FreeBSD, configuring a desktop environment, and using the system for everyday work, including references to documentation, videos, and community resources that may be helpful to new users.</p>
<table style="border-collapse: collapse; width: 82.6975%; height: 666px;">
<tbody>
<tr>
<td style="width: 60.4178%;"><iframe title="Embedded post" src="https://www.linkedin.com/embed/feed/update/urn:li:share:7413336041924947969?collapsed=1" width="504" height="670" frameborder="0" allowfullscreen="allowfullscreen"></iframe></td>
<td style="width: 21.4543%;">
<p><iframe title="Embedded post" src="https://www.linkedin.com/embed/feed/update/urn:li:share:7413723869695635457?collapsed=1" width="535" height="670" frameborder="0" allowfullscreen="allowfullscreen"></iframe></p>
</td>
</tr>
</tbody>
</table>
<h2 data-start="5215" data-end="5237">Want to Contribute?</h2>
<p data-start="5239" data-end="5322">There are many ways to contribute to FreeBSD, and writing code is only one of them.</p>
<p data-start="5324" data-end="5358">Common contribution paths include:</p>
<ul data-start="5359" data-end="5476">
<li data-start="5359" data-end="5389">
<p data-start="5361" data-end="5389">Testing and reporting bugs</p>
</li>
<li data-start="5390" data-end="5417">
<p data-start="5392" data-end="5417">Improving documentation</p>
</li>
<li data-start="5418" data-end="5441">
<p data-start="5420" data-end="5441">Helping other users</p>
</li>
<li data-start="5442" data-end="5476">
<p data-start="5444" data-end="5476">Advocacy and community support</p>
</li>
</ul>
<p data-start="5478" data-end="5560"><strong data-start="5478" data-end="5510">How to Contribute to FreeBSD</strong></p>
<p data-start="5478" data-end="5560"><a href="https://docs.freebsd.org/en/articles/contributing/">Contributing to FreeBSD | FreeBSD Documentation Portal</a></p>
<p data-start="5478" data-end="5560">FreeBSD is a large project, and everyone starts somewhere. Take your time, explore what interests you, and use the resources that fit your learning style.</p>
<p data-start="5478" data-end="5560"> </p>
<p data-start="5478" data-end="5560">Interested in more resources? Visit our <a href="https://freebsdfoundation.org/freebsd-project/resources/">Resources page</a> to explore additional FreeBSD Foundation and Project materials.</p>
</section><p>The post <a href="https://freebsdfoundation.org/resource/getting-started-with-freebsd/">Getting Started with FreeBSD</a> first appeared on <a href="https://freebsdfoundation.org">FreeBSD Foundation</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Using FreeBSD as a Virtual Host &#8211; Quick Guide</title>
		<link>https://freebsdfoundation.org/resource/using-freebsd-as-a-virtual-host-quick-guide/</link>
		
		<dc:creator><![CDATA[Anne Dickison]]></dc:creator>
		<pubDate>Tue, 30 May 2023 18:34:09 +0000</pubDate>
				<guid isPermaLink="false">https://freebsdfoundation.org/?post_type=resource&#038;p=12280</guid>

					<description><![CDATA[<p>Installing VirtualBox™ Note: To run VirtualBox™, an Xorg session is needed. Refer to the handbook&#8217;s section on the X Window System to install and configure Xorg. VirtualBox™ is available as a FreeBSD package or port in emulators/virtualbox-ose. To quickly install the package:  # pkg install virtualbox-ose The kernel module vboxdrv will need to be loaded before [&#8230;]</p>
<p>The post <a href="https://freebsdfoundation.org/resource/using-freebsd-as-a-virtual-host-quick-guide/">Using FreeBSD as a Virtual Host – Quick Guide</a> first appeared on <a href="https://freebsdfoundation.org">FreeBSD Foundation</a>.</p>]]></description>
										<content:encoded><![CDATA[<section class="block block-classic-editor">
<div class="sect2">
<h2><img fetchpriority="high" decoding="async" class=" wp-image-12411 aligncenter" src="https://freebsdfoundation.org/wp-content/uploads/2023/05/Untitled-design-32-1024x256.png" alt="" width="1048" height="262" srcset="https://freebsdfoundation.org/wp-content/uploads/2023/05/Untitled-design-32-1024x256.png 1024w, https://freebsdfoundation.org/wp-content/uploads/2023/05/Untitled-design-32-300x75.png 300w, https://freebsdfoundation.org/wp-content/uploads/2023/05/Untitled-design-32-1536x384.png 1536w, https://freebsdfoundation.org/wp-content/uploads/2023/05/Untitled-design-32-2048x512.png 2048w, https://freebsdfoundation.org/wp-content/uploads/2023/05/Untitled-design-32.png 1920w" sizes="(max-width: 1048px) 100vw, 1048px" /></h2>
<h2 id="virtualization-virtualbox-install">Installing VirtualBox<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2122.png" alt="™" class="wp-smiley" style="height: 1em; max-height: 1em;" /></h2>
</div>
<p><strong>Note: To run VirtualBox<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2122.png" alt="™" class="wp-smiley" style="height: 1em; max-height: 1em;" />, an Xorg session is needed. Refer to the handbook&#8217;s section on <a href="https://docs.freebsd.org/en/books/handbook/x11/#x-install">the X Window System</a> to install and configure Xorg.</strong></p>
<div class="sect2">
<div class="paragraph">
<p>VirtualBox<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2122.png" alt="™" class="wp-smiley" style="height: 1em; max-height: 1em;" /> is available as a FreeBSD package or port in <a class="package" href="https://cgit.freebsd.org/ports/tree/emulators/virtualbox-ose/">emulators/virtualbox-ose</a>. To quickly install the package: </p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell"><span class="c"># pkg install virtualbox-ose</span></code></pre>
</div>
</div>
<div class="paragraph">
<p>The kernel module <code>vboxdrv</code> will need to be loaded before VirtualBox<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2122.png" alt="™" class="wp-smiley" style="height: 1em; max-height: 1em;" /> is started for the first time: </p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell"><span class="c"># kldload vboxdrv</span></code></pre>
</div>
</div>
<div class="paragraph">
<p>To ensure the module is always loaded after a reboot, add this line to <code><span class="filename">/boot/loader.conf</span>:</code></p>
</div>
<div class="literalblock programlisting">
<div class="content">
<pre>vboxdrv_load="YES"</pre>
</div>
</div>
<div class="paragraph">
<p>To use the kernel modules that allow bridged or host-only networking, add this line to <code><span class="filename">/etc/rc.conf</span></code> and reboot the computer:</p>
</div>
<div class="literalblock programlisting">
<div class="content">
<pre>vboxnet_enable="YES"</pre>
</div>
</div>
<div class="paragraph">
<p>The <code>vboxusers</code> group is created during installation of VirtualBox<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2122.png" alt="™" class="wp-smiley" style="height: 1em; max-height: 1em;" />. All users that need access to VirtualBox<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2122.png" alt="™" class="wp-smiley" style="height: 1em; max-height: 1em;" /> will have to be added as members of this group. <code>pw</code> can be used to add new members:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell"><span class="c"># pw groupmod vboxusers -m yourusername</span></code></pre>
</div>
</div>
<div class="paragraph">
<p>The default permissions for <span class="filename">/dev/vboxnetctl</span> are restrictive and need to be changed for bridged networking. To permanently change these permissions, add these lines to <code><span class="filename">/etc/devfs.conf</span></code>:</p>
</div>
<div class="literalblock programlisting">
<div class="content">
<pre>own     vboxnetctl root:vboxusers
perm    vboxnetctl 0660</pre>
</div>
</div>
<div class="paragraph">
<p>To launch VirtualBox<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2122.png" alt="™" class="wp-smiley" style="height: 1em; max-height: 1em;" />, type from an Xorg session:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell"># VirtualBox</code></pre>
</div>
<div class="copy-to-clipboard-wrapper"> </div>
</div>
</div>
<div class="sect2">
<h2 id="virtualization-virtualbox-usb-support">VirtualBox<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2122.png" alt="™" class="wp-smiley" style="height: 1em; max-height: 1em;" /> USB Support</h2>
<div class="paragraph">
<p>Users will need to be members of the <code>operator</code> group For VirtualBox<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2122.png" alt="™" class="wp-smiley" style="height: 1em; max-height: 1em;" /> to be aware of USB devices.</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell"><span class="c"># pw groupmod operator -m yourusername</span></code></pre>
<div class="copy-to-clipboard-wrapper">Then, add the following to <span class="filename">/etc/devfs.rules</span>, or create this file if it does not exist yet:</div>
</div>
</div>
<div class="literalblock programlisting">
<div class="content">
<pre>[system=10]
add path 'usb/*' mode 0660 group operator</pre>
</div>
</div>
<div class="paragraph">
<p>To load these new rules, add the following to <span class="filename">/etc/rc.conf</span>:</p>
</div>
<div class="literalblock programlisting">
<div class="content">
<pre>devfs_system_ruleset="system"</pre>
</div>
</div>
<div class="paragraph">
<p>Then, restart devfs:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell"><span class="c"># service devfs restart</span></code></pre>
<div class="copy-to-clipboard-wrapper">Both the login session and VirtualBox<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2122.png" alt="™" class="wp-smiley" style="height: 1em; max-height: 1em;" /> will need to be restarted for any changed to take effect.</div>
</div>
</div>
</div>
<div class="sect2">
<h2> </h2>
<h2 id="virtualization-virtualbox-host-dvd-cd-access">VirtualBox<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2122.png" alt="™" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Host DVD/CD Access</h2>
<div class="paragraph">
<p>The HAL daemon needs to run for VirtualBox<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2122.png" alt="™" class="wp-smiley" style="height: 1em; max-height: 1em;" /> DVD/CD functions to work, so enable it in <code><span class="filename">/etc/rc.conf</span></code> and start it if it is not already running:</p>
</div>
<div class="literalblock programlisting">
<div class="content">
<pre>hald_enable="YES"</pre>
</div>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell"><span class="c"># service hald start</span></code></pre>
<div class="copy-to-clipboard-wrapper">A variety of user permissions will need to be edited in order to access<code><span class="filename">/dev/xpt0</span></code>, <code><span class="filename">/dev/cdN</span></code>, and <code><span class="filename">/dev/passN</span></code>. This is usually achieved by making the user a member of <code>operator</code>. Permissions to these devices have to be corrected by adding these lines to <code><span class="filename">/etc/devfs.conf</span></code>:</div>
</div>
</div>
<div class="literalblock programlisting">
<div class="content">
<pre>perm cd* 0660
perm xpt0 0660
perm pass* 0660</pre>
</div>
</div>
<div class="listingblock">
<div class="content">
<p class="rouge highlight"><code data-lang="shell"><span class="c"># service devfs restart</span></code></p>
<p>This quick guide is intended to get VirtualBox<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2122.png" alt="™" class="wp-smiley" style="height: 1em; max-height: 1em;" /> running on your FreeBSD device, however, the scope and scale of further configuration of your virtual machine would be unfit for a quick guide. The VirtualBox<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2122.png" alt="™" class="wp-smiley" style="height: 1em; max-height: 1em;" /> handbook offers a massive amount of information on how to best use and set up your FreeBSD machine. While VirtualBox<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2122.png" alt="™" class="wp-smiley" style="height: 1em; max-height: 1em;" /> can run on FreeBSD, it is not a supported host platform for the extension pack. Installation of the Pack will not extend the feature set</p>
</div>
</div>
</div>
</section><p>The post <a href="https://freebsdfoundation.org/resource/using-freebsd-as-a-virtual-host-quick-guide/">Using FreeBSD as a Virtual Host – Quick Guide</a> first appeared on <a href="https://freebsdfoundation.org">FreeBSD Foundation</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Binary Package Management on FreeBSD</title>
		<link>https://freebsdfoundation.org/resource/binary-package-management-on-freebsd/</link>
		
		<dc:creator><![CDATA[Anne Dickison]]></dc:creator>
		<pubDate>Thu, 12 Jan 2023 15:06:56 +0000</pubDate>
				<guid isPermaLink="false">https://freebsdfoundation.org/?post_type=resource&#038;p=11736</guid>

					<description><![CDATA[<p>The simplest way to install and manage applications and system tools on FreeBSD is through the pkg package management tool, which makes dealing with binary packages fast and easy. Binary packages are pre-compiled and require no in-depth understanding of compiling software on FreeBSD, making them the ideal method to install software for new users.</p>
<p>The post <a href="https://freebsdfoundation.org/resource/binary-package-management-on-freebsd/">Binary Package Management on FreeBSD</a> first appeared on <a href="https://freebsdfoundation.org">FreeBSD Foundation</a>.</p>]]></description>
										<content:encoded><![CDATA[<section class="block block-classic-editor">
<p id="pkgng-intro">The simplest way to install and manage applications and system tools on FreeBSD is through the <code>pkg</code> package management tool, which makes dealing with binary packages fast and easy. Binary packages are pre-compiled and require no in-depth understanding of compiling software on FreeBSD, making them the ideal method to install software for new users.</p>
<p><img decoding="async" class="wp-image-11737 aligncenter" src="https://freebsdfoundation.org/wp-content/uploads/2022/10/Untitled-design-26-1024x577.png" alt="" width="692" height="390" srcset="https://freebsdfoundation.org/wp-content/uploads/2022/10/Untitled-design-26-1024x577.png 1024w, https://freebsdfoundation.org/wp-content/uploads/2022/10/Untitled-design-26-300x169.png 300w, https://freebsdfoundation.org/wp-content/uploads/2022/10/Untitled-design-26-1536x865.png 1536w, https://freebsdfoundation.org/wp-content/uploads/2022/10/Untitled-design-26.png 1640w" sizes="(max-width: 692px) 100vw, 692px" /></p>
<div class="sectionbody">
<div class="sect2">
<h2 id="pkgng-initial-setup">1. Getting Started with pkg</h2>
<div class="paragraph">
<p>FreeBSD includes a bootstrap utility which can be used to download and install pkg and its manual pages. This process will require a working Internet connection.</p>
</div>
<div class="admonitionblock note">To bootstrap the system, run:</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell"><span class="c"># /usr/sbin/pkg</span></code></pre>
<div class="copy-to-clipboard-wrapper">Usage information for pkg is available in the <a href="https://www.freebsd.org/cgi/man.cgi?query=pkg&amp;sektion=8&amp;format=html">pkg(8)</a> manual page or by running <code>pkg</code> without additional arguments. To access the manual page run:</div>
</div>
<pre><code># man pkg</code></pre>
</div>
<div class="paragraph">
<p>Each pkg command argument is documented in a command-specific manual page. To read the manual page for <code>pkg install</code>, for example, run either of these commands:</p>
</div>
<div class="listingblock">
<div class="content">
<pre><code data-lang="shell"><span class="c"># pkg help install</span></code> <code><span class="c"># man pkg-install</span></code></pre>
</div>
</div>
<div class="listingblock">
<div class="content">
<div class="copy-to-clipboard-wrapper"> </div>
</div>
</div>
<h2 id="pkgng-installing-deinstalling">2. Installing and Removing Packages</h2>
<div class="paragraph">
<p>To install a binary package, use the following command, where <em>packagename</em> is the name of the package to install:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell"><span class="c"># pkg install packagename</span></code></pre>
</div>
</div>
<div class="paragraph">
<p>Before the installer proceeds, the system will ask to confirm and approve the changes, this can be done be either typing &#8220;y&#8221; or &#8220;n&#8221; to approve or cancel the process. Once complete, the new package and any additional packages that were installed as dependencies can be seen in the installed packages list:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell"><span class="c"># pkg info</span>
ca_root_nss-3.15.1_1	The root certificate bundle from the Mozilla Project
curl-7.31.0_1	Non-interactive tool to get files from FTP, GOPHER, HTTP<span class="o">(</span>S<span class="o">)</span> servers
pkg-1.1.4_6	New generation package manager</code></pre>
<div class="copy-to-clipboard-wrapper">Packages that are no longer needed can be removed with <code>pkg delete</code>. For example:</div>
</div>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell"><span class="c"># pkg delete curl</span>
</code></pre>
</div>
</div>
<h2 id="pkgng-upgrading">3. Upgrading Installed Packages</h2>
<div class="paragraph">
<p>Installed packages can be upgraded to their latest versions by running:</p>
</div>
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="shell"><span class="c"># pkg upgrade</span></code></pre>
</div>
</div>
<div class="paragraph">
<p>This command will compare the installed versions with those available in the repository catalogue and upgrade them from the repository.</p>
</div>
</div>
</div>
</section><p>The post <a href="https://freebsdfoundation.org/resource/binary-package-management-on-freebsd/">Binary Package Management on FreeBSD</a> first appeared on <a href="https://freebsdfoundation.org">FreeBSD Foundation</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Video Playback on FreeBSD &#8211; Quick Guide</title>
		<link>https://freebsdfoundation.org/resource/video-playback-on-freebsd-quick-guide/</link>
		
		<dc:creator><![CDATA[Anne Dickison]]></dc:creator>
		<pubDate>Thu, 01 Sep 2022 20:26:36 +0000</pubDate>
				<guid isPermaLink="false">https://freebsdfoundation.org/?post_type=resource&#038;p=11665</guid>

					<description><![CDATA[<p>In this guide, we&#8217;ll use the xine video player to set up basic video playback on a fresh FreeBSD install. The xine multimedia player relies on the XWindow system and the XVideo extension to provide a graphical video playback interface. System Requirements: Xorg supports a wide variety of video cards, but not all are supported [&#8230;]</p>
<p>The post <a href="https://freebsdfoundation.org/resource/video-playback-on-freebsd-quick-guide/">Video Playback on FreeBSD – Quick Guide</a> first appeared on <a href="https://freebsdfoundation.org">FreeBSD Foundation</a>.</p>]]></description>
										<content:encoded><![CDATA[<section class="block block-classic-editor"><p></section><section class="block block-core-paragraph"></p>
<p>In this guide, we&#8217;ll use the xine video player to set up basic video playback on a fresh FreeBSD install. The xine multimedia player relies on the XWindow system and the XVideo extension to provide a graphical video playback interface.</p>
<p></section>
<div class="wp-block-image"><section class="block block-core-image"></p>
<figure class="aligncenter size-large is-resized"><img decoding="async" class="wp-image-11627" src="https://freebsdfoundation.org/wp-content/uploads/2022/08/Untitled-design-23-1024x576.png" alt="" width="840" height="472" srcset="https://freebsdfoundation.org/wp-content/uploads/2022/08/Untitled-design-23-1024x576.png 1024w, https://freebsdfoundation.org/wp-content/uploads/2022/08/Untitled-design-23-300x169.png 300w, https://freebsdfoundation.org/wp-content/uploads/2022/08/Untitled-design-23-1536x864.png 1536w, https://freebsdfoundation.org/wp-content/uploads/2022/08/Untitled-design-23.png 1920w" sizes="(max-width: 840px) 100vw, 840px" /></figure>
<p></section></div>
<section class="block block-core-heading"></p>
<h2 class="wp-block-heading">System Requirements:</h2>
<p></section>
<section class="block block-core-paragraph"></p>
<p>Xorg supports a wide variety of video cards, but not all are supported or offer good video playback performance.</p>
<p></section>
<section class="block block-core-paragraph"></p>
<p>It is a good idea to have a short MPEG test file for evaluating various players and options. Since some <code>DVD</code> applications look for <code>DVD</code> media in /dev/dvd by default, or have this device name hardcoded in them, it might be useful to make a symbolic link to the proper device:</p>
<p></section>
<section class="block block-core-code"></p>
<pre class="wp-block-code"><code># ln -sf /dev/cd0 /dev/dvd</code></pre>
<p></section>
<section class="block block-core-paragraph"></p>
<p>Due to the nature of <a href="https://www.freebsd.org/cgi/man.cgi?query=devfs&amp;sektion=5&amp;format=html">devfs(5)</a>, manually created links will not persist after a system reboot. In order to recreate the symbolic link automatically when the system boots, add the following line to /etc/devfs.conf:</p>
<p></section>
<section class="block block-core-preformatted"></p>
<pre class="wp-block-preformatted">link cd0 dvd</pre>
<p></section>
<section class="block block-core-paragraph"></p>
<p>&nbsp;</p>
<p></section>
<section class="block block-core-heading"></p>
<h2 class="wp-block-heading" id="video-interface">Installing Xorg</h2>
<p></section>
<section class="block block-core-paragraph"></p>
<p>There are several possible ways to display video under Xorg and what works is largely hardware dependent. This guide will focus on the Xvideo extension which allows video to be directly displayed, even on low-end machines.</p>
<p></section>
<section class="block block-core-paragraph"></p>
<p>Start by installing the X Window System:</p>
<p></section>
<section class="block block-core-preformatted"></p>
<pre class="wp-block-preformatted"># <code>pkg install -y xorg</code></pre>
<p></section>
<section class="block block-core-paragraph"></p>
<p>Once the package has been fully installed, the X Window System can be started with:</p>
<p></section>
<section class="block block-core-preformatted"></p>
<pre class="wp-block-preformatted"># <code>startx</code></pre>
<p></section>
<section class="block block-core-heading"></p>
<h2 class="wp-block-heading" id="video-interface-xvideo">XVideo Support</h2>
<p></section>
<section class="block block-core-paragraph"></p>
<p>To check whether the Xvideo extension is running, use <code>xvinfo</code>:</p>
<p></section>
<section class="block block-core-preformatted"></p>
<pre class="wp-block-preformatted"><code>xvinfo</code></pre>
<p></section>
<section class="block block-core-paragraph"></p>
<p>If XVideo is supported, the result will look similar to the example below and may include screen and video card information.</p>
<p></section>
<section class="block block-core-code"></p>
<pre class="wp-block-code"><code>X-Video Extension version 2.2
  screen #0
  Adaptor #0: "Example Engine"
    number of ports: 1
    port base: 43
     
       .   .    .</code></pre>
<p></section>
<section class="block block-core-paragraph"></p>
<p>&nbsp;</p>
<p></section>
<section class="block block-core-paragraph"></p>
<p>XVideo is likely unsupported by the video card if the result instead look like:</p>
<p></section>
<section class="block block-core-code"></p>
<pre class="wp-block-code"><code>X-Video Extension version 2.2
screen #0
no adaptors present</code></pre>
<p></section>
<section class="block block-core-paragraph"></p>
<p>The display may be unable to meet the demands of rendering video playback if XVideo is unsupported (though this is not always the case).</p>
<p></section>
<section class="block block-core-heading"></p>
<h2 class="wp-block-heading">The xine Video Player</h2>
<p></section>
<div class="wp-block-image"><section class="block block-core-image"></p>
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="618" height="235" class="wp-image-11650" src="https://freebsdfoundation.org/wp-content/uploads/2022/09/Screenshot-2022-09-01-154324.png" alt="" srcset="https://freebsdfoundation.org/wp-content/uploads/2022/09/Screenshot-2022-09-01-154324.png 618w, https://freebsdfoundation.org/wp-content/uploads/2022/09/Screenshot-2022-09-01-154324-300x114.png 300w" sizes="(max-width: 618px) 100vw, 618px" /></figure>
<p></section></div>
<section class="block block-core-spacer"></p>
<div class="wp-block-spacer" aria-hidden="true"> </div>
<p></section>
<section class="block block-core-paragraph"></p>
<p>xine is a free multimedia player. It plays back CDs, DVDs, BluRays and VCDs. It also decodes multimedia files like AVI, MOV, WMV, and MP3 from local disk drives, and displays multimedia streamed over the Internet. Get started by installing the package:</p>
<p></section>
<section class="block block-core-preformatted"></p>
<pre class="wp-block-preformatted"><code># pkg install -y xine</code></pre>
<p></section>
<section class="block block-core-paragraph"></p>
<p>In practice, xine requires either a fast CPU or support for the XVideo extension. The xine video player performs best on XVideo interfaces. If in the previous step, the Xvideo extension was unsupported, issues may occur.</p>
<p></section>
<section class="block block-core-paragraph"></p>
<p>The xine player starts a graphical user interface (GUI) and the menus can be used to navigate to multimedia files.</p>
<p></section>
<section class="block block-core-preformatted"></p>
<pre class="wp-block-preformatted"><code># xine</code></pre>
<p></section>
<section class="block block-core-paragraph"></p>
<p>Alternatively, xine may be directly invoked from the command line by specifying the name of the file to play:</p>
<p></section>
<section class="block block-core-code"></p>
<pre class="wp-block-code"><code># xine -g -p mymovie.avi</code></pre>
<p></section>
<section class="block block-core-paragraph"></p>
<p>You now have a simple way to play a variety of multimedia files on your FreeBSD system! To find out more about the xine player, refer to the <a href="https://sourceforge.net/projects/xine/" target="_blank" rel="noreferrer noopener">SourceForge page</a>.</p>
<p></section><section class="block block-classic-editor"></p></section><p>The post <a href="https://freebsdfoundation.org/resource/video-playback-on-freebsd-quick-guide/">Video Playback on FreeBSD – Quick Guide</a> first appeared on <a href="https://freebsdfoundation.org">FreeBSD Foundation</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Test NVDIMM functionality on FreeBSD with QEMU</title>
		<link>https://freebsdfoundation.org/resource/test-nvdimm-functionality-on-freebsd-with-qemu/</link>
		
		<dc:creator><![CDATA[Anne Dickison]]></dc:creator>
		<pubDate>Mon, 15 Aug 2022 15:53:09 +0000</pubDate>
				<guid isPermaLink="false">https://freebsdfoundation.org/?post_type=resource&#038;p=11552</guid>

					<description><![CDATA[<p>We are actively iterating on adding NVDIMM support to FreeBSD. To test the program without actual NVDIMM hardware, we use the newest version of QEMU which has support of virtual NVDIMM and is not yet available in ports.</p>
<p>The post <a href="https://freebsdfoundation.org/resource/test-nvdimm-functionality-on-freebsd-with-qemu/">Test NVDIMM functionality on FreeBSD with QEMU</a> first appeared on <a href="https://freebsdfoundation.org">FreeBSD Foundation</a>.</p>]]></description>
										<content:encoded><![CDATA[<section class="block block-classic-editor"><p></section><section class="block block-core-heading"></p>
<h3 class="wp-block-heading">Introduction</h3>
<p></section>
<section class="block block-core-paragraph"></p>
<p>We are actively iterating on adding NVDIMM support to FreeBSD. To test the program without actual NVDIMM hardware, we use the newest version of QEMU which has support of virtual NVDIMM and is not yet available in ports.</p>
<p></section>
<section class="block block-core-heading"></p>
<h3 class="wp-block-heading">Steps</h3>
<p></section>
<section class="block block-core-list"></p>
<ol class="wp-block-list">
	<li>
<ol>
	<li>Install build dependencies<br />
<code>pkg install git python pkgconf bison gmake</code></li>
	<li>Clone source code and update dtc module<br />
<code>git clone https://github.com/qemu/qemu cd qemu git submodule update --init dtc</code></li>
	<li>Build and install<br />
<code>mkdir build cd build ../configure gmake gmake check gmake install</code><br />
The source code (including build) folder can then be deleted after the installation.</li>
	<li>Prepare an image<br />
You can get a FreeBSD snapshot build of 12-CURRENT <a href="https://download.freebsd.org/ftp/snapshots/ISO-IMAGES/12.0/">here</a>, or build your own ones.</li>
	<li>Start QEMU and test the functionality<br />
<code>qemu-system-x86_64 -hda freebsd.img -boot d -machine pc,nvdimm -m 32G,maxmem=100G,slots=10 -object memory-backend-ram,id=mem2,size=10G -device nvdimm,memdev=mem2,id=nv2,label-size=128k</code><br />
(In QEMU:)<br />
<code>acpidump -t | less</code></li>
</ol>
</li>
</ol>
<p></section>
<section class="block block-core-paragraph"></p>
<p> &#8211; Contributed by Guangyuan (Charlie) Yang</p>
<p></section><section class="block block-classic-editor"></p></section><p>The post <a href="https://freebsdfoundation.org/resource/test-nvdimm-functionality-on-freebsd-with-qemu/">Test NVDIMM functionality on FreeBSD with QEMU</a> first appeared on <a href="https://freebsdfoundation.org">FreeBSD Foundation</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Audio on FreeBSD – Quick Guide</title>
		<link>https://freebsdfoundation.org/resource/audio-on-freebsd-quick-guide/</link>
		
		<dc:creator><![CDATA[Anne Dickison]]></dc:creator>
		<pubDate>Mon, 15 Aug 2022 15:05:30 +0000</pubDate>
				<guid isPermaLink="false">https://freebsdfoundation.org/?post_type=resource&#038;p=11535</guid>

					<description><![CDATA[<p>Whether for music, communication, or notifications, audio is an important feature of many personal computer systems. In a new FreeBSD system, an audio card will need to be configured to process audio files and send them to the connected speakers. Our newest FreeBSD quick guide will walk through setting up and configuring audio, connecting a pair of headphones (including pairing Bluetooth models), and testing the system's sound, all in under 10 minutes!</p>
<p>The post <a href="https://freebsdfoundation.org/resource/audio-on-freebsd-quick-guide/">Audio on FreeBSD – Quick Guide</a> first appeared on <a href="https://freebsdfoundation.org">FreeBSD Foundation</a>.</p>]]></description>
										<content:encoded><![CDATA[<section class="block block-classic-editor"><p></section><div class="wp-block-image"><section class="block block-core-image"></p>
<figure class="aligncenter size-large is-resized"><img loading="lazy" decoding="async" class="wp-image-11339" src="https://freebsdfoundation.org/wp-content/uploads/2022/06/Untitled-design-12-1024x1024.png" alt="" width="431" height="431" srcset="https://freebsdfoundation.org/wp-content/uploads/2022/06/Untitled-design-12-1024x1024.png 1024w, https://freebsdfoundation.org/wp-content/uploads/2022/06/Untitled-design-12-300x300.png 300w, https://freebsdfoundation.org/wp-content/uploads/2022/06/Untitled-design-12-150x150.png 150w, https://freebsdfoundation.org/wp-content/uploads/2022/06/Untitled-design-12.png 1080w" sizes="(max-width: 431px) 100vw, 431px" /></figure>
<p></section></div>
<section class="block block-core-paragraph"></p>
<p>Whether for music, communication, or notifications, audio is an important feature of many personal computer systems. In a new FreeBSD system, an audio card will need to be configured to process audio files and send them to the connected speakers.</p>
<p></section>
<section class="block block-core-paragraph"></p>
<p>Fortunately, setting up audio on FreeBSD is simple and straightforward. This guide will walk through setting up and configuring audio, connecting a pair of headphones (including pairing Bluetooth models), and testing the system&#8217;s sound, all in under 10 minutes!</p>
<p></section>
<section class="block block-core-spacer"></p>
<div class="wp-block-spacer" aria-hidden="true"> </div>
<p></section>
<section class="block block-core-heading"></p>
<h2 class="wp-block-heading" id="sound-setup">1. Setting Up the Sound Card</h2>
<p></section>
<section class="block block-core-separator"></p>
<hr class="wp-block-separator has-css-opacity" />
<p></section>
<section class="block block-core-paragraph"></p>
<p>FreeBSD supports a wide variety of sound cards, these are listed in the <a href="https://www.freebsd.org/releases/">Hardware Compatability List</a> for each FreeBSD release. The Hardware Notes will list supported audio devices and which FreeBSD driver it uses. Start by identifying which driver will be needed for your specific audio device.</p>
<p></section>
<section class="block block-core-paragraph"></p>
<p>The device driver will need to be loaded to use the sound card, this can be easily done with <a href="https://www.freebsd.org/cgi/man.cgi?query=kldload&amp;sektion=8&amp;format=html">kldload(8)</a>. To load the intel-specific driver, for example:</p>
<p></section>
<section class="block block-core-code"></p>
<pre class="wp-block-code"><code># kldload snd_hda</code></pre>
<p></section>
<section class="block block-core-paragraph"></p>
<p>The driver can be automatically loaded on boot by configuring <code>/boot/loader.conf</code>. Available sound modules are listed in the <code><a href="https://www.freebsd.org/cgi/man.cgi?query=sound&amp;apropos=0&amp;sektion=0&amp;manpath=FreeBSD+13.1-RELEASE+and+Ports&amp;arch=default&amp;format=html" target="_blank" rel="noreferrer noopener">sound(1)</a></code> manual page, these can be viewed by using:</p>
<p></section>
<section class="block block-core-preformatted"></p>
<pre class="wp-block-preformatted"><code> # </code>man -k snd</pre>
<p></section>
<section class="block block-core-paragraph"></p>
<p>Once the sound module has been checked, add a line to <code>/boot/loader.conf</code> to automatically load the driver. The line for the previous Intel driver would be:</p>
<p></section>
<section class="block block-core-preformatted"></p>
<pre class="wp-block-preformatted">snd_hda_load="YES"</pre>
<p></section>
<section class="block block-core-paragraph"></p>
<p>To simplify identifying and loading a driver, the <code>snd_driver</code> module, a meta driver that loads all of the common sound drivers, can also be loaded:</p>
<p></section>
<section class="block block-core-code"></p>
<pre class="wp-block-code"><code>snd_driver_load="YES"</code></pre>
<p></section>
<section class="block block-core-spacer"></p>
<div class="wp-block-spacer" aria-hidden="true"> </div>
<p></section>
<section class="block block-core-heading"></p>
<h2 class="wp-block-heading" id="bluetooth-headset">2. Setting up Bluetooth</h2>
<p></section>
<section class="block block-core-paragraph"></p>
<p>If the audio output require a Bluetooth connection, further configurations will have to be made to ensure Bluetooth support is loaded and configured. This section can be skipped if Bluetooth is not needed.</p>
<p></section>
<section class="block block-core-separator"></p>
<hr class="wp-block-separator has-css-opacity" />
<p></section>
<section class="block block-core-heading"></p>
<h3 class="wp-block-heading" id="_loading_bluetooth_support">2.1 Loading Bluetooth Support</h3>
<p></section>
<section class="block block-core-paragraph"></p>
<p>Before attaching a Bluetooth device, determine which Bluetooth driver it uses. A broad variety of Bluetooth USB dongles are supported by <a href="https://www.freebsd.org/cgi/man.cgi?query=ng_ubt&amp;sektion=4&amp;format=html">ng_ubt(4)</a>. Broadcom BCM2033 based Bluetooth devices are supported by the <a href="https://www.freebsd.org/cgi/man.cgi?query=ubtbcmfw&amp;sektion=4&amp;format=html">ubtbcmfw(4)</a> and <a href="https://www.freebsd.org/cgi/man.cgi?query=ng_ubt&amp;sektion=4&amp;format=html">ng_ubt(4)</a> drivers. Serial and UART based Bluetooth devices are supported by <a href="https://www.freebsd.org/cgi/man.cgi?query=ng_h4&amp;sektion=4&amp;format=html">ng_h4(4)</a> and <a href="https://www.freebsd.org/cgi/man.cgi?query=hcseriald&amp;sektion=8&amp;format=html">hcseriald(8)</a>. For example, if the device uses the <a href="https://www.freebsd.org/cgi/man.cgi?query=ng_ubt&amp;sektion=4&amp;format=html">ng_ubt(4)</a> driver:</p>
<p></section>
<section class="block block-core-code"></p>
<pre class="wp-block-code"><code># kldload ng_ubt</code></pre>
<p></section>
<section class="block block-core-paragraph"></p>
<p>If the Bluetooth device will be attached to the system during system startup, the system can be configured to load the module at boot by adding the driver to <code>/boot/loader.conf</code>:</p>
<p></section>
<section class="block block-core-preformatted"></p>
<pre class="wp-block-preformatted">ng_ubt_load="YES"</pre>
<p></section>
<section class="block block-core-paragraph"></p>
<p>Once the driver is loaded, connect the Bluetooth device. If the driver load was successful, output similar to the following should appear on the console and in <code>/var/log/messages</code>:</p>
<p></section>
<section class="block block-core-code"></p>
<pre class="wp-block-code"><code>ubt0: vendor 0x0a12 product 0x0001, rev 1.10/5.25, addr 2
ubt0: Interface 0 endpoints: interrupt=0x81, bulk-in=0x82, bulk-out=0x2
ubt0: Interface 1 (alt.config 5) endpoints: isoc-in=0x83, isoc-out=0x3,
      wMaxPacketSize=49, nframes=6, buffer size=294</code></pre>
<p></section>
<section class="block block-core-paragraph"></p>
<p>To start and stop Bluetooth, use the driver&#8217;s startup script:</p>
<p></section>
<section class="block block-core-code"></p>
<pre class="wp-block-code"><code># service bluetooth start ubt0</code></pre>
<p></section>
<section class="block block-core-heading"></p>
<h3 class="wp-block-heading" id="_finding_other_bluetooth_devices">2.2 Finding Other Bluetooth Devices</h3>
<p></section>
<section class="block block-core-paragraph"></p>
<p>FreeBSD uses <a href="https://www.freebsd.org/cgi/man.cgi?query=hccontrol&amp;sektion=8&amp;format=html" target="_blank" rel="noreferrer noopener">hccontrol(8)</a> to find and identify Bluetooth devices within RF proximity.</p>
<p></section>
<section class="block block-core-paragraph"></p>
<p>One of the most common tasks is discovery of Bluetooth devices within RF proximity. This operation is called <em>inquiry</em>. Inquiry and other HCI related operations are done using <a href="https://www.freebsd.org/cgi/man.cgi?query=hccontrol&amp;sektion=8&amp;format=html">hccontrol(8)</a>. To display a list of devices that are in range use:</p>
<p></section>
<section class="block block-core-code"></p>
<pre class="wp-block-code"><code>% hccontrol -n ubt0hci inquiry
Inquiry result, num_responses=1
Inquiry result #0
       <span class="has-inline-color has-luminous-vivid-orange-color"><strong>BD_ADDR</strong></span>: 00:80:37:29:19:a4
       Page Scan Rep. Mode: 0x1
       Page Scan Period Mode: 00
       Page Scan Mode: 00
       Class: 52:02:04
       Clock offset: 0x78ef
Inquiry complete. Status: No error [00]</code></pre>
<p></section>
<section class="block block-core-paragraph"></p>
<p><strong>Note</strong>: only devices that are set to discoverable mode will be listed<em>.</em></p>
<p></section>
<section class="block block-core-paragraph"></p>
<p>The <span class="has-inline-color has-luminous-vivid-orange-color"><strong><code>BD_ADDR</code> </strong></span>is the unique address of a Bluetooth device, similar to the MAC address of a network card. This address is needed for further communication with a device. To to obtain the human readable name that was assigned to the remote device:</p>
<p></section>
<section class="block block-core-code"></p>
<pre class="wp-block-code"><code>% hccontrol -n ubt0hci remote_name_request 00:80:37:29:19:a4
BD_ADDR: 00:80:37:29:19:a4
Name: Example Bluetooth</code></pre>
<p></section>
<section class="block block-core-paragraph"></p>
<p>The Bluetooth system provides a point-to-point connection between two Bluetooth units, or a point-to-multipoint connection which is shared among several Bluetooth devices. The following example shows how to create a connection to a remote device:</p>
<p></section>
<section class="block block-core-code"></p>
<pre class="wp-block-code"><code>% hccontrol -n ubt0hci create_connection BT_ADDR</code></pre>
<p></section>
<section class="block block-core-paragraph"></p>
<p><code>create_connection</code> accepts <code>BT_ADDR</code> as well as host aliases in <code>/etc/bluetooth/hosts</code>.</p>
<p></section>
<section class="block block-core-paragraph"></p>
<p>The following example shows how to obtain the list of active baseband connections for the local device:</p>
<p></section>
<section class="block block-core-code"></p>
<pre class="wp-block-code"><code>% hccontrol -n ubt0hci read_connection_list
Remote BD_ADDR    Handle Type Mode Role Encrypt Pending Queue State
00:80:37:29:19:a4     41  ACL    0 MAST    NONE       0     0 OPEN</code></pre>
<p></section>
<section class="block block-core-spacer"></p>
<div class="wp-block-spacer" aria-hidden="true"> </div>
<p></section>
<section class="block block-core-heading"></p>
<h3 class="wp-block-heading" id="troubleshooting">3. Graphics Card Sound Driver</h3>
<p></section>
<section class="block block-core-separator"></p>
<hr class="wp-block-separator has-css-opacity" />
<p></section>
<section class="block block-core-paragraph"></p>
<p>Modern graphics cards often come with their own sound driver, which may be used as the default device. To confirm, run dmesg and look for the <code>pcm</code> entries:</p>
<p></section>
<section class="block block-core-preformatted"></p>
<pre class="wp-block-preformatted">...
pcm0: &lt;HDA NVidia (Unknown) PCM #0 DisplayPort&gt; at cad 0 nid 1 on hdac0
pcm1: &lt;HDA NVidia (Unknown) PCM #0 DisplayPort&gt; at cad 1 nid 1 on hdac0
pcm2: &lt;HDA NVidia (Unknown) PCM #0 DisplayPort&gt; at cad 2 nid 1 on hdac0
pcm3: &lt;HDA NVidia (Unknown) PCM #0 DisplayPort&gt; at cad 3 nid 1 on hdac0
hdac1: HDA Codec #2: Realtek ALC889
pcm4: &lt;HDA Realtek ALC889 PCM #0 Analog&gt; at cad 2 nid 1 on hdac1
pcm5: &lt;HDA Realtek ALC889 PCM #1 Analog&gt; at cad 2 nid 1 on hdac1
pcm6: &lt;HDA Realtek ALC889 PCM #2 Digital&gt; at cad 2 nid 1 on hdac1
pcm7: &lt;HDA Realtek ALC889 PCM #3 Digital&gt; at cad 2 nid 1 on hdac1
...</pre>
<p></section>
<section class="block block-core-paragraph"></p>
<p>In this example, the graphics card (<code>NVidia</code>) has been enumerated before the sound card (<code>Realtek</code>). This can be changed to use the sound card as the default device with:</p>
<p></section>
<section class="block block-core-code"></p>
<pre class="wp-block-code"><code># sysctl hw.snd.default_unit=n</code></pre>
<p></section>
<section class="block block-core-paragraph"></p>
<p>where <code>n</code> is the number of the sound device to prioritize. In this example, it should be <code>4</code>. Make this change permanent by adding the following line to <code>/etc/sysctl.conf</code>:</p>
<p></section>
<section class="block block-core-preformatted"></p>
<pre class="wp-block-preformatted">hw.snd.default_unit=4</pre>
<p></section>
<section class="block block-core-spacer"></p>
<div class="wp-block-spacer" aria-hidden="true"> </div>
<p></section>
<section class="block block-core-heading"></p>
<h3 class="wp-block-heading">4. Automatically Switching to Headphones</h3>
<p></section>
<section class="block block-core-separator"></p>
<hr class="wp-block-separator has-css-opacity" />
<p></section>
<section class="block block-core-paragraph"></p>
<p>Some systems may struggle with switching between audio outputs, fortunately FreeBSD allows for these to be specified in <code>device.hints</code>, which can be configured for automatic switchover. To start, identify how your system is enumerating the outputs with:</p>
<p></section>
<section class="block block-core-preformatted"></p>
<pre class="wp-block-preformatted"><code># dmesg | grep pcm </code> <code></code><code>pcm0: &lt;Realtek ALC892 Analog&gt; at nid 23 and <span class="has-inline-color has-vivid-purple-color">26</span> on hdaa<span class="has-inline-color has-luminous-vivid-amber-color">0</span> </code> <code>pcm1: &lt;Realtek ALC892 Right Analog Headphones&gt; at nid <span class="has-inline-color has-pale-pink-color">22</span> on hdaa<span class="has-inline-color has-vivid-green-cyan-color">0</span> ...</code></pre>
<p></section>
<section class="block block-core-paragraph"></p>
<p>Add the following line to <code>/boot/device.hints</code> <strong>using the highlighted values from your own system</strong>. These will likely be different than the example. In this example, colored text has been used to identify where in the original string the values originated.</p>
<p></section>
<section class="block block-core-preformatted"></p>
<pre class="wp-block-preformatted"><code>hint.hdac.<span class="has-inline-color has-luminous-vivid-amber-color">0</span>.cad0.nid<span class="has-inline-color has-pale-pink-color">22</span>.config="as=1 seq=15 device=Headphones" 
hint.hdac.<span class="has-inline-color has-vivid-green-cyan-color">0</span>.cad0.nid<span class="has-inline-color has-vivid-purple-color">26</span>.config="as=2 seq=0 device=speakers</code>"</pre>
<p></section>
<section class="block block-core-spacer"></p>
<div class="wp-block-spacer" aria-hidden="true"> </div>
<p></section>
<section class="block block-core-heading"></p>
<h3 class="wp-block-heading" id="sound-testing">5. Testing Sound</h3>
<p></section>
<section class="block block-core-separator"></p>
<hr class="wp-block-separator has-css-opacity" />
<p></section>
<section class="block block-core-paragraph"></p>
<p>To confirm that the sound card has been detected and properly configured, run <code>dmesg | grep pcm</code>. This example is from a system with a built-in Conexant chipset:</p>
<p></section>
<section class="block block-core-code"></p>
<pre class="wp-block-code"><code>pcm0: &lt;NVIDIA (0x001c) (HDMI/DP 8ch)&gt; at nid 5 on hdaa0
pcm1: &lt;NVIDIA (0x001c) (HDMI/DP 8ch)&gt; at nid 6 on hdaa0
pcm2: &lt;Conexant CX20590 (Analog 2.0+HP/2.0)&gt; at nid 31,25 and 35,27 on hdaa1</code></pre>
<p></section>
<section class="block block-core-paragraph"></p>
<p>The status of the sound card may also be checked using this command:</p>
<p></section>
<section class="block block-core-code"></p>
<pre class="wp-block-code"><code># cat /dev/sndstat
FreeBSD Audio Driver (newpcm: 64bit 2009061500/amd64)
Installed devices:
pcm0: &lt;NVIDIA (0x001c) (HDMI/DP 8ch)&gt; (play)
pcm1: &lt;NVIDIA (0x001c) (HDMI/DP 8ch)&gt; (play)
pcm2: &lt;Conexant CX20590 (Analog 2.0+HP/2.0)&gt; (play/rec) default</code></pre>
<p></section>
<section class="block block-core-paragraph"></p>
<p>The output depends on which sound card has been detected, so the result may look different. However, if no pcm devices are listed, check if the correct driver was loaded in the first step.</p>
<p></section>
<section class="block block-core-paragraph"></p>
<p>Another quick way to test the card is to send data to <code>/dev/dsp</code>:</p>
<p></section>
<section class="block block-core-code"></p>
<pre class="wp-block-code"><code>% cat filename &gt; /dev/dsp</code></pre>
<p></section>
<section class="block block-core-paragraph"></p>
<p>Any file can be used for this and will produce noise through the connected audio device.</p>
<p></section><section class="block block-classic-editor"></p></section><p>The post <a href="https://freebsdfoundation.org/resource/audio-on-freebsd-quick-guide/">Audio on FreeBSD – Quick Guide</a> first appeared on <a href="https://freebsdfoundation.org">FreeBSD Foundation</a>.</p>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Printing on FreeBSD – Quick Guide</title>
		<link>https://freebsdfoundation.org/resource/printing-on-freebsd-quick-guide/</link>
		
		<dc:creator><![CDATA[Anne Dickison]]></dc:creator>
		<pubDate>Mon, 15 Aug 2022 15:00:34 +0000</pubDate>
				<guid isPermaLink="false">https://freebsdfoundation.org/?post_type=resource&#038;p=11532</guid>

					<description><![CDATA[<p>A quick guide to getting a printer set-up on FreeBSD as well as more advanced printer systems and filters.</p>
<p>The post <a href="https://freebsdfoundation.org/resource/printing-on-freebsd-quick-guide/">Printing on FreeBSD – Quick Guide</a> first appeared on <a href="https://freebsdfoundation.org">FreeBSD Foundation</a>.</p>]]></description>
										<content:encoded><![CDATA[<section class="block block-classic-editor"><p></section><section class="block block-core-heading"></p>
<h2 class="wp-block-heading" id="printing-quick-start">Identify Connection</h2>
<p></section>
<section class="block block-core-paragraph"></p>
<p>Printers capable of printing plain <code>ASCII</code> text can be quickly set up on FreeBSD.</p>
<p></section>
<section class="block block-core-paragraph"></p>
<p>Before starting, identify the type of connection your printer is using:</p>
<p></section>
<section class="block block-core-heading"></p>
<h6 class="wp-block-heading">USB</h6>
<p></section>
<section class="block block-core-group"></p>
<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow"><section class="block block-core-quote">
<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>When FreeBSD detects a <code>USB</code> printer, two device entries are created:<code> /dev/ulpt0</code> and <code>/dev/unlpt0</code>. Data sent to either device will be relayed to the printer. <code>unlpt0</code> is most commonly used as it does not reset the USB port at all, which can cause problems with some printers.</p>
</blockquote>
</section>
<section class="block block-core-heading">
<h6 class="wp-block-heading">Parallel</h6>
</section>
<section class="block block-core-quote">
<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>The parallel port device is <code>/dev/lpt0</code>. This device appears whether a printer is attached or not, it is not autodetected.</p>
<p>Vendors have largely moved away from these &#8220;legacy&#8221; ports, and many computers no longer have them. Adapters can be used to connect a parallel printer to a <code>USB</code> port. With such an adapter, the printer can be treated as if it were actually a <code>USB</code> printer.</p>
</blockquote>
</section>
<section class="block block-core-heading">
<h6 class="wp-block-heading">Network</h6>
</section>
<section class="block block-core-quote">
<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>Network printers are connected directly to the local computer network.</p>
<p>The <code>DNS</code> hostname of the printer must be known. If the printer is assigned a dynamic address by <code>DHCP</code>, <code>DNS</code> should be dynamically updated so that the host name always has the correct <code>IP</code> address. Network printers are often given static <code>IP</code> addresses to avoid this problem.</p>
<p>Most network printers understand print jobs sent with the LPD protocol. A print queue name can also be specified. Some printers process data differently depending on which queue is used. For example, a <code>raw </code>queue prints the data unchanged, while the <code>text</code> queue adds carriage returns to plain text.</p>
<p>Many network printers can also print data sent directly to port 9100.</p>
</blockquote>
</section>
<section class="block block-core-spacer">
<div class="wp-block-spacer" aria-hidden="true"> </div>
</section>
<section class="block block-core-heading">
<h2 class="wp-block-heading">Basic Setup</h2>
</section></div></div>
<p></section>
<section class="block block-core-paragraph"></p>
<p>FreeBSD uses<code> <a href="https://www.freebsd.org/cgi/man.cgi?query=lpd&amp;sektion=8&amp;format=html" target="_blank" rel="noreferrer noopener">lpd(8)</a></code> (Line Printer Daemon) to print in the background so the user can continue to use other programs. Start by creating a directory to store files while they are being printed:</p>
<p></section>
<section class="block block-core-code"></p>
<pre class="wp-block-code"><code># mkdir -p /var/spool/lpd/lp 
# chown daemon:daemon /var/spool/lpd/lp 
# chmod 770 /var/spool/lpd/lp</code></pre>
<p></section>
<section class="block block-core-paragraph"></p>
<p>As <code>root</code>, create <code>/etc/printcap</code> with these contents:</p>
<p></section>
<section class="block block-core-code"></p>
<pre class="wp-block-code"><code>lp:\
      <span class="has-inline-color has-vivid-red-color">:lp=/dev/unlpt0:\</span>
      :sh:\
      :mx#0:\
      :sd=/var/spool/lpd/lp:\
      :lf=/var/log/lpd-errs:</code></pre>
<p></section>
<section class="block block-core-paragraph"></p>
<p><mark class="has-inline-color has-vivid-red-color">**<em>This line is for a printer connected to a <code>USB</code> port</em>.</mark></p>
<p></section>
<section class="block block-core-paragraph"></p>
<p>For a printer connected to a parallel or &#8220;printer&#8221; port, use:</p>
<p></section>
<section class="block block-core-code"></p>
<pre class="wp-block-code"><code>:lp=/dev/lpt0:\</code></pre>
<p></section>
<section class="block block-core-paragraph"></p>
<p>For a printer connected directly to a network, use:</p>
<p></section>
<section class="block block-core-code"></p>
<pre class="wp-block-code"><code>:lp=:rm=<span class="has-inline-color has-vivid-red-color">network-printer-name</span>:rp=raw:\</code></pre>
<p></section>
<section class="block block-core-paragraph"></p>
<p><em>Replace <span class="has-inline-color has-vivid-red-color">network-printer-name</span> with the <code>DNS</code> host name of the network printer.</em></p>
<p></section>
<section class="block block-core-paragraph"></p>
<p>To check for errors, run:</p>
<p></section>
<section class="block block-core-code"></p>
<pre class="wp-block-code"><code># chkprintcap</code></pre>
<p></section>
<section class="block block-core-paragraph"></p>
<p>Enable LPD by editing <code>/etc/rc.conf</code>, adding this line:</p>
<p></section>
<section class="block block-core-code"></p>
<pre class="wp-block-code"><code>lpd_enable="YES"</code></pre>
<p></section>
<section class="block block-core-paragraph"></p>
<p>Start the service:</p>
<p></section>
<section class="block block-core-code"></p>
<pre class="wp-block-code"><code># service lpd start Starting lpd.</code></pre>
<p></section>
<section class="block block-core-paragraph"></p>
<p>Print a test:</p>
<p></section>
<section class="block block-core-code"></p>
<pre class="wp-block-code"><code># printf "1. This printer can print.\n2. This is the second line.\n" | lpr</code></pre>
<p></section>
<section class="block block-core-spacer"></p>
<div class="wp-block-spacer" aria-hidden="true"> </div>
<p></section>
<section class="block block-core-heading"></p>
<h2 class="wp-block-heading" id="printing-direct">Direct Printing</h2>
<p></section>
<section class="block block-core-paragraph"></p>
<p>For occasional printing, files can be sent directly to a printer device without any setup. For example, a file called <code>sample.txt</code> can be sent to a <code>USB</code> printer:</p>
<p></section>
<section class="block block-core-code"></p>
<pre class="wp-block-code"><code># cp sample.txt /dev/unlpt0</code></pre>
<p></section>
<section class="block block-core-paragraph"></p>
<p>Direct printing to network printers depends on the abilities of the printer, but most accept print jobs on port 9100, and <a href="https://www.freebsd.org/cgi/man.cgi?query=nc&amp;sektion=1&amp;format=html">nc(1)</a> can be used with them. To print the same file to a printer with the <code>DNS</code> hostname of <em>netlaser</em>:</p>
<p></section>
<section class="block block-core-code"></p>
<pre class="wp-block-code"><code># nc netlaser 9100 &lt; sample.txt</code></pre>
<p></section>
<section class="block block-core-spacer"></p>
<div class="wp-block-spacer" aria-hidden="true"> </div>
<p></section>
<section class="block block-core-heading"></p>
<h2 class="wp-block-heading" id="printing-lpd-filters">Filters</h2>
<p></section>
<section class="block block-core-paragraph"></p>
<p>The examples shown so far have sent the contents of a text file directly to the printer. As long as the printer understands the content of those files, output will be printed correctly.</p>
<p></section>
<section class="block block-core-paragraph"></p>
<p>Some printers are not capable of printing plain text, and the input file might not even be plain text.</p>
<p></section>
<section class="block block-core-paragraph"></p>
<p>Filters are specified in<code> /etc/printcap</code> with the <code>if=</code> identifier. To use <code>/usr/local/libexec/lf2crlf</code> as a filter, modify<code> /etc/printcap</code> like this:</p>
<p></section>
<section class="block block-core-code"></p>
<pre class="wp-block-code"><code>lp:\
	:lp=/dev/unlpt0:\
	:sh:\
	:mx#0:\
	:sd=/var/spool/lpd/lp:\
	:if=/usr/local/libexec/lf2crlf:\   
	:lf=/var/log/lpd-errs:</code></pre>
<p></section>
<section class="block block-core-table"></p>
<figure class="wp-block-table">
<table>
<tbody>
<tr>
<td>&nbsp;</td>
<td><code>if=</code> identifies the <em>input filter</em> that will be used on incoming text.</td>
</tr>
</tbody>
</table>
</figure>
<p></section>
<section class="block block-core-spacer"></p>
<div class="wp-block-spacer" aria-hidden="true"> </div>
<p></section>
<section class="block block-core-heading"></p>
<h2 class="wp-block-heading" id="printing-lpd-filters-stairstep">An Example Filter</h2>
<p></section>
<section class="block block-core-paragraph"></p>
<p>Typical FreeBSD text files contain only a single line feed character at the end of each line. These lines will &#8220;stairstep&#8221; on a standard printer:</p>
<p></section>
<section class="block block-core-preformatted"></p>
<pre class="wp-block-preformatted">A printed file looks
                    like the steps of a staircase
                                                 scattered by the wind</pre>
<p></section>
<section class="block block-core-paragraph"></p>
<p>A filter can convert the newline characters into carriage returns and newlines. The carriage returns make the printer return to the left after each line. Create<code> /usr/local/libexec/lf2crlf</code> with these contents:</p>
<p></section>
<section class="block block-core-preformatted"></p>
<pre class="wp-block-preformatted">#!/bin/sh
CR=$'\r'
/usr/bin/sed -e "s/$/${CR}/g"</pre>
<p></section>
<section class="block block-core-paragraph"></p>
<p>Set the permissions and make it executable:</p>
<p></section>
<section class="block block-core-code"></p>
<pre class="wp-block-code"><code># chmod 555 /usr/local/libexec/lf2crlf</code></pre>
<p></section>
<section class="block block-core-paragraph"></p>
<p>Modify <code>/etc/printcap</code> to use the new filter:</p>
<p></section>
<section class="block block-core-preformatted"></p>
<pre class="wp-block-preformatted">:if=/usr/local/libexec/lf2crlf:\</pre>
<p></section>
<section class="block block-core-paragraph"></p>
<p>Test the filter by printing the same plain text file. The carriage returns will cause each line to start at the left side of the page.</p>
<p></section>
<section class="block block-core-spacer"></p>
<div class="wp-block-spacer" aria-hidden="true"> </div>
<p></section>
<section class="block block-core-heading"></p>
<h2 class="wp-block-heading" id="printing-other">Other Printing Systems</h2>
<p></section>
<section class="block block-core-paragraph"></p>
<p>Several other printing systems are available in addition to the built-in <a href="https://www.freebsd.org/cgi/man.cgi?query=lpd&amp;sektion=8&amp;format=html">lpd(8)</a>. These systems offer support for other protocols or additional features.</p>
<p></section>
<section class="block block-core-heading"></p>
<h3 class="wp-block-heading" id="printing-other-cups">CUPS</h3>
<p></section>
<section class="block block-core-paragraph"></p>
<p>CUPS is a popular printing system available on many operating systems. Using CUPS on FreeBSD is documented in a separate article: <a href="https://docs.freebsd.org/en/articles/cups/">CUPS</a></p>
<p></section>
<section class="block block-core-heading"></p>
<h3 class="wp-block-heading" id="printing-other-hplip">HPLIP</h3>
<p></section>
<section class="block block-core-paragraph"></p>
<p>Hewlett Packard provides a printing system that supports many of their inkjet and laser printers. The port is <a href="https://www.freebsd.org/cgi/url.cgi?ports/print/hplip/pkg-descr">print/hplip</a>. The main web page is at <a href="https://developers.hp.com/hp-linux-imaging-and-printing">https://developers.hp.com/hp-linux-imaging-and-printing</a>. The port handles all the installation details on FreeBSD. Configuration information is shown at <a href="https://developers.hp.com/hp-linux-imaging-and-printing/install">https://developers.hp.com/hp-linux-imaging-and-printing/install</a>.</p>
<p></section>
<section class="block block-core-heading"></p>
<h3 class="wp-block-heading" id="printing-other-lprng">LPRng</h3>
<p></section>
<section class="block block-core-paragraph"></p>
<p>LPRng was developed as an enhanced alternative to <a href="https://www.freebsd.org/cgi/man.cgi?query=lpd&amp;sektion=8&amp;format=html">lpd(8)</a>. The port is <a href="https://www.freebsd.org/cgi/url.cgi?ports/sysutils/LPRng/pkg-descr">sysutils/LPRng</a>. For details and documentation, see <a href="http://www.lprng.com/">http://www.lprng.com/</a>.</p>
<p></section><section class="block block-classic-editor"></p></section><p>The post <a href="https://freebsdfoundation.org/resource/printing-on-freebsd-quick-guide/">Printing on FreeBSD – Quick Guide</a> first appeared on <a href="https://freebsdfoundation.org">FreeBSD Foundation</a>.</p>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
