b7d48908b9
Add a calendar page and ICS file for event subscriptions. Update the Hello Linux presentation with Tux images and add setup instructions to the README.
405 lines
16 KiB
HTML
405 lines
16 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>Meet Tux, the Linux Mascot!</h2>
|
|
<div
|
|
style="
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
gap: 20px;
|
|
"
|
|
>
|
|
<img
|
|
src="tux1.png"
|
|
alt="Tux 1"
|
|
style="max-height: 300px; object-fit: contain"
|
|
/>
|
|
<img
|
|
src="tux2.png"
|
|
alt="Tux 2"
|
|
style="max-height: 300px; object-fit: contain"
|
|
/>
|
|
<img
|
|
src="tux3.png"
|
|
alt="Tux 3"
|
|
style="max-height: 300px; object-fit: contain"
|
|
/>
|
|
</div>
|
|
</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>
|