Pages

Showing posts with label SkinnyDebbie. Show all posts
Showing posts with label SkinnyDebbie. Show all posts

September 25, 2011

Selecting sudo/su authentication mode (without gconf-editor)

This may be Debian-specific.

Apps like 'Synaptic' and 'Root Terminal' when launched from a desktop menu (e.g., your panel's applications menu) will ask for authentication. By default, Debian uses gksu for these tasks. However, it's possible and quite easy to configure things so gksudo is used instead. The following assumes you have already configured your system and user to use sudo.

I first learned how to do change the setting by using gconf-editor. If you have gconf-editor installed, go to the entry for /apps/gksu and click the checkbox next to sudo-mode. But that's the fiddly way to do it. I just discovered by accident a much easier way -- one that doesn't require gconf-editor. Simply launch:

$ gksu-properties

as user (not root) and set Authentication mode to su (to use gksu) or sudo (for gksudo). While you're there, you can also disable screen grabbing, though why you'd want to I'm not really sure.

Note that this is a per user setting. There's probably a system-wide config for this, but I'm feeling too lazy to find it.

August 13, 2009

SkinnyDebbie for Lenny



I just released an advanced beta (i.e., good enough for daily use) of the SkinnyDebbie light-and-lean flavorizer for Debian Lenny.

Please, do go forth and enjoy.

May 12, 2009

Thanks, Yellow Dog! :-)

Executive summary:
If you are having trouble getting Debian Lenny to give you anything other than 800x600 resolution on a Macintosh Cube, try the xorg.conf file below.

The long version:
In a previous post, I mentioned how easy it was to tweak the Etch-based version of SkinnyDebbie so it worked on a Macintosh Cube. More recently, I've directed some energy into getting Lenny up and running on the Cube as a precursor to making the upcoming Lennified version of Skinny work on it as well.

My adventure started by installing the Xfce version of Lenny on the Cube, and it worked ... sort of. As long as I was happy with 800x600 resolution, it worked fine. As far as other resolutions go, there were none. 800x600 was the only thing available. Much Googling and dinking around with /etc/X11/xorg.conf changed nothing or made the situation worse.

So, I tried a full Gnome install. Same thing. I tried building a system from the ground up, adding all the bits and pieces incrementally. I got no further than installing xserver-xorg. Groan. More Googling and I learned that the r128 driver used by the ATI Rage 128 Pro card has been relegated to legacy status. Despondency ensues.

I then turned my attention to other distributions in the hope that whatever goofy thing was responsible for this was resolved there. Ubuntu? Nope. PPC no longer officially supported, and a recent install disk wouldn't even pass Go. Fedora? Worth a shot ... I downloaded the Xfce spin and ... exact same behavior. More despondency.

Then I remembered Yellow Dog Linux. YDL is a distribution specifically targeting PPC machines, including the Sony Playstation and older Macs. The number of packages supported by YDL is fairly limited, but, hey, a 1280x1024 Cube beats a 800x600 Cube even if it means having to compile everything yourself. So I gave it a shot ... and it worked! Oh, what glory. Gnome and Enlightment only, but it worked.

Then I had an idea. What if I take the display-related stuff in YDL's xorg.conf and use it in Lenny? I was fully expecting a catastrophic video fail with this, but maybe I would learn something in the process. And, much to my surprise, it worked!

Gasp.

Hoo-ray! Full resolution Macintosh Cube Lenny at last!

Now, I know I'm not the only one with this problem. I suspect there are at least ten of us that are in this boat. So for the benefit of the remaining nine, I present below the xorg.conf file that finally did the trick. I haven't spent any time trying to figure out what the magic change is, I'm just so jazzed that it works that I wanted to share.
# xorg.conf (X.Org X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the xorg.conf manual page.
# (Type "man xorg.conf" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following command:
#   sudo dpkg-reconfigure -phigh xserver-xorg

Section "InputDevice"
Identifier    "Generic Keyboard"
Driver        "kbd"
Option        "XkbRules"    "xorg"
Option        "XkbModel"    "pc104"
Option        "XkbLayout"    "us"
EndSection

