Home | FAQ | Thesis | Diary | Projects | Resume | Todo | Index |
Related: coreutils, desk, distro, GNUin, LazyLoad, menu, MiniMacs, Operating System, tools
GNUnix.sf.net, github.com/AGNUcius/GNUnix
"'
GNUnix is not Linux
GNUnix is an Operating System construction kit
that starts as a very lightweight distribution
then morphs into whatever you want during use.
For now it is just a 'mini' install of UBUNTU
Precise 12.04 with IceWM and Chromium.
The core idea (that is not yet implemented) is
"Install And Launch When Attempted" (IALWA)
which makes finding and using and fixing the
programs you want much more easy and obvious.
The high-level view of IALWA is a Start-Menu
filled with all the applications you could ever
possibly install, not yet actually installed.
There would be no separate package-manager
because the Start-Menu seamlessly manages
packages and launches those same programs.
Each entry might be slightly greyed-out if the
app is not yet installed.
I envision the icons, reviews, screenshots,
and other heavy data could be retrieved over
the network (and cached) when the user
pauses over that menu entry.
Once the user tries to use that program, the
package-manager would be invoked to install
that package and any dependencies, and then
the program would be launched, and the menu
entry would be updated to show it is installed.
Right-clicking the menu-entry would allow the
user to uninstall or configure or complain about
bugs or suggest new features, or go to an
online forum, etc.
The window-manager should also be enhanced
to add another button (maybe a '+') that would
be another way to access the features given
when right-clicking the menu-entry.
A global configuration file would contain settings
such as "prompt before install", "uninstall app
after X days of disuse", "sort menu entries
by popularity", etc.
'"
==Goals
Minimal resource use through JIT download, install, start.
Auto-hibernate procs by writing "resident memory" and handle list to disk allowing thousands of procs to remain forever running, even across reboots.
Some kind of dashboard to display computer health and help such as:
Process interrogation and control: htop, xosview, xload
CPU schedule, split, cluster
Memory Allocation and Protection
Disk Storage, Throughput, Temperature: CoreDump.Free.fr/linux/hddtemp.php
Network Throughput:
Keyboard and API access
The user downloads a very small, platform-specific installer to split the disk.
A minimal disk image (with a low-performance 'universal' network driver or with all known network drivers) is then downloaded and written to the target partition which is (by default) made bootable from the containing OS.
Hardware is probed during the first (and anytime |SHIFT| is held during) boot; needed drivers are downloaded, installed and started.
The video card is switched to graphics mode very early and the login prompt appears while services start in the background. Default resolution and refresh rate are sensible and easily adjusted by right-clicking the desktop.
New users may create their own (limited) account with the [New] button at the login screen.
Pressing the WindowKey or clicking the [Star] button displays a tree of software and media organized and sorted by community and/or personal rankings. Tools, toys, games, movies, music, books, news, etc. are downloaded, installed and executed only when selected.
Titles appear slightly faded until installed. When a choice is made, it is downloaded from local CD/DVD if available or through bit-torrent backed by HTTP mirrors.
The lightweight windowing system optionally captures and translates keystrokes so input can be standardized across applications. Mixable themes include: CUA/Explorer, Emacs, vi, Norton Commander.
Each application frame drawn by the window manager includes an extra button which helps this user read and write community News, Bugs, Updates, Help, Docs, Fix, Ratings, etc.
==Features
Read+Write: email, address book, notes, todo list, code
Draw/Paint: 2D, 3D, sketch, script, render
Remote control other computers: WakeOnLan, Restart, Shut off, Exec remote commands
Share+Find+Copy files from: SMB, NFS, VNC, RDP, SSH, Citrix ICA, Active Directory, Workgroups, IP address ranges.
Record and rePlay macros (AutoHotKey)
View status and plan of Users who reveal this info.
Edit currently running programs
Edit startup of drivers, services and other programs and shell extensions.
Edit Installed Software
View Event Log
View clipboard
Edit Registry
==Global keys
WindowKey Open 'root' menu
Ctrl-Shift-ESC System Monitor
Ctrl-Alt-Del Menu to shutdown, logoff, restart
Ctrl-Alt-Bckspc Menu to fix resolution, refresh rate, login portal
WindowKey-e PCManFM.sf.net or MinEmacs lightweight disk and net browser/editor
WindowKey-r Open a 'Run' prompt
WindowKey-m Minimize all windows
A text file or maybe a directory of files and subdirs used describe the menu layout and commands?
Make the directory /usr/local/gnunix and put it at the *end* of our $PATH environment variable. Then fill /usr/local/gnunix with small executable installation scripts having the same name as the target command. When the user tries to run a program that is not yet installed, it actually runs the installer instead.
For example, /usr/local/gnunix/xosview might look something like:
__
#!/bin/sh
sudo apt-get install xosview
xosview
__
Now, when the user attempts to run that program, the system will transparently run the installer and then launch the program. The next time the program is called, the system will find the *real* executable earlier in $PATH and run it directly instead.
==Long-term ideas:
The GUI "Desktop" becomes a 3D looking first-person perspective with the same MOO text objects represented as icons or models.
These objects are manipulated through a right-click menu or by 'applying' other objects.
The HUD contains gauges for CPU utilization, speed, heat; Memory load; fan speeds, disk and net activity/load and errant processes or users.
Programs are grouped in rooms dedicated to high-level goals like janitor, mail, music, TV, games.
Computer hardware is represented by a 3D model you may administer directly.
Networked peers may share read, write, execute access to their files and display.
Security may appear as doors or windows that require a key or tool to open.
A portable radio or TV can be added to your HUD. Changing channels lets you browse through Free audio and video blogs or feeds.
KMandla.WordPress.com/2009/08/09/idesk-completes-the-look
http://serverfault.com/questions/24323/gentoo-linux-useful-utilities
http://serverfault.com/questions/9936/is-this-the-optimal-procedure-to-upgrade-gentoo-linux
Porthole.sf.net >>Porthole is a GTK-based front-end for Portage (the Gentoo package management system). It features a hierarchical view of packages and supports fast searches and dependency calculations. Porthole works mainly by running "emerge" commands in its own terminal window, and supports most emerge operations.
====Mount VBox "Shared Folders"
Install Dynamic Kernel Module Support (DKMS):
$ pkg.add dkms
Reboot the machine.
Install VBox "Guest Additions"
====X Window
The new X.Org creates a much smaller /etc/X11/xorg.conf that is easier to understand.
But a virtual desktop larger that their real resolution is unworkable!
$ sudo emacs /etc/X11/xorg.conf #force X11 to one resolution
Section InputDevice
+ add Option "XkbOptions" "altwin:super_win"
EndSection
Section "Screen"
+ DefaultDepth 24
+ SubSection "Display"
+ Depth 24
+ Modes "1024x768"
+ EndSubSection
EndSection
Documents: Ted, Abiword, Scribus.net, Open Office Writer
HTML: Kompozer.net, Bluefish.openoffice.nl
Record Desktop: Shutter-Project.org, recordMyDesktop, DemoHelper.GoogleCode.com
Page Layout: www.Scribus.net, FinalPage.sf.net
3D Modeling: K-3D.org, Blender.org
Paint: mtpaint, xpaint, TuxPaint, InkScapeLite, Al.chemy.org, InkScape, XaraXtreme, GIMP
Color: grabc, gcolor2
Hex: MadEdit, HTE, biew, QEmacs, Heme
CAD:
CD/DVD: DVDAuthor, dvd+rwtools, pburn, grafburn, cdrtools/wodim, cdw
ISO: Mount, Create, Extract, etc.
Music: ripoff, asunder, cdparanoia
Todo: lxtask, pschedule
Budget: GNUCash.org, homebank, expensetracker
Chat: pidgin.im, PSYC.eu
Mail: ThunderBird, SimpleMail
FTP: FileZilla, gcurl, urlgfe, xwget, pwget, gcurl
WWW: dillo, Firefox + FlashBlock + AdBlockPlus + NoScript + History, Gnash or flashplayer
Remote Control: Grdc, FreeNX, VNC, rdesktop, tsclient, Synergy2, WOL
P2P, Torrent: aMule, emesene, gSTM, deluge, ctorrent, pctorrent, transmission_gtk
Administration
Audio
Business and productivity
Calculator: SpeedCrunch.org, ycalc, galculator, calcoo, cgtkcalc
Database
Education
Email:
Archiver: k7z.GoogleCode.net
Picture View: xzgv, Mirage.berliOS.de, gpicview, zevv.nl/play/code/glview, Guichaz.Free.fr/gliv, aview, flphoto, gimageview, gqview
Hobbies
Interface
Internet apps
Live communications: chat, video conferencing, phone
Localization
Mathematics
Printing
Science
Security
Software Dev (IDE): CodeBlocks.org, wxDsgn.sf.net, UltimatePP.org, CodeLite.org, Geany.org
Text Editors: beaver, aedit, geany, zedit, Emacs, vi, pico, nano, teagtk
Web authoring:
AUTO:
mount volumes
browse for network NSF or SMB shares: pnethood, AVAHI.org
Play
Audio CD: xfreecd, cdp
Games: xsoldier, rubix
Administer: xlock, slock
Logs:
File: emelFM2, PCManFM, xfe, Thunar, rox, autoconnect
Find/Search: turma, zfind, pfind
Hard: usbview, lspci, hardinfo
Disk:
gdmap
Backup: pbackup
Sync: mirdir, gadmin-rsync
Partition: GParted, fdisk, sfdisk
Terminal: urxvt, terminator.org
Proc launch: drun.sf.net, gexec, srun, bashrun, xrun, wbar
Proc view/edit: xosview, xload, htop, conky, hwinfo, xproc
Audio: xtmix, aumix, zmixer
Network: reconfigure, net-tools, xnetload, mtr
Wireless: xwconfig, wavemon, xnetstrength, wireless-tools, ndiswrapper, pwireless
Disk: lde,
Power: Shutdown, Restart, xlock
Upgrade: Upgrade Distro, Compile Kernel
Camera: gtkam, gphoto2
Printer: gtklp
Scanner: xsane
gfontsel
PDF: Trac.Emma-Soft.com/epdfview, PDFChain.sf.net
chm: chmsee
Video Player: Videolan.org, SMPlayer.sf.net
Resource Monitor: xosview, htop
Clock:
Diagnostics
Memory: memtest, memtester
scanpci
clamav
dmidecode
edid
eject
elspci
ethtool
pstopwatch
autofs A kernel-based automounter for Linux
axyftp-gtk A graphical ftp program with GTK interface
cdrecord A command line CD/DVD writing tool
cloop-module The compressed loopback block device kernel
cloop-utils Tools for handling with cloop compressed vol
ifupdown High level tools to configure network interf
mkisofs Creates ISO-9660 CD-ROM filesystem images.
ppp Point-to-Point Protocol (PPP) daemon.
ppp-scripts-kn PPP connection scripts for various providers
pppconfig A text menu based utility for configuring pp
rxvt VT102 terminal emulator for the X Window Sys
scite Lightweight GTK-based Programming Editor
util-linux Miscellaneous system utilities.
wvdial PPP dialer with built-in intelligence.
zile a very small emacs-like editor
=Other Research
distro
CDLinux.info
Help.UBUNTU.com/community/LiveCDCustomizationFromScratch