LinuxQuestions.org
Help answer threads with 0 replies.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Desktop
User Name
Password
Linux - Desktop This forum is for the discussion of all Linux Software used in a desktop context.

Notices


Reply
  Search this Thread
Old 12-07-2013, 10:58 AM   #1
vl23
Member
 
Registered: Mar 2009
Posts: 125

Rep: Reputation: 8
Desktop without all the freedesktop.org garbage


By garbage I mean no D-Bus, no *kits, no udisks, etc.

Basically with nothing that has ever been touched by Lennart Poettering and his butt monkey Kay Sievers.
I will just use eudev or mdev, or roll with a damned static /dev filesystem.
So has anyone of you managed to do this and can you give me any pointers, dereferenced and in char format please.
 
Old 12-07-2013, 11:37 PM   #2
mlslk31
Member
 
Registered: Mar 2013
Location: Florida, USA
Distribution: Slackware, FreeBSD
Posts: 210

Rep: Reputation: 76
Rip it all out and see what happens! There are two ways to go on this.

You can rip everything out and roll with static devs. This means compiling the automatic devtmpfs feature out of the kernel.

You can keep the devtmpfs feature and make your own symlinks, set permissions, etc., through scripts. This isn't a bad way to go: There's not much memory or speed savings for devtmpfs vs. static devs, and it saves a lot of hassle.

You might not run udevd. Should you rip out udev entirely, you'll have to rebuild or rip out the programs that depend on it, such as cryptsetup, lvm2, lilo, maybe mdadm as well. It's easier to just leave the udev libraries in there.

If you rip the *kits out, it usually means fewer permissions for ordinary users, such as the ability for an ordinary user to click pretty buttons to suspend, reboot, or shut down the system. I keep ConsoleKit and get rid of the other *kits.

If you rip out udisks*, it means GUI programs are at a disadvantage to find disks automatically for you. For me, it means that my unopened partitions (including crypts) don't pop up on every user's Xfce desktop by default. Long gone.

For any of this device stuff, you might reference Documentation/devices.txt from the kernel source. It will show you what devices should be there, and devtmpfs doesn't create all of them. In particular, you should be sure that if /dev/pts and /dev/shm are mounted before you rip everything out, they should be mounted after you rip everything out as well.

If you rip out dbus, though, that's asking for trouble. X11 programs don't work as well when they can't run dbus. When rebuilding programs, you're at the mercy of the developer to include --disable-dbus or --without-dbus in their ./configure scripts, and not all developers do that. Still, you can use it as a metric to determine which programs stay and which ones go.

I think that the kernel devtmpfs runs better now than the script I'm about to provide. This was from a year ago, as reference:

Code:
#!/bin/bash
# Sun Oct 14 23:20:07 EDT 2012 - I'm trying to get missing device nodes 
# worked in to work with the kernel devtmpfs way of working with nodes. What 
# to load has been gleaned from Documentation/devices.txt. 

if [ ! -d /dev/pts ]; then
  echo "Making /dev/pts directory..."
  /bin/mkdir /dev/pts
fi

if [ ! -d /dev/shm ]; then
  echo "Making /dev/shm directory..."
  /bin/mkdir /dev/shm
fi

if [ ! -e /dev/fd ]; then
  echo "Making link to /proc/self/fd..."
  /bin/ln -sf /proc/self/fd /dev/fd
fi

if [ -h /dev/fd ]; then
  if [ ! -e /dev/stdin ]; then
    /bin/ln -sf fd/0 /dev/stdin
  fi
  if [ ! -e /dev/stdout ]; then
    /bin/ln -sf fd/1 /dev/stdout
  fi
  if [ ! -e /dev/stderr ]; then
    /bin/ln -sf fd/2 /dev/stderr
  fi
fi