Section "InputDevice"
Identifier    "Configured Mouse"
Driver        "mouse"
EndSection

Section "Device"

#Option    "ShadowFB"    "true"
#Option    "fbdev"    "/dev/fb0"
#BusID    "0:0:0"
Identifier  "Card0"
Driver      "fbdev"
Option        "UseFBDev" "true"
EndSection


Section "Monitor"
### Comment all HorizSync and VertSync values to use DDC:
Identifier   "Monitor0"
ModelName    "Monitor Model"
### Comment all HorizSync and VertSync values to use DDC:
HorizSync    30.0 - 81.0
VertRefresh  56.0 - 60.0
Option        "DPMS"
EndSection

Section "Screen"
Identifier "Screen0"
Device     "Card0"
Monitor    "Monitor0"
DefaultDepth     24
SubSection "Display"
Depth     8
Modes    "1024x768"
EndSubSection
SubSection "Display"
Depth     16
Modes    "1024x768"
EndSubSection
SubSection "Display"
Depth     24
Modes    "1280x1024" "1280x960" "1152x864" "1024x768" "800x600" "640x480"
EndSubSection
SubSection "Display"
Depth     15
Modes    "1024x768"
EndSubSection
EndSection

#Section "DRI"
#    Group        0
#    Mode         0666
#EndSection

April 04, 2009

CrunchBang Linux

The people over at CrunchBang Linux have put together what they promise is a lightweight Ubuntu-based distribution. It comes in Standard, Lite and Eee versions. I have yet to try it, but I absolutely love the minimalist default desktop and am very impressed by what I've read.

CrunchBang's approach to implementation and design differs a bit from what I'm trying to do (ever so slowly lately) with SkinnyDebbie. Implementation-wise, CrunchBang is a full distribution that is based on a standard distribution (Ubuntu); SkinnyDebbie is a configuration that sits on top of a standard (currently Debian) distribution. In terms of design, without actually trying it I can't say for sure, but it looks as though CrunchBang is aimed at users that have at least a bit of Linux familiarity and a tiny bit of hardware headroom.; the design philosophy behind SkinnyDebbie is to make it as useful and inviting as possible to computer newbies while using the lightest-weight core options that still get the job done.

Of course neither approach is better than the other; CrunchBang and Skinny are intended for slightly different audiences/flavors of users. If you are looking for a lightweight Linux distribution, please give CrunchBank a spin and let me know what you think. If CrunchBang had been around when I started Skinny, I might never have started it. :-)

March 12, 2009

SkinnyDebbie has moved

I've moved SkinnyDebbie to a new home. Skinny's new home will be able to give the project more of the services it wants and needs. From now on, the best place to get the Skinny is http://skinny.tuxfamily.org/ .

December 28, 2008

Where is Lenny?

Additional development of SkinnyDebbie has been held up by two things. The first is an unbelievable workload this term. I am teaching almost double the standard load. And on top of that (not because I am an idiot, but because I had no choice) I am taking two classes for my PhD program--two classes that are turning out to be much more time demanding that I had anticipated. I am hoping next term won't be as insane as this one.

The second reason is the delay in Lenny's release. It was originally on track for a September/October 2008 release, but due to some release-critical bugs, the final release is now not expected until June of 2009. (See also this and this.)

I don't really want to develop/fix/improve anything with SkinnyDebbie until Lenny's final form sees daylight. Given that there are release-critical (i.e., significant) bugs and the projected timeline for resolution is so long, there is a good chance that important bits of anything I develop now may break by the time the release is finalized, possibly is subtle, hard to find ways. I'd rather have a go at it once the infrastructure is finalized.

In the meantime, what is a light-and-lean Linuxer to do? The big concern I have with Etch is that support for Firefox 2 will soon go away. I'm pretty sure that means no more security updates from Mozilla. Does that mean that Etch will upgrade Iceweasel to v3 in Etch? Will Iceweasel developers backport security updates to v2? I haven't heard anything about this yet.

