Fink & Apple's X11

      / X11 1.0 - FAQs /


- The Macosxhints Forums -


Apple X11 1.0
Frequently Asked Questions




Contents

Installing Apple's X11 1.0 in Panther
Installing Xcode and the X11 SDK package
Fresh install of Fink in Panther
Upgrading your previous Fink installation
Check for circular dependencies" error
Can't find X11.app after installation in Panther
Full screen mode in Apple's X11 1.0
Cut and Paste if you don't use quartz-wm
Fink keep asking to install xfree86?
With X11 in 10.3 my window title bars are missing
To remove Fink xfree86 packages and install Apple's X11
Apple's X11 1.0 in Panther and CodeTek VirtualDesktop
"The State of Fink"
Fink "Circular Dependency Problem" Solved
Official Apple's X11 1.0 FAQ
Can I run Apple's X11 logging in as >console ?
To make Terminal.app and X11 boot in csh?
Using Apple's X11 1.0 "Applications" menu in Panther
The startx script in Apple's X11 for Panther
Problem with the kde binaries on panther
Setting the default for -all- X11 binaries
Matlab - license manager doesn't start at startup
Apple's X11 Customization
Apple X11 Beta 3 alternatives
X11 1.0 for Panther
Display InsightII™ from SGI to Panther
X11 Forwarding on MacOS X
Sharing the Fink
Matlab and Apple's X11
Fink, the X11SDK and the Apple Installer





Installing Apple's X11 1.0 in Panther

Apple's X11 for Mac OS X 10.3 is available as an optional installation when you install Mac OS X 10.3 (Panther), meaning that the Panther installer does not automatically install Apple's X11 1.0.

You need to click "Custom" in the Easy install pane then select X11. If you forgot to select it while installing Panther, you can install it later by opening (double clicking) the X11User.pkg file on the Mac OS X Install Disc 3 CD.





Installing Xcode and the X11 SDK package

Install XCode from the XCode Tools CD.

The X11 SDK is not installed by default when you install Xcode, you must click the "Customize" button, as this will allow you to select the "X11 SDK" checkbox also, which is by default not selected.

If you forget to press the "customize" button, you can install the X11 SDK later by double-clicking on the X11SDK.pkg file in the Xcode Tools CD.





Fresh install of Fink in Panther

-First install Apple's X11 1.0 from the Panther CD, XCode from the XCode disk, and the X11SDK.pkg also from the Xcode cd.

-Is recommended
bootstrapping from source,
starting from fink-full-0.6.0.tar.gz available on fink's:
sourceforge download page .

-Since Fink version 0.15.0 or higher, you do not need to install system-xfree86 anymore. Fink is capable of automatically determining your system-xfree86 version if you don't already have any fink x11 packages installed. If you currently have an old system-xfree86 package of any kind installed, please run the following commands:

sudo dpkg -r --force-all system-xfree86 system-xfree86-42 system-xfree86-43; \
fink selfupdate; fink index





Upgrading your previous Fink installation

If you installed Panther with the 'archive and install' method, and then installed Apple's X11 1.0 and the X11 SDK, be sure to install XCode from the XCode disk before upgrading Fink.

Then, running:

fink selfupdate

should perform the upgrade for you. The latest version of the fink package manager will automatically detect which version of OS X and which version of gcc you have installed, and will adjust itself accordingly.





"Check for circular dependencies" error

When you run 'fink selfupdate' you might get the following error:

The following 17 packages will be installed or updated:
apt apt-shlibs bzip2 bzip2-dev bzip2-shlibs debianutils dpkg gettext
gettext-bin gettext-dev libiconv libiconv-bin libiconv-dev ncurses
ncurses-dev ncurses-shlibs tar
The following additional package will be installed:
fink-prebinding
Do you want to continue? [Y/n]
Failed: Problem resolving dependencies. Check for circular dependencies.

Some people have resolved this problem installing 'fink-prebinding' separately.

If you get the above error, try running:

fink install fink-prebinding

and then running:

fink selfupdate again.

