377 lines
15 KiB
HTML
377 lines
15 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<title>Hello Linux</title>
|
|
<style>
|
|
body {
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
.reveal {
|
|
height: 100vh;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div class="reveal">
|
|
<div class="slides">
|
|
<section>
|
|
<h1>Hello Linux</h1>
|
|
<h3>FLUG Presentation</h3>
|
|
<p>April 3, 2026</p>
|
|
</section>
|
|
|
|
<section>
|
|
<h2>What is a computer?</h2>
|
|
<img
|
|
src="computer.png"
|
|
alt="A very simple computer: DATA & INSTRUCTION FLOW"
|
|
style="max-height: 400px"
|
|
/>
|
|
</section>
|
|
<section>
|
|
<h2>
|
|
<a
|
|
href="https://youtu.be/2bGvWEfLUsc?si=mlzBMg4N_9-oT5Wk&t=5347"
|
|
>The kernel</a
|
|
>
|
|
</h2>
|
|
<ul>
|
|
<li>Kernel loads data from RAM to CPU</li>
|
|
<li>Kernel decides who gets to run on CPU</li>
|
|
<li>
|
|
Kernel knows how to talk with HDD and other devices
|
|
</li>
|
|
</ul>
|
|
</section>
|
|
<section>
|
|
<h2>Linux is a kernel</h2>
|
|
<p>There are others, including:</p>
|
|
<ul>
|
|
<li>Windows NT (Windows)</li>
|
|
<li>XNU (macOS / iOS)</li>
|
|
<li>BSD (FreeBSD, OpenBSD, NetBSD)</li>
|
|
</ul>
|
|
</section>
|
|
<section>
|
|
<h2>Linus Torvalds</h2>
|
|
<img
|
|
src="linus.jpg"
|
|
alt="Linus Torvalds"
|
|
style="max-height: 400px"
|
|
/>
|
|
</section>
|
|
<section>
|
|
<h2>Kernel vs userspace</h2>
|
|
<ul>
|
|
<li class="fragment">
|
|
<strong>Kernel Space</strong>
|
|
<ul>
|
|
<li>Core operating system</li>
|
|
<li>
|
|
Unrestricted access to hardware and memory
|
|
</li>
|
|
<li>Runs in privileged mode</li>
|
|
</ul>
|
|
</li>
|
|
<li class="fragment">
|
|
<strong>User Space</strong>
|
|
<ul>
|
|
<li>
|
|
Where user applications run (e.g., your
|
|
browser)
|
|
</li>
|
|
<li>
|
|
Restricted access (must ask kernel for
|
|
resources)
|
|
</li>
|
|
<li>
|
|
Communicates with kernel via
|
|
<em>System Calls</em>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</section>
|
|
<section>
|
|
<h2>Userspace -- GNU</h2>
|
|
<ul>
|
|
<li class="fragment">
|
|
<strong>G</strong>NU's <strong>N</strong>ot
|
|
<strong>U</strong>nix!
|
|
</li>
|
|
<li class="fragment">
|
|
Started in 1983 by Richard Stallman to create a free
|
|
operating system
|
|
</li>
|
|
<li class="fragment">
|
|
Provides core user utilities (Coreutils) like
|
|
<code>ls</code>, <code>cp</code>, and
|
|
<code>rm</code>
|
|
</li>
|
|
<li class="fragment">
|
|
Provides the standard shell (Bash) and compiler
|
|
(GCC)
|
|
</li>
|
|
<li class="fragment">
|
|
Provides the C Library (glibc) which acts as the
|
|
bridge between user space and the kernel
|
|
</li>
|
|
<li class="fragment">
|
|
This is why the complete OS is often referred to as
|
|
<strong>GNU/Linux</strong>!
|
|
</li>
|
|
</ul>
|
|
</section>
|
|
<section>
|
|
<h2>Richard Stallman</h2>
|
|
<img
|
|
src="stallman.jpg"
|
|
alt="Richard Stallman"
|
|
style="max-height: 400px"
|
|
/>
|
|
</section>
|
|
<section>
|
|
<h2>Free Software vs Open Source</h2>
|
|
<ul>
|
|
<li class="fragment">
|
|
<strong>Free Software (Stallman/FSF)</strong>
|
|
<p>
|
|
Focuses on ethics and user freedom. "Free as in
|
|
speech, not free as in beer."
|
|
</p>
|
|
</li>
|
|
<li class="fragment">
|
|
<strong>The Four Freedoms:</strong>
|
|
<ul>
|
|
<li>0. Run the program for any purpose.</li>
|
|
<li>1. Study and change the source code.</li>
|
|
<li>2. Redistribute exact copies.</li>
|
|
<li>3. Distribute modified versions.</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</section>
|
|
<section>
|
|
<h2>Free Software vs Open Source</h2>
|
|
<ul>
|
|
<li class="fragment">
|
|
<strong>Open Source</strong>
|
|
<p>
|
|
Focuses on practical benefits (building better
|
|
software through collaboration).
|
|
</p>
|
|
</li>
|
|
</ul>
|
|
</section>
|
|
<section>
|
|
<h2>OK; so you have GNU/Linux</h2>
|
|
<img
|
|
src="ubuntu-tty.png"
|
|
alt="Ubuntu TTY"
|
|
style="max-height: 400px"
|
|
/>
|
|
</section>
|
|
<section>
|
|
<h2>Display Servers: Xorg & Wayland</h2>
|
|
<ul>
|
|
<li class="fragment">
|
|
<strong>Xorg (X11):</strong> The traditional display
|
|
server. Extremely compatible, but burdened by
|
|
decades of legacy code.
|
|
</li>
|
|
<li class="fragment">
|
|
<strong>Wayland:</strong> The modern replacement
|
|
protocol. Designed to be simpler, more secure, and
|
|
tear-free. Now the default on most modern distros.
|
|
</li>
|
|
</ul>
|
|
</section>
|
|
<section>
|
|
<h2>Desktop Environments</h2>
|
|
<p>
|
|
Often what users interact with directly. They provide
|
|
the graphical interface, window management, panels, and
|
|
bundled applications.
|
|
</p>
|
|
</section>
|
|
<section>
|
|
<h2>GNOME</h2>
|
|
<img
|
|
src="gnome.png"
|
|
alt="GNOME Desktop"
|
|
style="max-height: 400px"
|
|
/>
|
|
</section>
|
|
<section>
|
|
<h2>KDE Plasma</h2>
|
|
<img
|
|
src="kde.jpg"
|
|
alt="KDE Plasma Desktop"
|
|
style="max-height: 400px"
|
|
/>
|
|
</section>
|
|
<section>
|
|
<h2>More software</h2>
|
|
<p>
|
|
You need more than just a pretty desktop; you need
|
|
usefull applications!
|
|
</p>
|
|
<ul>
|
|
<li>
|
|
Most browsers (Chrome, Firefox, Safari) work in
|
|
Linux
|
|
</li>
|
|
<li>
|
|
There are many open-source Linux-native tools, like
|
|
LibreOffice
|
|
</li>
|
|
<li>
|
|
... and we can run Windows applications using WINE
|
|
</li>
|
|
</ul>
|
|
</section>
|
|
<section>
|
|
<h2>Package Managers</h2>
|
|
<ul>
|
|
<li class="fragment">
|
|
Like an App Store, but built for the command line
|
|
(and much older).
|
|
</li>
|
|
<li class="fragment">
|
|
Automates installing, upgrading, configuring, and
|
|
removing software.
|
|
</li>
|
|
<li class="fragment">
|
|
Resolves dependencies (if App A needs App B, it
|
|
installs B automatically).
|
|
</li>
|
|
<li class="fragment">
|
|
Examples: <code>apt</code> (Debian/Ubuntu),
|
|
<code>pacman</code> (Arch),
|
|
<code>dnf</code> (Fedora).
|
|
</li>
|
|
</ul>
|
|
</section>
|
|
<section>
|
|
<h2>Linux distributions</h2>
|
|
<p>
|
|
So many choices! Distros make some of these decisions
|
|
for you. They bundle a package manager, display manager,
|
|
configuration files, etc for you.
|
|
</p>
|
|
<ul>
|
|
<li>Debian-based (Ubuntu)</li>
|
|
<li>Arch-based (Arch, Manjaro, CachyOS)</li>
|
|
<li>Redhat (Fedora, RHEL)</li>
|
|
<li>Gentoo (no.)</li>
|
|
</ul>
|
|
</section>
|
|
<section>
|
|
<h2>Try things out</h2>
|
|
<p>
|
|
You run Linux on your computer without installing it.
|
|
Try out a few different window managers and
|
|
distributions.
|
|
</p>
|
|
<p>Today, I recommend trying CachyOS</p>
|
|
<ul>
|
|
<li>It feels snappy</li>
|
|
<li>Has lots of desktop environments</li>
|
|
<li>One of the best package managers</li>
|
|
</ul>
|
|
</section>
|
|
<section>
|
|
<h2>CachyOS - KDE Plasma</h2>
|
|
<img
|
|
src="cachy-kde.png"
|
|
alt="CachyOS KDE Plasma"
|
|
style="max-height: 400px"
|
|
/>
|
|
</section>
|
|
<section>
|
|
<h2>CachyOS - i3</h2>
|
|
<img
|
|
src="cachy-i3.png"
|
|
alt="CachyOS i3"
|
|
style="max-height: 400px"
|
|
/>
|
|
</section>
|
|
<section>
|
|
<h2>CachyOS - Niri</h2>
|
|
<img
|
|
src="cachy-niri.jpg"
|
|
alt="CachyOS Niri"
|
|
style="max-height: 400px"
|
|
/>
|
|
</section>
|
|
<section>
|
|
<h2>CachyOS - Qtile</h2>
|
|
<img
|
|
src="cachy-qtile.png"
|
|
alt="CachyOS Qtile"
|
|
style="max-height: 400px"
|
|
/>
|
|
</section>
|
|
<section>
|
|
<h2>CachyOS - Wayfire</h2>
|
|
<img
|
|
src="cachy-wayfire.png"
|
|
alt="CachyOS Wayfire"
|
|
style="max-height: 400px"
|
|
/>
|
|
</section>
|
|
<section>
|
|
<h2>But.. why?</h2>
|
|
<img
|
|
src="linux-potatoe.png"
|
|
alt="Linux potatoe"
|
|
style="max-height: 400px"
|
|
/>
|
|
</section>
|
|
<section>
|
|
<h2>But.. why?</h2>
|
|
<img
|
|
src="linux-bootloader.jpg"
|
|
alt="Linux bootloader"
|
|
style="max-height: 400px"
|
|
/>
|
|
</section>
|
|
<section>
|
|
<h2>But.. why?</h2>
|
|
<img
|
|
src="penguin.jpg"
|
|
alt="Linux penguin"
|
|
style="max-height: 400px"
|
|
/>
|
|
</section>
|
|
<section>
|
|
<h2>Thank You</h2>
|
|
<p>Questions?</p>
|
|
</section>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Vite handles bare module imports and CSS imports seamlessly -->
|
|
<script type="module">
|
|
import Reveal from "reveal.js";
|
|
import RevealMarkdown from "reveal.js/plugin/markdown";
|
|
import RevealHighlight from "reveal.js/plugin/highlight";
|
|
import RevealNotes from "reveal.js/plugin/notes";
|
|
|
|
import "reveal.js/reveal.css";
|
|
import "reveal.js/theme/black.css";
|
|
import "reveal.js/plugin/highlight/monokai.css";
|
|
|
|
Reveal.initialize({
|
|
hash: true,
|
|
slideNumber: true,
|
|
transition: "slide", // none/fade/slide/convex/concave/zoom
|
|
plugins: [RevealMarkdown, RevealHighlight, RevealNotes],
|
|
});
|
|
</script>
|
|
</body>
|
|
</html>
|