Given the delay with Lenny and issues with Etch's age, I am considering converting the SkinnyDebbie project to an Ubuntu-based deal. But I need to let this term play out before I can make a good decision. In the meantime, if you are brave you can use SkinnyDebbie as-is with Lenny. Some things won't work--the widgets for setting display resolution for example--but in my testing the overall scheme holds up pretty well.

September 09, 2008

MadWifi and SkinnyDebbie

My main SkinnyDebbie test machine is an Acer TravelMate 508T laptop. It has no built-in Ethernet. I don't think I need to say that it has no built-in WiFi. It has one PCMCIA slot.

I use a 3Com OfficeConnect 10/100 LAN adapter card (PCMCIA) for Ethernet connectivity. I've never had to do anything special to make the lappy's networking go with any Linux distribution I have tried. It just works "out of the box." I also have a D-Link DWL-G630 WiFi card (also PCMCIA). It works "out of the box" in Xubuntu, but not in SkinnyDebbie. This is a summary of how I got it to work.

I bought the D-Link card because it was listed as Linux compatible at http://linux-wless.passys.nl/ (and because of favorable comments at Newegg). The site says that my card is compatible with MadWifi drivers--drivers that have been developed to support Atheros chipsets. The process below is adapted from MadWifi's own newbie installation guide; however, I had to do some extra stuff and not do some other stuff to make it go in SkinnyDebbie. I expect that the instructions below will work for any MadWifi-compatible card. There are lots of little steps here, none of which are large or complicated, but all of which add up to some tedium. Sorry about that.

Preparation
  1. I started with my wired Ethernet card in the laptop. The WiFi card was not physically in the machine.
  2. Verify that your WiFi card is compatible with the MadWifi drivers at http://linux-wless.passys.nl/. Be sure to check the vendor/product code of your card as well as the product ID because manufacturer's routinely change chipsets in their cards without changing model numbers! If it's not listed as working with MadWifi, then don't install the MadWifi drivers.
  3. Open a terminal and type:
    sudo aptitude install network-manager network-manager-gnome
    This will install a network management system and notification tray applet that takes a lot of the headache out of setting up and signing on to WiFi networks.
  4. When that's done, type
    sudo aptitude install module-assistant build-essential
  5. When that's done, type
    sudo m-a update
    sudo m-a prepare

    The above will install the header files needed to build the MadWifi drivers.
  6. When that's done, type
    geany ~/.icewm/startup
    In the text editor window that opens, right after the line
    xscreensaver -no-splash &
    add the line
    nm-applet --sm-disable &
    Save the file and exit Geany.