If running fink install fink-prebinding and then doing update-all again doesn't help, your only recourse is to start over with a bootstrap of 0.6.0 from source, or wait for the bindist which should be coming shortly.






Can't find X11.app after installation in Panther

After the installation of Apple's X11 1.0 on Panther, you will find the X11.app in /Applications/Utilities/

(If you install the new X11 with Panther's "archive and install" method, it will not remove your old X11.app from /Applications)





Full screen mode in Apple's X11 1.0

Open X11 preferences, and in the Output section there is an option for enabling full screen mode. After enabling it, use:

"Command+Option+A"

to enter and leave full screen mode.





Cut and Paste if you don't use quartz-wm

If you're not using the quartz-wm, you should install autocutsel with Fink:

Merges two X11 cut buffers.
It provides a working cut and paste between Aqua and those X apps that only check one cut buffer.
Usage Notes:

just write 'autocutsel &' in your ~/.xinitrc file.





Fink keep asking to install xfree86?

If after installing Apple's X11, Fink keep asking to install xfree86, you need to:

Install the X11 SDK, which is on the Xcode CD (double click the X11SDK.pkg), and is not installed by default.

Also note that you do not need to install system-xfree86 anymore, fink is capable of figuring out your X11 version automatically in cases where you would have installed system-xfree86 previously.

If you still have an old system-xfree86 package installed, run the following commands:

sudo dpkg -r --force-all system-xfree86 system-xfree86-42 system-xfree86-43; \
fink selfupdate; fink index





With X11 in 10.3 my window title bars are missing

You didn't upgrade X11 to version "X11 1.0 - XFree86 4.3.0" included with Panther. Apple's X11 for Mac OS X 10.3 is available as an optional installation when you install Mac OS X 10.3 (Panther), meaning that the Panther installer does not automatically install Apple's X11 1.0.

You can install it from the X11User.pkg file on the Mac OS X Install Disc 3 CD.





To remove Fink xfree86 packages and install Apple's X11

sudo dpkg -r --force-depends xfree86-rootless xfree86-rootless-shlibs
xfree86-base xfree86-base-shlibs
(the above command all in one line)

sudo rm -rf /usr/X11R6 /etc/X11 /Applications/XDarwin.app

Then install Apple's X11 1.0 from the Panther CD including Xcode and the X11 SDK from the XCode CD.

You don't need to install system-xfree86 anymore. It's automatically generated if fink detects a valid x11 install.





Apple's X11 1.0 in Panther and CodeTek VirtualDesktop

You can use it by making Virtual Desktop put all X11 windows in a single desktop. ExposŽ also works fine.

Posted at the x11-users list by Matthew S. Klahn, (CodeTek developer):

"Hi, everyone; friendly neighborhood CodeTek developer here. We are currently working on CodeTek VirtualDesktop 3.0, which we plan to include full X11 support, regardless of X11 implementation used (i.e. XDarwin, OroborOSX, Apple X11, etc.). We have decided that this was a bigger issue that just Apple X11/CTVD compatibility, and that we will need to work with X11 windows themselves, and thus support all X11 implementations. We are working on this feature now, and hope to have a public beta available by the end of the year for people to test this out. This is one of the top two requests for us, and we realize how important it is for our users.

In the meantime, we have worked with Adrian Umpleby of OroborOSX to get both of our apps working together, and compatibility between OroborOSX and CTVD is very good. I realize that choice is good, but since we don't have the information and API for X11 manipulation in the 2.x version of CTVD, and adding it will take re-engineering the product to a great extent, we cannot provide a fix for this by ourselves in the 2.x product. I hope that everyone understands, and that this information helps. Please let us know if you have any questions; I do monitor this mailing list, but did manage to miss this message. I will pay close attention to my digest messages, though, and shouldn't miss any futher mails".
----
Matthew S. Klahn
Software Architect, CodeTek Studios, Inc.
http://www.codetek.com






"The State of Fink"

This is important information for all fink-users, please read carefully and follow what's necessary to do for your system.

The following was posted by Benjamin Reed (Fink Project Leader) at the fink-users list, on Oct 24th:

The State of Fink

In some parts of the world, Panther is already out, so I wanted to give an update on where things are. A more formal announcement will come when we're ready for a "real" release.

How This Will Work

First of all, unlike the transition from 10.1 -> 10.2, we will continue to support the previous Mac OS X release. It may not be updated as quickly as the 10.3 tree, but we now at least have the resources in place to make it reasonable to support both. It would be nice to have volunteers from the community to help "backport" 10.3 changes, but that is something that will probably have to be worked out later. If you're interested, drop a line to fink-core@lists.sourceforge.net.

The Transition to GCC 3.3

HOWEVER, to ease keeping things in sync between 10.2 and 10.3, our continued support for 10.2 will *only* be if you are using the gcc 3.3 update, since the differences between gcc3.1 and 3.3 are reasonably large as far as how porting happens.

If you've been following the fink-devel list, you know that for the past few months we've been working on a tree dubbed "10.2-gcc3.3", which currently contains most of the packages in the 10.2 tree, updated to work with the new compiler. Even now more packages are getting moved over each day, and tools have now been written to make it easier to track changes between the different development trees.

The 10.2-gcc3.3 tree is perfectly usable right now, although a little incomplete in unstable. David R. Morrison is working incredibly hard to finish putting together the first binary distribution for 10.2-gcc3.3, and it is expected to be coming any day now.

The Transition to Panther
The initial target for Panther users will be for you to use the 10.2-gcc3.3 binary distribution. This tree is binary-compatible with Panther and should provide a smooth upgrade path to the "real" 10.3 tree.

The 10.3 tree is currently based on a subset of 10.2-gcc3.3, and is, like it's predecessor, continuously getting updated and is getting closer to parity with the other trees as time goes on. There's still plenty of work to do, but almost all of stable is there, and ready, and developers are diligently getting packages moved over to the unstable tree.

What You Can Do
Please help us test the 10.2-gcc3.3 and 10.3 trees.

10.2:

If you're running 10.2, install the December developer tools if you haven't already, and then install the August updater. You can get them both at the Apple Developer Connection http://developer.apple.com/
It does require registration, but is free.

10.3:

If you're already running 10.3, be warned that if you installed fink's X11 package (instead of a system-xfree86 package), you may need to force-remove them, and then re-install Apple's X11 (make sure you also install the X11 SDK from the developer tools!)

Everyone:

Download the 0.15.1 beta of fink here:

Download 0.15.1 beta of fink

...and follow the instructions for the rsync upgrade (which are good general instructions for upgrading your fink package manager to the beta):

http://fink.sourceforge.net/download/rsync-upgrade.php

The beta will set you up for 10.2-gcc3.3 or 10.3, depending on what OS version you are running.

*Please* keep in mind that you shouldn't use apt-get or dselect to install things until we have a binary distribution (or if you do, make sure you do "fink update-all" afterwards so that any 10.2-gcc3.3 fixes or upgrades get built and installed). Once the 10.2-gcc3.3 bindist is ready, we will make an announcement and it will be safe to use binary tools again.

Also keep in mind that for now, 10.2-gcc3.3 and 10.3 are still considered "beta". Expect the occasional problem. Generally, things are working pretty well, though.

We'll let you know as soon as something official is available.





Fink "Circular Dependency Problem" Solved

Posted by Benjamin Reed at the fink-users list:

http://article.gmane.org/gmane.os.apple.fink.general/10265


"fink-prebinding was "Essential" in the bootstrap, but not in the actual fink package tree. Since essential packages depended on a non-essential package that wasn't installed yet, fink got confused and gave up, since essential packages must always be installed first.

This is fixed in all trees, and a "fink selfupdate" should solve circular dependency issues if you have been unable to upgrade".





Official Apple's X11 1.0 FAQ

Apple's X11 FAQ





Can I run Apple's X11 logging in as >console ?

X11 for Mac OS X cannot be run without the window server.

If you log in as ">console" it stops the Quartz Window Server which is required for Apple's X11 to operate on MacOS X.





To make Terminal.app and X11 boot in csh?

You'll need to change your default shell. Assuming you want tcsh (the default shell for Jaguar) all you really need to do is issue the 'chpass' command in a terminal window, the NetInfo database will be updated to reflect the change:

chpass -s /bin/tcsh

The 'chpass' command doesn't work prior to 10.3. But, it does work in 10.3.





Using Apple's X11 1.0 "Applications" menu in Panther

If you launch a process fron the Apple's X11 "Applications" menu in Panther and your Applications commands are explicitly sent to the background via '&', the process is launched and it maximizes cpu usage that can only be killed with a -9 option. Remove the '&' and this may fix the problem. In x11 v1.0, the applications are backgrounded and there is no need for the '&'.





The startx script in Apple's X11 for Panther

The startx script in Apple's X11 for Panther is broken. It does not work if you try to use it from a tcsh command line. In bash, it works. From a post by Martin Costabel to the fink-beginners list:

"The common reason for these problems is that the build system for xfree86 (also used by Apple) creates scripts like startx (or xmkmf, or all the man pages) using the C preprocessor. This preprocessor should among other things replace all occurrences of "XCOMM" by the comment sign "#".

Now cpp on Panther is broken. It writes a line "#pragma GCC set_debug_pwd..." into its output, and this line is found as a first line of startx and about 800 other text files in Apple's /usr/X11R6. Just try "man X" with Apple's X11 installed. I am curious how long it will take Apple to fix it. My guess is in the order of 1 year.

For the Fink xfree86 package, the maintainers tried to replace the call to the buggy "cpp" by a supposedly working "cpp3", but apparently this doesn't work correctly either, as witnessed by the remaining unreplaced "XCOMM"s".

The effect on a shell script like startx is that the line #!/bin/sh that defines the shell under which this is to run, is not seen, because it works only when it is the first line. So when you run this script from your tcsh command line, it tries to execute everything in tcsh which fails, because the syntax is made for sh.

Right now, you can either remove this first line from the startx script or run it as "sh startx".





Problem with the kde binaries on panther

The only problem with the kde binaries on panther is that after installing them, you need to do:

fink remove qt3
fink install qt3

to fix qt3's linking against freetype libraries, and then it will work.





Setting the default for -all- X11 binaries

Posted by Ernest Prabhakar at the x11-users lists:

"To do that, you need to change a file that has an -explicit- extension of '.x11app'. Since UNIX binaries can implicitly be either Terminal or X11 binaries, Launch Services won't know which until after it is double-clicked, so that information can't be used in Get Info. Since nobody (currently) ships binaries with an explicit extension, I believe you need to do something like the following:

1. Create a simple file which ends in '.x11app'

$ touch foo.x11app

2. Open that with Get Info in the Finder

$ open .
Command-I or Control-Click

3. Select the application

4. Set that as default ("Always open" or 'Change All").

That should make every X11 binary run with the launcher of your choice. Perhaps a little convoluted, but that's the price we pay for stretching the paradigm".





Matlab - license manager doesn't start at startup

(Thanks to Mike Coleman)

"Installed the Matlab for Panther. Of course it doesn't work. It all went on fine. However, the license manager doesn't start at start up - and if you try ./lmstart in the right /Applications/MATLAB6p5p1/etc directory it won't start - Attempting to start gives a -15 error, the fixes on the Mathworks site are for 10.1 and 10.2 for this problem. They don't work".

You can clear it by running in terminal.app:

sudo rm -f /var/tmp/lm_TMW.*





Apple's X11 Customization

Run:

man quartz-wm
and
man Xquartz

to get a list of all the defaults-based options.

From man Xquartz: "CUSTOMIZATION"
Xquartz can also be customized using the defaults(1) command.
The available options are:

defaults write com.apple.x11 enable_fake_buttons -boolean true

defaults write com.apple.x11 fake_button2 modifiers

defaults write com.apple.x11 fake_button3 modifiers

defaults write com.apple.x11 swap_alt_meta -boolean true

defaults write com.apple.x11 keymap_file filename

defaults write com.apple.x11 no_quit_alert -boolean true

defaults write com.apple.x11 no_auth -boolean true

defaults write com.apple.x11 nolisten_tcp -boolean true

defaults write com.apple.x11 xinit_kills_server -boolean false

defaults write com.apple.x11 fullscreen_hotkeys -boolean false

defaults write com.apple.x11 enable_system_beep -boolean false

defaults write com.apple.x11 enable_key_equivalents -boolean false

defaults write com.apple.x11 depth depth


-----------

From man quartz-wm: "CUSTOMIZATION"
quartz-wm can be customized using the defaults(1) command.
The available options are:

defaults write com.apple.x11 wm_ffm -bool true

defaults write com.apple.x11 wm_click_through -bool true







Apple X11 Beta 3 alternatives

The following info was posted by Torrey T. Lyons (XFree86.org) at the x11-users list:

"In the discussion of the Apple X11 Beta 3, there was some confusion about the available X11 options for Jaguar. To clarify, Apple's X11 1.0 is based on XFree86 4.3.0. (Beta 3 was based on the earlier XFree86 4.2.1, which is now over a year old.) There are several easy-to-use and free installers for XFree86 4.3.0 on Jaguar available from:

Fink
XonX

In particular, a standalone, pre-compiled binary of XFree86 4.3.0 for Jaguar, with a GUI installer based on InstallAnywhere, is available for free download at:

XonX-pre-compiled binary of XFree86 4.3.0 for Jaguar

Apple's X11 does include improvements in two areas over XFree86 4.3.0, which represent real work by Apple engineers:

1. The proprietary quartz-wm offers good integration with Aqua.
For Jaguar a similar solution is available with the OroborOSX window manager.

2. Apple's X server is faster then XFree86 4.3.0. XFree86 4.4.0 will be released at the end of this year and will contain the performance improvements from Apple's X11. Apple should be commended for making these available to the open source community rather then just leaving Jaguar with an unsupported beta. On Jaguar XFree86 4.4.0 will be faster then 4.3.0, and on Panther XFree86 4.4.0 will have identical performance to Apple's X11".





X11 1.0 for Panther

The following info was posted by Ernest Prabhakar at the x11-users list:

"Dear X11 Users,

We are pleased to announce that X11 1.0, the GM version, is available as part of Mac OS X v10.3 "Panther."

X11 for Mac OS X

This marks a major milestone for Apple. Not only is X11 1.0 a complete, highly-optimized implementation of the X Window System R6.6 specification, plus the Aqua-compatible quartz-wm window manager, it is bundled in the box as an optional install for Mac OS X. It is also available as a free download for Panther Server customers, or customers who purchase Macs pre-installed with Panther:

Get X11 for Mac OS X
Note: This version requires Mac OS X v10.3 "Panther" or later

X11 1.0 includes a range of new features, including Finder integration for double-clickable applications, support for full-screen mode, and an improved Applications menu. It is one of the 150+ new features available in Panther including added UNIX functionality such as NFS performance improvements, updated scripting languages and command-line utilities, and additional POSIX and Linux APIs.

The release of X11 1.0 marks the end of our highly-successful beta process. We would like to express our appreciation for all of you who helped us by participating in the X11 for Mac OS X beta process. We made a wide range of improvements to the product based on your feedback, the bulk of which have been released as Open Source and will become part of XFree86 4.4. Please observe the terms of the beta license agreement and do not redistribute private copies of that beta.

I hope this information is helpful to you, and I apologize for not getting it out sooner. Feel free to forward this to other people who might be interested in X11 1.0. If you have any questions or comments, please email me directly.


Sincerely,
Ernie Prabhakar
-----------
Ernest N. Prabhakar, Ph.D.
Product Manager, UNIX & Open Source
Mac OS X Product Marketing
(408) 974-3075





Display InsightII™ from SGI to Panther

(Thanks to Mengjuei Hsieh)

Now you can display InsightII™ from SGI to a Mac.

Please, read more at:

Mengjuei - Blog
Screenshot





X11 Forwarding on MacOS X

Jerry Talkington wrote detailed instructions about
"X11 Forwarding on MacOS X" on his web-site:

X11 Forwarding on MacOS X





Sharing the Fink

(How to share software between more than one fink installation)

Thanks to Benjamin Reed (Fink Project Lead).

Tales of the Racoon Fink

October 29, 2003
---------------------
Sharing the Fink

"I was recently asked how to share software between more than one fink installation. This is usually because the person has 2 (or more) machines, only one of which is fast. =) It's pretty easy to share binaries you've built on one system with another. Here's how (keep in mind these instructions will generally only work if each system is running the same major version of Mac OS X):

1. Install Fink on the "master" (build) system.


2. (If the clients already have fink installed, you can skip this step.) Copy /sw to the "client" systems. First you must enable "Remote Login" on the "master" box. Then, run the following on each of the "client" machines:

sudo rsync -avzr -e ssh user@otherhost:/sw/ /sw/

Just replace user@otherhost above with the username and hostname of the system to copy from.

This will make a clone of the fink installation on your "master" box on each of the clients.


3. On the "master" box, build something, and then run:

fink scanpackages

This will make fink generate apt indexes for all of your enabled trees.


4. On the "master" box, enable:

"Personal Web Sharing"

in the Sharing section of System Preferences, and then set up httpd to expose your /sw/fink directory externally. I do so by making an:

/etc/httpd/users/fink.conf file that contains:

Alias /fink /sw/fink
<Directory /sw/fink>
Options Indexes FollowSymLinks
</Directory>

..and then run:

sudo /usr/sbin/apachectl graceful to (re)start.


5. On the "client" box(es), edit:

/sw/etc/apt/sources.list

and add the lines representing your fink trees. For example, if my IP address of my build box at home is 192.168.42.7, the client would add:

deb http://192.168.42.7/fink stable main crypto
deb http://192.168.42.7/fink unstable main crypto
deb http://192.168.42.7/fink local main


6. On the "client" box(es), run:

sudo apt-get update

If all goes well, you should see something like:

Hit http://192.168.42.7 stable/main Packages
Hit http://192.168.42.7 stable/main Release
Hit http://192.168.42.7 stable/crypto Packages
...and so on


7. You should then be able to do:

sudo apt-get install <package>

for anything that's been built on the "master" box.

Any time you build more stuff there, you will need to re-run:

fink scanpackages on the master,

and

sudo apt-get update on the client(s)".





Matlab and Apple's X11

Thanks to Martin Costabel (Fink Developer).

"There is a common misconception about Matlab requiring oroborOSX, which needs XDarwin. Matlab works very nicely with Apple's X11 (as far as this bloated <at> #?!# <at> is able to work nicely). There were basically two problems between Matlab and X11, both are solved, and you can find information about this on the:

Mathworks web site

The first problem is one I never found important, because it does not appear if you start Matlab from the command line: The "LaunchMatlab" clickable starter has to be taught about Apple's X11 instead of OroborOSX. This is done by simply editing a text file and replacing names. Mathworks' PantherUpdater does this for you.

The second problem is a longstanding binary incompatibility between Matlab and xfree86-4.3 (which concerns Apple's X11 on Panther, because it is a variant of xfree86-4.3.0) because of libraries compiled with thread support. This is fixed, too, by the PantherUpdater.

The file to download is called MathWorks_Panther_Updater.dmg"





Fink, the X11SDK and the Apple Installer

Several people had to install the "X11SDK" twice until they got it recognized, because sometimes the Apple installer forgets to install some files and needs a second run.

Good news is that if you're 'only' installing binary packages, and you have fink-0.17.0 or later installed, system-xfree86 no longer requires the "X11SDK".

Anyhow, Martin Costabel has written a small script to compare the bom of an installed package with what is really on the disk.

If you run it as:

sh bomcheck X11SDK

it tells you whether the installation of that package is complete.

You can download the script from here:

bomcheck










astronaut / Make Contact /
drop me a line at:           sao1@mac.com

MacOS X,    Fink,    X11,    Unix    ...and other related things