Can t Believe It s Linux. a totally different and hypothetical linux distribution

Similar documents
1 Installation (briefly)

CS197U: A Hands on Introduction to Unix

Manage Directories and Files in Linux. Objectives. Understand the Filesystem Hierarchy Standard (FHS)

You might think of Windows XP as a set of cool accessories, such as

Data Management CS 4720 Mobile Application Development

Introduction to Linux

A computer is an electronic device, operating under the control of instructions stored in its own memory unit.

About the Presentations

Welcome to getting started with Ubuntu Server. This System Administrator Manual. guide to be simple to follow, with step by step instructions

TRS2006 Content Manager Plus (CMP)

Introduction to Linux

Regardless of the size and complexity of the computer and the operating system, all operating systems perform the same four basic functions:

CS 390 Chapter 2 Homework Solutions

CS197U: A Hands on Introduction to Unix

Perl Install Module Windows Xp Without Cd >>>CLICK HERE<<<

UKNova s Getting Connectable Guide

Hello World! Computer Programming for Kids and Other Beginners. Chapter 1. by Warren Sande and Carter Sande. Copyright 2009 Manning Publications

Introduction to Linux. Woo-Yeong Jeong Computer Systems Laboratory Sungkyunkwan University

Bash command shell language interpreter

Linux for Beginners. Windows users should download putty or bitvise:

Using GitHub to Share with SparkFun a

Getting Started. Excerpted from Hello World! Computer Programming for Kids and Other Beginners

LIS Linux/Unix Command Line Goodness

ECE 550D Fundamentals of Computer Systems and Engineering. Fall 2017

dbdos PRO 2 Quick Start Guide dbase, LLC 2013 All rights reserved.

System Administration for Beginners

Unlock bootloader samsung with odin

A Tutorial on using Code::Blocks with Catalina 3.0.3

Manually Mount Usb Flash Drive Ubuntu Server Command Line

Lecture 3: The UNIX Style

Linux desktop app guide Documentation. Thomas Kluyver & contributors

Real Player 10 Manual Full Version For Windows-

How To Fix Regedit Windows Xp Install Cd With Sp3 On Usb

What is an Operating System?

Manual Format Flash Drive Ntfs Windows Xp

CSC 101 Spring 2010 Lab #8 Report Gradesheet

Real Player 10 Manual For Windows 7 New Version

Not For Sale. Offline Scratch Development. Appendix B. Scratch 1.4

CSCI 201 Lab 1 Environment Setup

How To Upload Your Newsletter

RASPBERRY PI. Gaming Kit

What is Standard APEX? TOOLBOX FLAT DESIGN CARTOON PEOPLE

IC Memory Card : How to make it work with your FM-Towns computer or console (V /12/20)

Some Basic Terminology

Filesystem Hierarchy and Permissions

Amber Weyland: [to cameraman] Just hold it there so we can see Mollie.

Windows Media Player Manual Update Vista Full Version

The goal of this book is to teach you how to use Adobe Integrated

EECS Software Tools. Lab 2 Tutorial: Introduction to UNIX/Linux. Tilemachos Pechlivanoglou

CSC209. Software Tools and Systems Programming.

Introduction to Linux

How to decrypt 3ds ROM s: This Guide is STRICTLY for 3DS s that are on firmware s I will go back and make this

First steps on Linux and programming

Caja File Manager. Desktop User Guide

Yup, left blank on purpose. You can use it to draw whatever you want :-)

CST Algonquin College 2

Installing + Configuring

Installation of Fedora 12 with CD

Google Chrome For Windows 7 32 Bit Latest Version 2015

COPYRIGHTED MATERIAL. Installing Xcode. The Xcode Installer

Sis mirage 672 series driver. The Administrative Tools - Event Viewer should log errors related to the issue you are. Sis mirage 672 series driver

LeakDAS Version 4 The Complete Guide

Linux Iso File For Windows 8 Full Version Direct Link

Manually Windows Update Xp Sp3 Iso Bootable

Ubuntu Installation Manually Partition Windows 7 Create System Reserved

Manually Uninstall Chrome Mac Os X Lion Server

UNIX, GNU/Linux and simple tools for data manipulation

History Windows XP is a line of proprietary operating systems developed by Microsoft for use on general-purpose computer systems, including home and b

INF322 Operating Systems

Some reasons to repair your boot-loader might include installing Microsoft Windows after you have installed Ubuntu, adding or removing a hard drive.

CS354 gdb Tutorial Written by Chris Feilbach

ET: Legacy Development - Task #157 Provide 64-bit binaries

Integrated Software Environment. Part 2

Spoken english guide in tamil pdf

Flatpak and your distribution. Simon McVittie

Chapter-3. Introduction to Unix: Fundamental Commands

CS61 Scribe Notes Lecture 18 11/6/14 Fork, Advanced Virtual Memory

Ubuntu Remove Manually Install Software From Windows 7 Without Disk

Chap2: Operating-System Structures

Cakewalk sonar 3 manual pdf

Microsoft Windows Xp Sp3 Manual Iso

Octagon Plugin Environment. using a virtual machine

Problems Installing Itunes 10 Windows 7 64 Bit Latest Version >>>CLICK HERE<<<

MyAberdeen. Some stuff to save you all time and effort.

Windows Vista Manual Update Service Pack 2 32 Bit Won't Install

Java Plugin Update Windows 7 32 Bit To 64 Bit

Manually Install Windows Updates Xp On 7 Laptop Using Usb Without Cd

Chances are good that you ve heard about Windows: the boxes and windows

Windows 7 Will Not Load On My Computer Says I'm

Lecture 2: The file system

CS 1301 Fall 2008 Lab 2 Introduction to UNIX

The Challenges for Software Developers with Modern App Delivery