Build and install drivers
  1. Download the drivers from the Madwifi home page. I used v0.9.4. If something doesn't work in what follows, it may be because of a version change.
  2. In ROX-Filer, navigate to the *.tar.gz file you downloaded and double click on it to extract it.
  3. Open a terminal and navigate to the directory where you extracted the package. (This may be a good time to get to know ROX-Filer's Window -> Terminal here command or it's keyboard shortcut, `.)
  4. Type the following in the terminal:
    sudo ifconfig ath0 down
    sudo ifconfig wifi0 down

    You will probably get warnings or errors. Don't worry about them.
  5. Now type the following:
    cd scripts
    ./madwifi-unload
    ./find-madwifi-modules.sh $(uname -r)
    cd ..

    This removes any old modules, which you almost certainly don't have anyway. We are now ready to build the drivers.
  6. Still in the terminal, make sure you are at the top level of the downloaded and extracted MadWifi directory and type:
    sudo make
    sudo make install

    Both of the above may take some time. You should not see errors. If you do, curse the Linux gods and give up.
  7. Type:
    sudo geany /etc/modules
    In the text editor window that opens, add the following line to the bottom:
    ath_pci
    Save the file and exit Geany.
  8. Logoff and power down the computer. Replace the wired Ethernet adapter card with the WiFi adapter card.
  9. When you start the computer and login again, you should see a new icon in the notification tray. When you click on it, you will be able to select and sign into available WiFi networks
There remains one minor problem with this setup: every time you reboot your computer and login, you will be prompted to re-enter the passphrase for the network you want to join. Improving on this situation is probably possible, but it's not something I am going to tackle right now. If I do, you'll read about it here.

SkinnyDebbie and the Macintosh PowerPC

I tried loading SkinnyDebbie onto an old Macintosh Cube.

"Linux on PowerPC?" you ask? And at 450 MHz? Debian is one of the few distributions that officially supports the PowerPC architecture. And SkinnyDebbie on i386 at 500Mhz works just fine. So it seemed natural to try.

It worked. In fact, I am really happy not just that it works but also with how well it works. So far I have found only four gotchas--two having to do with SkinnyDebbie and two having to do with Larger Issues. The SkinnyDebbie ones are easy to fix. The Larger Issues are not.

First the SkinnyDebbie stuff:

IceWM's network traffic monitor doesn't work. This is caused by the fact that (at least on my Cube), eth0 gets assigned to FireWire networking and eth1 to Ethernet. The fix is easy: open ~/.icewm/preferences and add eth1 to the list of monitored network devices in the NetworkStatusDevice field. When you restart IceWM, you should now see the network traffic monitor. (Make the same change as root to the corresponding file in /etc/skel to make the change happen for new users as well.)

The volume control is batty. The Cube uses a USB sound card and SkinnyDebbie is currently using ALSA. It turns out that Debian Etch doesn't play perfectly with this combination--on either PowerPC or i386 platforms. I'll say more about this in a later post, but the fix is again simple: use gnome-alsamixer or aumix-gtk instead of alsamixergui and comment out the volume changing hotkeys in ~/.icewm/keys.

And now for the Larger Issues:

Flash is very limited. Adobe doesn't make a version of Flash for Linux on the PowerPC. Why would they? There are a couple open source alternatives--Gnash and Swfdec--but neither will do Flash video. So, no YouTube on PowerPC Linux for you. It's just not possible in any PowerPC Linux at the moment. The best workaround is to download videos with any of the million YouTube download services and then watch them in VLC.

Java is at best a PITA. Sun doesn't make a version of the Java Runtime Environment for Linux on the PowerPC. If you want/need Java, the best workaround seems to be GCJ and its bundled GIJ interpreter. I have had success in compiling command-line apps from scratch in GCJ, but I have not had success with GUI apps using GIJ. This definitely needs more research to see just how viable a solution it is.

I am hoping Lenny (the next Debian release, due later this month) works as well as Etch on this hardware. Should it be enough to make you abandon Mac OS? Given that the next OS X release may not support PowerPC, you might think so. But this isn't really a good enough reason since maintenance support for older OS X releases will likely continue for quite a while. The decision to switch in this case needs to be made based on what you want from the OS and operating environment. OS X is certainly more polished and easier to use than SkinnyDebbie. But it costs more and doesn't let you run at least one thing that makes Linux really attractive.

August 17, 2008

Tweaking the Debbie

I've made a few tweaks to SkinnyDebbie, some to fix bugs, some to make some behavioral improvements. In particular, I have:
  • Added /usr/local/bin/rox-open-url and /usr/local/share/rox-open-url/urldecode.sed
  • Added config-iceweasel-defaults.sh to install process that modifies Iceweasel default preferences (/etc/iceweasel/profile/prefs.js) to download files to home directory (with prompt) and use rox-open-url to "open containing folders".
  • Changed ownership of /etc/X11/xdm/Xsetup to root
  • Changed tooltip and properties text for "Screen resolutions" control panel.
The official changelog is here.

If you are an early SkinnyDebbie adopter and want to implement these changes, let me know and I'll send you a custom updater script.

August 06, 2008

SkinnyDebbie is done



The initial release of SkinnyDebbie is done. What started as something that I thought I could put together in a few evenings has turned out taking far, far longer than that. But I think the results have been worth it. There are aspects of the user experience that still need cleaning up, but overall I think it's a pretty decent lightweight desktop.

Most of my time was spent writing scripts to make system administration easier for less-than-sys-admin types. Automounting in particular was a royal time hog. If you are insane enough to actually read all the custom scripts (both the ones that do the installation as well as the ones that are installed as part of SkinnyDebbie), you will be able to track the development of my Linux competence.

I've decided to give SkinnyDebbie its own website. For the time being, it will be hosted at http://birotechnology.com/skinny. I am hoping this is a temporary situation and that a more suitable location will present itself. I'm also hoping to flesh out the installation instrutions a bit more once I have recovered a bit from the last few days of development and testing.

Now, please go forth and install. And then let me know what you think.

August 05, 2008

automounting - part 2

Here is a brief (!) summary of the problems I encountered in setting up automounting in SkinnyDebbie and what I did to get it to behave. The whole process relies on hal and ivman. Maybe there is a better way to do this; if so I would love to learn how.

In no particular order ...

If media is present when user starts machine, the media automounts under ivman's account, and then a regular user can't unmount it.

Solution:
  • Disable ivman daemon so that the ivman user doesn't do any mounting:
    # update-rc.d -f ivman remove
  • Start ivman under the user's account at login so the regular user can mount via ivman.
In other words, have ivman run as user and do not have it run as ivman (which is what the daemon makes happen). The major consequence of this approach is that it will only work if one user at a time is logged into the machine or only one user at a time is authorized to use automounting.

Turning off the ivman daemon is handled by the SkinnyDebbie installer. I wrote a custom script (start-ivman) to handle user startup that checks the above at IceWM startup. I also wrote a control panel widget that repairs the above if it breaks (e.g., after an ivman package update).

The default SkinnyDebbie behavior is that automounting will be started for the first user that is logged in and not for subseqent users until the first user logs off. In practice this is fine because SkinnyDebbie is intended for single-user logins. The start-ivman script warns the user if someone else is already using automounting.

Not all media automounts, USB hard drives in particular

Solution:
These are done automatically by the SkinnyDebbie installer, except for removing CDROM and DVD links from /. The repair control panel applet also removes directories in /media that do not appear in /etc/fstab.

It's not at all obvious to the regular user where/when removable media is inserted

Solution:
  • Edit ~/.ivman/IvmConfigActions.xml so that:
    ROX-Filer announces the insertion of media and prompts the user for desired action (e.g., open /media directory, launch CD ripper, etc.)
    ivman scans on init
  • Add /media link to the desktop
  • Add /media link to Rox's bookmarks
  • Add /media link to IceWM's "start" menu
SkinnyDebbie's ~/.ivman/IvmConfigActions.xml is configured to handle CD-ROM, CD-Audio, DVD-video, and USB-based storage devices. At the present time I don't know what it will do with other removable media ( e.g., Compact Flash). It will also scan on init.

There are several custom "annc" scripts (anncRoxMedia, anncCDDA, anncDVDvideo) that get called per media type. These scripts check to see if ROX's pinboard is running; if it is, then it will announce the insertion of media. The IceWM startup delays the start of ROX's pinboard by a few seconds so that the user doesn't get bombarded with media announcements when logging in.

If user logs off without unmounting stuff, the folders remain in /media but the media is not mounted

Solution:
  • Write script pumountall that pumounts everthing and use it to unmount everything at logoff (via ~/.icewm/shutdown).

User needs guidance in good habits (i.e., unmount before remove)
Solution:
  • Write script pumount-fb, which does pumount with GUI feedback.
  • Tell ROX-Filer to use script pumount-fb to unmount.

CD and DVD media don't mount ... ever
See "Not all media automounts, USB hard drives in particular" above.

July 13, 2008

automounting

To be concise, automounting of removable media in Linux hurts.

SkinnyDebbie's first release has been held up by issues surrounding automounting. Getting automounting to sorta work is easy. Getting it to be reliable and usable is another story. I think I've finally gotten things figured out to the point where the system is sufficiently usable and reliable. But I would like to make sure that there are no gremlins hiding in the works. When mountpoints go bad, the results can be fairly ugly.

I also want to add a bit of UI sweetness to the automounting deal: I'd like the the appropriate folder to open in the file manager when the media is mounted to let the user know that the media has, in fact, been mounted. This shouldn't be too tough -- but then that's what I thought about automounting in general.

One annoying thing: Linux does not consider audio CDs and video DVDs mountable media. That means that you literally cannot mount either of these kinds of discs and browse their files on the command line or in your file manager. This doesn't mean you can't open discs in applications designed to read from them (e.g., VLC, Xine, Audacious); it just means that you can't ls, mv, cp, etc. the files on the discs. In theory, it's possible to set things up so that when you insert, say, an audio CD, an application that can read audio CDs will launch and open the CD in the application.

I'm dithering on whether this is a good idea or not. It's a good idea because it makes the life of the end user easier. But it's a bad idea because the application the system designer thinks is best for reading CDs or DVDs may not be the application the user prefers to use. In this case, the psuedo-automount is just a nuisance to the user. As near as I can tell, configuring what application is associated with CD/DVD media isn't that easy either.

Like I said, it hurts.

June 29, 2008

SkinnyDebbie : an introduction

It has required more work than I originally expected, but I think SkinnyDebbie--a light-and-lean proof-of-concept "distribution flavorizer"--is almost ready for its first public release.

SkinnyDebbie is a scripted installation scheme that lets a user set up a light-and-lean Debian-based Linux system without a huge hassle. It should be especially attractive to users of systems that are not powerful enough to run the Gnome, KDE or XFCE desktop environments.



SkinnyDebbie's main job is integrating the following windowing and desktop components into an efficient desktop environment:
  • IceWM: a lightweight yet full-featured window manager
  • ROX-Filer: a fast and light file and desktop manager
  • XDM: the classic display manager that is more resource-friendly than GDM or KDM
  • Dropline Nuovo!: an icon set that is more inviting than the default Gnome icons
It also installs a handful of utilities and other applications that you will need to have a reasonably smooth GUI system, and it does as much configuration as it can for you. It installs a few custom scripts that simplify some basic system management stuff, and it installs and configures theme stuff so the whole experience is almost attractive.

It won't install a boatload of applications the way full-fat distributions do--mostly because if you are running a light-and-lean setup you are probably challenged for storage space. Thus, I figured it was best to leave the decisions regarding what application software you need up to you. However, it does install Debian's branded version of Firefox and Thunderbird (called Iceweasel and Icedove respectively) because not having a Web browser and (arguably) email is utterly insane.

Philosophy
SkinnyDebbie is what I am calling a "flavorizer". It is not a Linux distribution. Rather, it is a set of scripts that when run will configure a standard Linux distribution (a Debian Network Install in this case) to match a given target "flavor", using as much as possible the packages that are already part of and maintained by that distribution.

Why build SkinnyDebbie as a "flavorizer" instead of making an independent distribution? Simple. A "flavorizer" approach lets light-and-lean users directly benefit from the security updates and other improvements/upgrades of a major distribution. A SkinnyDebbie user gets a light-and-lean system that is 100% (ok ... 98%) pure Debian, and that means the user can participate in and benefit from Debian's excellent community support and other resources. (Or, if I were trying to sound ubercool, I would say that it means the user can leverage Debian's excellent community support and other resources.)

Known limitations
Networking works superfine if you are using an Ethernet connection and DHCP. This will be all most users will need. But if you plan to use a wireless connection or do not want to use DHCP, you will have to figure that out on your own. And if want to go old-school with a dialup modem, you're again on your own. I'm not saying it's not possible; I'm just saying that you will have to figure out what additional packages need to be installed and how configure things by yourself.

Advanced power management (sleep, suspend) is completely untested. It may work, it may not; but testing and tweaking it's not a priority.

Accessibility features (large print, high-contrast window decoration, etc.) don't exist.

Internationalization is a bit of a problem. The custom scripts and other bits are written to make it easy to implement translated versions, but no translations are available at present.

Installation
I'll post information regarding how to install SkinnyDebbie as soon as I finalize a couple small details and figure out how to host it. See you soon.