sao
01-09-2003, 04:40 AM
In my main Fink installation on a desktopG4, I had the xfree86-threaded packages installed. So, as a test, I decided to install Apple X11 on this system and keep also the Fink xfree86-threaded packages. Two reasons why I did this:
1- I read a post by Martin Costabel and Haroon Sheikh where they talked about the subject of the next release of XFree86 (4.3) being threaded:
Martin Costabel:
A related question: Do you plan to release a thread-safe version in the future? This would be important, because:
a) xfree86-4.3 which will be released soon will be compiled with threading enabled by default
b) There are applications that need it.
Haroon Sheikh:
We'll be syncing up with xfree86-4.3 at some point, so we should be picking up that change also.
I read somewhere that xfree86-4.3 will be released officially at the end of January.
2- The possibility that If and when the source code for Apple's X11 becomes available, maybe somebody can make a threaded version of that, available as a package.
So, although I knew I had Fink xfree86-threaded version installed and if I installed Apple's X11, I probably would need to recompile some x11 apps. I went ahead and did the following (which I learned from posts at the fink-users list):
sudo dpkg -r --force-depends xfree86-rootless-threaded xfree86-rootless-threaded-shlibs xfree86-base-threaded xfree86-base-threaded-shlibs
Install X11User, X11SDK
sudo mv /usr/X11R6 /usr/X11R6_bak
sudo mv /etc/X11 /etc/X11_bak
fink install xfree86-base-threaded
fink install xfree86-rootless-threaded
sudo cp /usr/X11R6_bak/bin/Xquartz /usr/X11R6/bin
sudo cp /usr/X11R6_bak/bin/quartz-wm /usr/X11R6/bin
sudo cp /usr/X11R6_bak/lib/libapplexp.1.0.dylib /usr/X11R6/lib
Make yourself an "X11" directory in your home directory that contains these three Apple X11 files:
Xquartz
quartz-wm
libapplexp.1.0.dylib
mkdir ~/X11
sudo cp /usr/X11R6_bak/bin/Xquartz ~/X11
sudo cp /usr/X11R6_bak/bin/quartz-wm ~/X11
sudo cp /usr/X11R6_bak/lib/libapplexp.1.0.dylib ~/X11
And then, after your daily 'fink selfupdate-cvs' you could run this script (by Douglas Theobald ). Replace "yourname" with your real home directory name:
#!/bin/sh
cp /Users/yourname/X11/Xquartz /usr/X11R6/bin
cp /Users/yourname/X11/quartz-wm /usr/X11R6/bin
cp /Users/yourname/X11/libapplexp.1.0.dylib /usr/X11R6/lib
ln -sf /usr/X11R6/lib/libapplexp.1.0.dylib /usr/X11R6/lib/libapplexp.1.dylib
ln -sf /usr/X11R6/lib/libapplexp.1.0.dylib /usr/X11R6/lib/libapplexp.dylib
Then, I wrote my ~/.xinitrc file with:
source /sw/bin/init.sh
xterm -geometry 80x50+494+51 &
exec quartz-wm
After, I learned that I can actually run both XDarwin and X11 side-by-side if I issue this command:
sudo defaults write org.xfree86.XDarwin Display 1
So, the last change for me was to have one ~/.xinitrc file that runs the correct window manager, depending upon how X is started, and thanks to a script by Aaron Magill at the fink-users list, I could do just that:
I added the script to my ~/.xinitrc file, and it seems to work fine:
source /sw/bin/init.sh
if [ X$DISPLAY = "X:0" ]; then
#
# Assume Apple X11 and start up accordingly
#
/usr/X11R6/bin/xterm -geometry 80x50+494+51 &
exec /usr/X11R6/bin/quartz-wm
else
#
# Assume XDarwin
#
/sw/bin/autocutsel &
gkrellm -w &
exec blackbox
fi
This relies on the defaults command given earlier to force XDarwin to use display :1, instead of the default of :0
(you can also edit ~/Library/Preferences/org.xfree86.XDarwin.plist with a text editor and change the Display parameter)
When my installation collapses, I'll let you know.
Cheers...
1- I read a post by Martin Costabel and Haroon Sheikh where they talked about the subject of the next release of XFree86 (4.3) being threaded:
Martin Costabel:
A related question: Do you plan to release a thread-safe version in the future? This would be important, because:
a) xfree86-4.3 which will be released soon will be compiled with threading enabled by default
b) There are applications that need it.
Haroon Sheikh:
We'll be syncing up with xfree86-4.3 at some point, so we should be picking up that change also.
I read somewhere that xfree86-4.3 will be released officially at the end of January.
2- The possibility that If and when the source code for Apple's X11 becomes available, maybe somebody can make a threaded version of that, available as a package.
So, although I knew I had Fink xfree86-threaded version installed and if I installed Apple's X11, I probably would need to recompile some x11 apps. I went ahead and did the following (which I learned from posts at the fink-users list):
sudo dpkg -r --force-depends xfree86-rootless-threaded xfree86-rootless-threaded-shlibs xfree86-base-threaded xfree86-base-threaded-shlibs
Install X11User, X11SDK
sudo mv /usr/X11R6 /usr/X11R6_bak
sudo mv /etc/X11 /etc/X11_bak
fink install xfree86-base-threaded
fink install xfree86-rootless-threaded
sudo cp /usr/X11R6_bak/bin/Xquartz /usr/X11R6/bin
sudo cp /usr/X11R6_bak/bin/quartz-wm /usr/X11R6/bin
sudo cp /usr/X11R6_bak/lib/libapplexp.1.0.dylib /usr/X11R6/lib
Make yourself an "X11" directory in your home directory that contains these three Apple X11 files:
Xquartz
quartz-wm
libapplexp.1.0.dylib
mkdir ~/X11
sudo cp /usr/X11R6_bak/bin/Xquartz ~/X11
sudo cp /usr/X11R6_bak/bin/quartz-wm ~/X11
sudo cp /usr/X11R6_bak/lib/libapplexp.1.0.dylib ~/X11
And then, after your daily 'fink selfupdate-cvs' you could run this script (by Douglas Theobald ). Replace "yourname" with your real home directory name:
#!/bin/sh
cp /Users/yourname/X11/Xquartz /usr/X11R6/bin
cp /Users/yourname/X11/quartz-wm /usr/X11R6/bin
cp /Users/yourname/X11/libapplexp.1.0.dylib /usr/X11R6/lib
ln -sf /usr/X11R6/lib/libapplexp.1.0.dylib /usr/X11R6/lib/libapplexp.1.dylib
ln -sf /usr/X11R6/lib/libapplexp.1.0.dylib /usr/X11R6/lib/libapplexp.dylib
Then, I wrote my ~/.xinitrc file with:
source /sw/bin/init.sh
xterm -geometry 80x50+494+51 &
exec quartz-wm
After, I learned that I can actually run both XDarwin and X11 side-by-side if I issue this command:
sudo defaults write org.xfree86.XDarwin Display 1
So, the last change for me was to have one ~/.xinitrc file that runs the correct window manager, depending upon how X is started, and thanks to a script by Aaron Magill at the fink-users list, I could do just that:
I added the script to my ~/.xinitrc file, and it seems to work fine:
source /sw/bin/init.sh
if [ X$DISPLAY = "X:0" ]; then
#
# Assume Apple X11 and start up accordingly
#
/usr/X11R6/bin/xterm -geometry 80x50+494+51 &
exec /usr/X11R6/bin/quartz-wm
else
#
# Assume XDarwin
#
/sw/bin/autocutsel &
gkrellm -w &
exec blackbox
fi
This relies on the defaults command given earlier to force XDarwin to use display :1, instead of the default of :0
(you can also edit ~/Library/Preferences/org.xfree86.XDarwin.plist with a text editor and change the Display parameter)
When my installation collapses, I'll let you know.
Cheers...