Course Wiki. Today s Topics. Web Resources. Amazon EC2. Linux. Apache PHP. Workflow and Tools. Extensible Networking Platform 1

Lab - Data Migration in Windows

How To Install Latex Windows Xp From Usb Pen Drive Step By Step

Image Manually Uninstall Itunes Windows 7 >>>CLICK HERE<<<

1 Getting Started with Linux.

Manual Internet Explorer 10 Xp Mac Version Offline Installer

Unix System Architecture, File System, and Shell Commands

Manually Install Windows Updates Xp On 7 Laptop Using Usb

Transcription:

Can t Believe It s Linux a totally different and hypothetical linux distribution

What s the Situation? ubuntu is doing pretty well OS X is doing a lot better crap is actually pretty cool nobody cares about freedom (!!) the web is kicking ass

What could happen? OS X becomes the next Windows OpenGL and DirectX will no longer matter The Web will become the next killer application Netbooks could be a small chance for Linux

What are the Problems? Too many desktop environments Too many libraries / frameworks Stupid community Apple / Microsoft have learned their lessons

The real Problems! dll hell we ve got it too, just worse the filesystem structure sucks ass no root? you re pretty much screwed the permissions are crap too!

John Doe s Problems After installing his system, John Doe downloads the flash player from the official website just to find out he has no idea how to compile software. There is no package he can install, no.dmg, no.exe Say what you want, but without one established distribution system it just sucks for the desktop user.

John Doe s Problems John upgraded his system, and his four year old commercial music software is unable to run any more. Turns out that shared libraries changed incompatible and the original developer would have to recompile it You know that I can still run some of my old DOS games on Windows XP? (Haven t tried Vista)

John Doe s Problems John installed a software he downloaded from a webpage (that happened to be a software written in Qt) and it looks like crap on his system or totally different than the application s he used so far. THANKS NOKIA, you re working on *that* problem But it took a while and still isn t perfect

John Doe s Problems Joe is one of four users on the family s computer. He downloads a game from the network but isn t root so he is unable to use the system tools for application installation to install the application into the home directory. No problem on the server, I know. But it sucks for normal users.

So what s the Plan? Steal from OS X (and Windows)

A new Filesystem Structure /Home/<username> /System / Where users go Where the system goes Where global stuff goes Why not lowercase? We re on a desktop, users might look at it. And / System/Configuration/Grub/menu.lst looks a lot nicer than /sys/ config/grub/menu.lst.

What s below that Below each of those three folders we have the same directory structure:./library./applications./extensions./configuration./volumes Shared Libraries of all Languages Symlinks to executable Binaries Plugins for applications Application Configuration Mounted Media

Where s /dev? The following folders can stay where they are: /tmp /dev /boot /root no need to move them around. But GUI applications like nautilus should probably hide them by default.

A Package is some sort of archive with all the files in it. We have pretty cool package systems already, take advantage of them and extend them so that they can install into different locations: /Home/<username> /System /

The User Interface aka: The ugly part. I know there are so many GNOME haters, but there are many reasons why GNOME is the best pick: Companies stand behind it huge momentum currently The core libraries are all written in C The user interface is very user friendly

Are you crazy? No. And here s why: For a long time Linux distributions shipped a shitload of text editors, file managers, cd burning applications etc. Many of them where part of the out-of-the-box installation and users [and by users I mean me] was impressed but confused. Too many different approaches, no experience what application to use in what situation. Then ubuntu came along and shipped just one of each and it become a success.

Make your Choice The user just wants his work done, and if it s called KDE or if it s called GNOME: it doesn t matter. As long as the applications have a similar appearance, the same shortcuts and if there is just one of each kind. Pro-users will always install more and different stuff if the want.

What s below /Libraries?./Firefox./Firefox/3.0./Firefox/Current The application / shared lib One specific version The version the user selected If there are globally Firefox 3.0 and Firefox 2.0 and the Current version globally is 3.0, the user can symlink the global 2.0 folder as ~/Library/ Firefox/Current and he will use 2.0

Where s the binary?./applications/firefox ->./Library/Firefox/3.0/Current/bin/firefox All the applications a user might want to use are symlinked into his personal./applications folder. The global symlinks from / Applications are combined into that folder with some magic. Similar to how Live CDs overlay the root file system with a memory filesystem.

Where does it look? Applications (binaries of applications): ~/Applications/<name> Libraries: ~/Library/<name>/<version> /Library/<name>/<version> /System/Library/<name>/<version>

Configs? A bit more tricky. What are configuration files about? One the one hand you want the defaults globally available, on the other hand you want to overlay changes individually: ~/Configuration/<app>/<config> /Configuration/<app>/<config> [or] /System/Configuration/<app>/<config>

On Configs Applications have to read both the global config and override the values with the values from the local config on a per-key/value basis. And I don t think gconf is the solution.

The FHS is user unfriendly can be changed if the applications adapt. See OS X doesn t give you much

The Shell The Linux shells suck. I m sorry. Every time I write a quick shell hackery I know it will break if the filenames are too long, if there is unexpected whitespace somewhere, I can t properly escape parameters which gives me security nightmares etc.

The Modern Shell Imagine a shell like this: $ ps filter { $_.mem -gt 500MB } kill 2 processes killed [<Process firefox-bin>,...]$o1 $ foreach $o1 { echo $_.name } firefox-bin ooo-bin It s passing real objects around Commands (ps, kill) are classes in Mono assemblies Commands return new objects that are flagged with unique identifiers and kept in memory for some time ($o1)

Implementation Problems nobody will stand behind such a project it will be incompatible with everything out there the open source community will hate it it will take a long time to get all the builtin applications work with that dramatically different structure

</daydream> now think about it ;)