<<

Desktop Technologies Systems Administration DeCal Week 10 Joshua Kwan Final Projects!

• Start doing ‘em! Presentations in 2 weeks! • Ask me questions! • Don’t get screwed at the last minute! • You don’t present something = NP! Last time

• Talked about init system, how to start up a Linux machine • Used on many Linux versions • What else is needed? “Desktop experience”

• How to define a desktop experience in e.g. Mac and Windows? “Desktop experience”

(X11) • (the literal desktop) • Drag-and-drop • Event notification (D-Bus) • Plug and play devices () • Easy network management GUI X11-Windows

• Drives your video card, supports your mouse, supports each window • The backbone of a Linux desktop • Client-server networked model lets you use it over a network, like VNC • Pros: Very, very flexible Cons: Network use requires a lot of bandwidth! X11 tricks

• X can be forwarded over SSH (e.g. running Emacs from home) • Lying on bed, computer on desk: set DISPLAY variable during ssh session to start new programs on your desk machine • It’s great for being lazy with ! Window manager

• OK, you have your windowing system. Now what? • You can’t drag windows around, resize them, hide them, bring them forward or shift them backward. • A window manager is needed to handle all this. • examples: (GNOME), KWin (KDE), xfwm4 () The Earliest Window Manager: Device Enumeration

• Remember what we learned about /dev • Each file represents the input/output of a particular device on the system • So to represent all the possible devices you could have, you need an enormous /dev folder - even if they aren’t plugged in • That’s only the tip of the iceberg... Device Enumeration

• Problem: A new Linux device driver comes out, complete with new minor/major device numbers. You then need to create entries in /dev yourself. Major pain. • Problem: You have two USB keys. Insert key #1 first and then #2. They are “sda” and “sdb”. One day, you insert them in the wrong order and #1 = “sdb”, #2 = “sda”. You format the wrong key and lose data. udev

• Works with the Linux kernel directly • Creates only those device nodes that are needed at any given point • Can assign unique identifiers to certain devices based on ID (avoid the sda/sdb problem) • Can do certain things like tell the desktop system when you insert a USB key