Here's a bit of what's new with me.
- I started a 2005 photo-a-day blog thing.
- I am now an SWT committer.
- I've been learning all about JVMPI. It's really neat.
- I've been playing lots of Katamari Damacy.
You are viewing
vektor_sigma's journal
10 most recent |
Sat, Jan. 29th, 2005, 04:20 pm
|
| George Kraft | "... Specifying the desktop application universe for ISVs is the long term. Bleeding edge open source desktop applications will continue to be built from source so they can use the latest bells and whistles." |
| Mike Hearn | "I don't think that makes sense, the "bleeding edge"-ness of an app shouldn't affect how users install it ..." |
The idea that ISVs who care about binary compatibility are only closed-source applications should be challenged. I strongly believe that developers of small applications, even ones that use "bleeding edge" technology, want to be able to publish software and have users of all distributions be able to install and use it without hassle.
Another good point was brought up in this post after a rather surprising comment by Owen Taylor:
| Owen Taylor | "I honestly don't know what the interest is in cross-distro binary compatibility in general. ..." |
| Mike Hearn | "... the desktop market is much more fragmented than the server market [...] None of the existing desktop distros have a market share high enough to justify ports or new development, whereas in a few cases the market share of "Linux" is getting high enough." |
Mike's argument holds for open source projects as well. Eclipse's weekly builds have many Linux users, but I do not believe that enough of them are using any one distribution to justify building packages.
Finally, I think the most interesting point in this discussion was made in this post:
| George Kraft | "... I cannot go into CompUSA to buy a GNU/Linux application then take it home and just install it. What would be the system requirements?" |
| Mike Hearn | "OK, so it's not CompUSA, but you can buy or download binary portable Linux software today in quite a few different web stores, eg tuxgames, codeweavers.com, skype.com, Opera, etc etc. Typically their requirements go something like:
|
Some open-source examples are the downloadable binaries for Mozilla Firefox and OpenOffice.org. Within all of these organizations is a growing amount of engineering knowledge about how to build binaries and installers that work across the distributions their users run. Looking at how these organizations build their downloads and working to solve the problems they have sounds like it holds so much more potential than trying to standardize on an ABI.
I am trying to learn more about X session management, since it was a feature request for tvtime and causing weird problems for me at work. Here is what I understand so far.
An X session manager enables desktop environments to remember the size, position, and start desktop of applications across logins. libSM is a standard X library which implements the protocol, and the protocol spec is available on the X.org site. libSM uses libICE for inter-client communication.
The SESSION_MANAGER environment variable holds the address of the session manager. It is a libICE-style address and looks like "local/hostname:/tmp/.ICE-unix/8397" for a UNIX socket, where 8397 is the PID of the session manager (gnome-session under GNOME, ksmserver under KDE). If this socket file goes away or is not accessible, all session managed applications will pause for a few seconds on startup and see this error message:
Warning: Tried to connect to session manager, Could not open network socket
On my RH9 machine at work, I found the following in my startkde script:
# Clean up old kde /tmp files that belong to the user
real_display=`echo $DISPLAY | sed "s/://" | sed "s/\..*//"`
rm -f ~/.DCOPserver-`/bin/hostname`_$DISPLAY
for i in /tmp/.ICE-unix/* /tmp/.ICE-unix/.*; do
[ -O $i ] && rm -f $i
doneThis meant that whenever I ran a second X server to test a KDE-specific bug, it would delete the socket file belonging to my still-running gnome-session process, causing all applications to pause for a while on startup. Ugh! My advice is to be careful when deleting files in /tmp. :)