if [ ! -e /dev/mouse ]; then
  if [ -e /dev/psaux ]; then
    /bin/ln -s /dev/psaux /dev/mouse
  elif [ -e /dev/input/mouse0 ]; then
    /bin/ln -s /dev/input/mouse0 /dev/mouse
  elif [ -e /dev/input/mice ]; then
    /bin/ln -s /dev/input/mice /dev/mouse
  fi
fi

if [ ! -e /dev/X0R ]; then
  ln -sf null /dev/X0R
fi

if [ ! -e /dev/core ]; then
  if [ -e /proc/kcore ]; then
    /bin/ln -s /proc/kcore /dev/core
  fi
fi

if [ -e /dev/ram0 ]; then
  /bin/ln -sf ram0 /dev/ramdisk
fi

# Specific to this PC...
for a in 0 1
do
  if [ -e /dev/sr$a ]; then
    /bin/ln /dev/sr$a /dev/scd$a
  fi
done

# MLS - Specific to this PC...
if [ -e /dev/scd0 ] ; then
  /bin/ln -sf scd0 /dev/cdrom
fi

if [ -e /dev/sr1 ] ; then
  /bin/ln -sf sr1 /dev/cdwriter
fi
Note that this doesn't cover some of the crazy things you have to do when hotplugging USB devices, especially things like my Garmin GPS, which will be ttyUSB0 when first plugged in, but after unplugging and plugging back in, decides it wants to be on ttyUSB1. It doesn't cover reworking permissions for USB devices like printers when they are unplugged and plugged back in. udev does have a place where it's at a great advantage. It's a matter of whether you want to deal with its nonsense on static devs in order to deal with the dynamic devs.

Note, however, that there's a matter of udev rules, too. If you go rummaging through /lib/udev/rules.d/ you'll see hundreds of lines for media players, webcams, printers, scanners, and phones that you'll never own. You'd be bankrupt if you owned all of them, and you'd have no room in your house after storing all of them. There's also hundreds of lines of gphoto2 nonsense that seems to exist to classify things as "not free enough." The fewer rules you have, the faster udev runs, and the less memory and boot time udev wastes.

And if this is all about having a grudge against Lennart Poettering, don't forget to rip out PulseAudio. Funny that you mention butt monkeys. "Pulse" is the name of the male-homosexual nightclub in my area, though I haven't set foot in there to know for sure what kind of PulseAudio is played there. BTW, I won't know what you'd do if you have a systemd-based system...that's for someone else to figure out...
 
2 members found this post helpful.
Old 12-08-2013, 08:33 PM   #3
guyonearth
Member
 
Registered: Jun 2012
Location: USA
Distribution: Ubuntu
Posts: 424

Rep: Reputation: 83
Why, in the name of all that's holy?
 
Old 12-09-2013, 05:24 AM   #4
vl23
Member
 
Registered: Mar 2009
Posts: 125

Original Poster
Rep: Reputation: 8
Quote:
Originally Posted by guyonearth View Post
Why, in the name of all that's holy?
Because I farking can, that is why, and because unlike most of the new users that come in from Ubuntu and the like I can and do use the terminal.
I do not need a goddamned GUI toy to configure my firewall or my network, or decide how my disks should be mounted and spun up.
The only gui programs I actually care about are a few IDEs most of them written in Java, a decent Browser, VLC or another decent player and OpenOffice, that is why.
I also don't give a damn about USB devices, bluetooth, and especially printers.

@mlslk31 Thank you.

Last edited by unSpawn; 01-31-2014 at 10:26 PM. Reason: //No f-word please.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
freedesktop.org down? Brent74 Linux - Software 6 06-19-2017 06:29 PM
org.freedesktop Errors ? nuro305 SUSE / openSUSE 0 10-10-2007 11:25 AM
Freedesktop.org grassmunk Slackware 3 06-18-2004 09:20 AM
freedesktop.org on slackware uglyugly Slackware 3 02-18-2004 03:54 AM
dri.freedesktop.org vladilinsky Linux - Software 1 02-14-2004 12:35 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Desktop

All times are GMT -5. The time now is 06:20 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration