Summary: Latest GNUstep/Etoile on Solaris non-root user problem
From:
Andreas Höschler
Subject:
Summary: Latest GNUstep/Etoile on Solaris non-root user problem
Date:
Fri, 3 Aug 2007 09:50:19 +0200
Hi all,
I got this problem sorted out. It had (of course) nothing to do with Solaris but with wrong file permissions. Here is the long story:
***************************************************************************************************************************
Note, I am installing as root for Etoile to be used by all users:
cd /usr/src
ls -l
total 104704
-rw-r--r-- 1 root root 53565440 Aug 3 09:01 etoile-0.2.tar
I didn' t see in the first place that these file permissions are rather uncommon (never seen this before in any sources tar archive I downloaded).
tar xvf etoile-0.2.tar
ls -l
total 104706
drwx--x--x 8 502 502 512 Jul 28 21:43 Etoile-0.2
-rw-r--r-- 1 root root 53565440 Aug 3 09:01 etoile-0.2.tar
called [NSScreen screens] which raised another exception since GSCurrentServer() could not be set.
NSScreen.m
+ (NSArray *)screens
{
...
srv = GSCurrentServer();
screens = [srv screenList];
count = [screens count];
if (count == 0)
{
// something is wrong. This shouldn't happen.
[NSException raise: NSWindowServerCommunicationException format: @"Unable to retrieve list of screens from window server."];
return nil;
}
...
}
and Etoile fun was over.
***************************************************************************************************************************
My hints for installing Etoile on Solaris:
• Forget setup.sh and set things up manually (see below)
• Check file permissions; do chmod -R a+r to the Etoile source tree after deflating Etoile-0.2.tar
• You need a bunch of fixes to the source tree to get Etoile-0.2 compiled under Solaris (too many for this mail). If anyone is interested drop me a note.
• Etoile can't be installed with make, make install on a fresh system due to many self-reflexive dependencies. Here is my list of commands that more or less successfully gets stuff installed.
cd /usr/src/Etoile-0.2
cd ./Frameworks/OgreKit
make
make install
Temporär auskommentieren
pico ./Source/GNUmakefile
# FindPanel \
make
make install
cd ..
cd ..
cd ./Frameworks/PaneKit
make
make install
cd ..
cd ..
cd ./Frameworks/IconKit
make
make install
cd ..
cd ..
cd ./Frameworks/InspectorKit
make
make install
cd ..
cd ..
cd ./Services/User
make
make install
cd ..
cd ..
Temporär auskommentieren
pico GNUmakefile
#InspectorKit_SUBPROJECTS += Source
make
make install
cd ..
cd ..
cd ./Frameworks
make OBJCFLAGS="-Dtypeof=__typeof__"
make install
cd ..
make OBJCFLAGS="-Dtypeof=__typeof__"
make install
After installing Etoile-0.2 you probably want to install Yen-Ju's latest fix to Azalea (broken arrow for edited documents). Thanks a lot to Yen-Ju for this fix.
cd /usr/src
svn co http://svn.gna.org/svn/etoile/trunk/Etoile/Services/Private/Azalea
cd Azalea
rm -rf /opt/GNUstep/System/Applications/Azalea.app
rm -rf /opt/GNUstep/Local/Applications/Azalea.app
make OBJCFLAGS="-Dtypeof=__typeof__"
make install
cd ..
As mentioned above I don't recommend to use setup. It at least did nothing good to me and I was better off using the following list of commands to set things up manually.
Settings defaults
We need to set some user defaults (for each user).
Etoile startup script
We probably could use /opt/GNUstep/System/Tools/etoile_system directly. But it can't hurt to have a wrapper script that sources GNUstep.sh first.
Session management
Under Linux we setup a file /usr/share/xsessions/etoile.desktop with the contents
[Desktop Entry]
Encoding=UTF-8
Name=Étoilé
Comment=Use this session to log in Étoilé environment
Comment[fr]=Utilisez cette session pour vous logguez dans
l'environnement Étoilé
Exec=/usr/local/bin/etoile
# No icon for now
Icon=
Type=Application
This file has no meaning under Solaris. We setup corresponding dlogin files instead. To make Etoile/Azalea selectable in dtlogin create the following files by duplicating the jds templates and modifying them accordingly (--> file permissions).
SystemTaskList.plist
The file SystemTaskList.plist contains a dictionary with entries of applications/tools (gpbs, gdnc, Azalea, EtoileMenuServer,...) that are to be started when a user logs in. This file is read by the etoile_system tool.
The Etoile system defines some keys (/etoilesystem/application/azalea, /etoilesystem/tool/gpbs, /etoilesystem/application/menuserver,...) that are associated with concrete value sin this dic, e.g.
Hopefully this is of help to someone. Thanks to the Etoile team for this great software. Logout is not working for me yet (still have to do pkill etoile), but I suppose this is a minor issue and probably easy to fix. In one of the versions I had tried out I saw tool tips popping up on the screen (probably to tell me which application my mouse pointer is hovering over). Unfortunately they never disappeared again. In my current install they luckily do not popup. However, there is no way for me to determine which icon in AZDock refers to which application. The contextual menu has no title as it should according to Yen-Ju. :-( But this is a rather minor issue. I am a happy user of Etoile now (time to get rid of Window Maker) and strongly recommend everybody - that not yet dared - to check it out. :-)