MachTen Frequently Asked Questions (FAQ)
MachTen(Current Version is 4.1.4)
|General||Communications and Networking||Software Development|
|The X Window System||File Handling and Management||Peripherals and Devices||Patches and Updates|
|Software and Hardware Compatibility||System Stability and Robustness||Other System Issues|
What is MachTen?
MachTen is a Berkeley UNIX operating system with a Carnegie-Mellon Mach kernel. It runs as an application on the Macintosh Operating System (MacOS). The MachTen UNIX kernel supports a standard UNIX applications environment which in turn supports hundreds of standard UNIX applications. The UNIX operating system runs in concert with the Macintosh operating system. When MachTen is running, you still have access to the Macintosh Finder desktop and Macintosh applications, such as a Macintosh spreadsheet or desk accessory application.
Even though MachTen gives the appearance of being just another Macintosh application, its operation is more like that of a co-resident operating system. MachTen and MacOS share the processor -- when MachTen has control, it pre-emptively multitasks the UNIX applications; when MacOS has control, it runs the Mac applications using its cooperative sharing.
Since MachTen runs on top of MacOS, there is no need to partition the hard drive or to install separate MachTen-specific device drivers. MachTen maps the UNIX file system to the MacOS file system and uses the MacOS device drivers. This means that there is a single, consistent file system and that third party devices, such as network controller boards, automatically run with MachTen.
In addition, Power MachTen has its own native fast file system (implemented within a single Macintosh file) that gives UNIX operations a significant performance boost.
MachTen is a full-fledged operating system that, for portability reasons, uses as much of the device driver software that's available in the Macintosh. Where necessary, it will operate directly with the hardware.
What is CodeBuilder?
CodeBuilder is a powerful and unique Macintosh software development tool for porting existing applications or developing new, advanced applications on Power Macs.
CodeBuilder is a Power Macintosh application that includes a complete suite of C, C++, Objective-C, Java, Ada, and Fortran development tools. CodeBuilder can be used in combination with standard Macintosh editors and compilers to develop Macintosh applications, X applications, and UNIX applications.
CodeBuilder gives developers the ability to create an application with a single source base not only for Power Macs under a native Apple operating system, but also for Silicon Graphics, SUN, or HP environments. CodeBuilder gives Apple developers the freedom to take advantage of time-tested UNIX development tools and to explore Objective-C and Ada, without giving up the features of their favorite Macintosh editors and compilers. Because CodeBuilder uses standard Macintosh binary formats, you can use Macintosh debuggers and even combine Macintosh compiler output with CodeBuilder's UNIX compiler output. CodeBuilder is a new standard in PowerPC software development.
What is the difference between Power MachTen and
MachTen is a full-fledged UNIX system that runs over the MacOS. CodeBuilder has a MachTen kernel and many of the UNIX features, but lacks MachTen's networking and filesharing. Thus, CodeBuilder is a sub-set of Power MachTen. All of the CodeBuilder software development tools are in Power MachTen.
Why did Tenon develop MachTen?
Tenon's goal was to "unlock" the processing power of personal computers and put them on an equal footing with workstations, minis, and mainframes.
On one hand, MachTen brings UNIX applications and technology to the Macintosh desktop; on the other hand, it provides a vehicle for Macintosh users to access those larger functional capabilities and communications protocols that are fundamentally developed by the workstation community. These industry standard tools can be brought to the desktop where Macintosh applications are able to take advantage of them. It is a dual-directional approach.
MachTen makes client/server computing available for everyone by lowering the price point of this capability by an order of magnitude. When Apple built the Macintosh, they called it a computer for "the rest of us". MachTen is UNIX for "the rest of us".
What are the main reasons for marriage of UNIX and
The Macintosh is the most user-friendly computer. Windows is trying to achieve the friendliness of the Mac. UNIX is the richest, most popular software development environment, and is becoming a universally accepted standard for distributed computing. It has an abundant set of communications protocols and file sharing software - Telnet, r-series, email, file transfer, NFS client and server. MachTen makes that plentiful environment available on a Macintosh.
The combination of Macintosh and UNIX has been enthusiastically embraced by both Macintosh and UNIX lovers.
What are some of the typical applications for MachTen?
MachTen opens up new markets for Apple to offer Macs and Power Macs as inexpensive UNIX and X software development platforms. It also lets users integrate every Macintosh in the environment with all the other processors in the enterprise -- it doesn't even have to be UNIX-based -- anything TCP/IP-based can interoperate with a Macintosh. On the one hand, MachTen is an inexpensive UNIX development environment; on the other hand, it is an excellent connectivity tool for the Macintosh. MachTen can turn a Macintosh into a complete Internet server or a high-performance X terminal.
Is there anything that MachTen won't do that another
machine running BSD UNIX can do?
MachTen is a fully functional BSD system. Tenon has added a few MachTen-specific utilities; e.g.: it can change UNIX text into text recognizable by Macintosh applications and can cope with Apple Single/Double file formats. In addition, a Macintosh-style MachTen Control Panel lets you easily modify networking addresses and other system variables that would ordinarily require editing UNIX configuration files. So, in some sense, it is a friendlier UNIX. But, by and large, there are no surprises. MachTen is exactly what you would expect to find on any Berkeley UNIX system.
Are there any other UNIX packages available for
Macs and Power Macs?
Apple developed a commercial UNIX (A/UX) that ran on a subset of Macs. Apple no longer supports or sells A/UX, which was an older version of UNIX -- SystemV, version 2 -- and was expensive in terms of memory and required disk space. MachTen is a more compact UNIX that can run on all Macs and all Power Macs. A/UX was implemented on the bare Macintosh hardware, which required Apple to port A/UX to new platforms on a machine-by-machine basis. Unlike A/UX, MachTen sits on top of the MacOS, which means that you don't need special device drivers and you don't have to partition your disk.
In 1996, Apple began distributing MkLinux. MkLinux is a public domain version of Linux that has been ported to a few Power Mac platforms (most NuBus and PCI-based PowerMacintoshes will work). MkLinux, much like A/UX, runs on the bare Power Mac hardware. Users must use MkLinux-specific device drivers and cannot run Mac applications while MkLinux is running. It is our understanding that Apple is no longer supporting new MkLinux development directly, but certain Apple engineers are continuing independent development efforts.
What about OS X server? How does MachTen fit in the picture now that OS X
server is available?
Apple's Mac OS X server is built on a Carnegie-Mellon Mach kernel & BSD 4.4 unix -- exactly the same foundation as MachTen. OS X server is only available to the new G3s. MachTen on non-OS X server platforms will enable these older Macs to inter operate with the new G3 OS X server Platforms. Certain MachTen tools, such as built-in, and high-performance X server, are good candidates for OS X server applications.
How can MachTen be considered a real UNIX operating
system when it is implemented on top of MacOS?
Even though MachTen gives the appearance of being just another Macintosh application, MachTen and MacOS operate very much like co-resident operating systems, sharing the processor. When MachTen has control, it pre-emptively multitasks UNIX applications; when MacOS has control, it runs the Macintosh applications using its cooperative sharing. There is a slide bar Control Panel that lets you prioritize UNIX processing over Macintosh processing.
What models of Macintosh does MachTen run on?
MachTen is designed to run on all modern Macs, from the Classic to the Quadra AV machines, all PowerBooks and Duos, and all Power Macs, including the lastest G3 and G4 desktops, towers, and PowerBooks.
What models of Macintosh does CodeBuilder run
CodeBuilder is designed to run on all Power Macs, and PowerPC PowerBooks, including the lastest G3 and G4 desktops, towers, and PowerBooks.
What add-on hardware is supported?
Because MachTen sits on top of the Macintosh file system and interoperates with the Finder, all add-on hardware should work under MachTen. MachTen has been used with Syquest drives, Bernoulli drives, Zip drives, accelerators, multiport serial cards, ethernet cards (NuBus, SCSI, PCI) and video cards, among others. In cases where MachTen takes control of the hardware (e.g., to implement virtual memory), there could be incompatibilities.
What are the differences between Professional
MachTen and Power MachTen?
Both Professional MachTen and Power MachTen are complete UNIX operating systems with identical UNIX commands and utilities and identical UNIX communications that include an enhanced TCP protocol stack and UNIX file sharing and printer sharing. Professional MachTen is based on BSD 4.3 Berkeley UNIX; Power MachTen is based on BSD Berkeley 4.4. Both Professional MachTen and Power MachTen include an X server and an X client execution and development environment.
Professional MachTen supports UNIX/Mach virtual memory. In other words, Professional MachTen completely takes over the memory management functions from MacOS to page both UNIX and Macintosh applications from memory to disk. Since MachTen's paging algorithms are more sophisticated than those of MacOS, Professional MachTen's VM gives improved performance under low memory conditions. In addition, Professional MachTen runs UNIX applications in protected memory space.
Power MachTen, the native Power PC version of MachTen, has all the features of Professional MachTen (except for protected and virtual memory), and all the features of MachTen X Window Software. In addition, Power MachTen has some unique features, such as support for shared memory, shared libraries, integrated Macintosh and UNIX development environment, and support for UNIX hard links.
How do I decide what version of MachTen I need?
For PowerPC-based Macs (Power Macs), Power MachTen is your ONLY choice.
What are MachTen's memory and disk requirements?
MachTen is one of the most compact UNIX operating systems available. The MachTen 68K application itself consumes 2MB in memory. Since System 7 takes roughly 2MB RAM, you can see that you need more than 4MB RAM in order to have enough memory available for UNIX and Mac applications. A total of 8MB RAM is recommended for Professional MachTen, especially if you are doing software development or running X. The Power MachTen application consumes about 3MB RAM; a total of 16MB RAM is recommendedfor Power MachTen. If you plan on using the X desktop, then 32MB RAM is advised.
The hard disk requirements can vary from 15MB to 90MB, depending upon whether you install the development tools and the X Window software components of Professinal MachTen. Power MachTen requires 350MB hard disk space.
Does MachTen support virtual memory?
Professional MachTen provides demand-paged virtual memory and memory protection. To take advantage of this feature you need a 68K Mac with memory manegment hardware, such as a 68030 or a 68040.
Power MachTen does not support virtual memory and memory protection. It was always a high-priority for Tenon to provide the virtual memory and protected memory features of our 68K product on Power Macs. However, perturbations in Apple's OS strategy made this development very problematic. Tenon originally designed Power MachTen to take advantage of Copland's protected threads. Apple's next-generation OS quickly became a moving target. Talk of Copland eventually became talk of BeOS, and eventually resulted in the NeXT acquisition. Now with OS X Server now shipping, there are no plans for Tenon to implement UNIX VM for Power MachTen. Power MachTen can, of course, be used with MacOS VM or RAMDoubler.
In the absence of virtual memory and protected memory, Tenon has worked hard to make Power MachTen a very substantial software development platform. Even in our 'real memory' system, we are able to port applications with over a million lines of code with good results!
Is there any way I can have MachTen start up every
time my Mac boots?
An alias to MachTen can be installed in the Startup Items folder in your System Folder. This will start MachTen every time your Mac boots. You can even run Power MachTen without the Finder.
MachTen can also be configured to boot instead of the Finder. This is most beneficial if a Macintosh is to be used fundamentally as a UNIX system and few, if any, desktop operations are needed. Running MachTen as the Finder saves precious RAM and processing resources. To maintain the Desktop, Finder must assume control of the system every few seconds in order to update folder file information, handle changes in the volume structure, and perform general bookkeeping for the Desktop. It is possible to run MachTen without Finder and, if needed, start the Finder from MachTen.
While this idea is interesting and has a certain academic quality to it (in that you are able to get the most possible from your Macintosh for your UNIX processing), it may only have appeal for more vigorous UNIX enthusiasts. This whole mechanism becomes much more interesting, however, if a Macintosh is to be used in an environment where access to the Macintosh desktop and its MachTen files need to be controlled. Running MachTen as the Finder forces every user to log in in the traditional UNIX manner. To configure your Macintosh to start MachTen instead of Finder upon power ON, please see the Tenon Technical Note, "MachTen as Finder".
Does the "xxx" software package run
on top of MachTen?
Most UNIX software packages can be ported to MachTen in a straightforward way. MachTen is a "vanilla" Berkeley system, with standard BSD libraries. To run MachTen on systems with small amounts of memory and without UNIX virtual memory, it is sometimes necessary to avoid large automatic variables by using malloc/free.
Hundreds of public domain applications have been ported to MachTen. For a list see http://www.tenon.com/products/machten/machten.apps.shtml.
What commercial applications run on MachTen?
Hundreds of public domain applications have been ported to MachTen, but very commercial applications. Now vendors are using MachTen as a development platform for bringing commercial applications, such as Aestiva's HTML/OS to WebTen.
As UNIX is so file I/O intensive, what kind of
performance can MachTen have if Apple's file system is so slow?
Having lots of memory and making sure that you have a fast hard disk and a fast software disk driver go a long way to ensuring good performance. Power MachTen ships with a native fast file system that gives a two to ten fold performance improvement. MachTen on Apple's new G3 and G4 machines is very fast.
Can more than one user access the MachTen host
Yes. MachTen turns your Macintosh into a multitasking, multiuser environment.
Can users without a UNIX account use the Mac solely
as a Mac?
When MachTen is running, users have full access to Macintosh Finder and could simply run Macintosh programs. If MachTen is installed on a machine that will be shared by users who do not want to get involved with UNIX, they can simply use the Macintosh as a normal Mac, and not start up the MachTen application. On the other hand, if you always want to use MachTen, you can set your machine up so that the MachTen application comes on automatically when the Mac is powered up. Even with this setup, you can easily toggle from Mac applications to UNIX applications.
What is the visual appearance of MachTen/CodeBuilder?
A Macintosh running MachTen or CodeBuilder appears simultaneously as a traditional UNIX system with multiple windows and a Berkeley command line interface, and as a traditional Macintosh system with a Finder interface. If you pull down the System application menu when MachTen or CodeBuilder is running, you can click on Finder, any Macintosh application, or MachTen/CodeBuilder. If X is running, you have an X desktop as well which you can customize with OpenLook, Motif and even AfterStep window managers. You can easily toggle back and forth between Finder, Mac apps, the UNIX desktop and the X desktop.
Can you start Mac applications both under Finder
and under the UNIX shell?
Yes. Under the UNIX shell you simply type (with * if necessary) the data file or application name, followed by a CR. Since most users continue to use Finder in combination with MachTen, the typical way to start a Mac app is by double-clicking. If you double-click a UNIX application when MachTen is already running, it will bring the MachTen application to the front; otherwise, it will start MachTen. Starting Mac apps in Power MachTen is a little more complicated to set up.
What Mac applications run on MachTen?
Virtually all Macintosh applications work with MachTen. Occasionally an init or system extension will conflict with MachTen. Tenon's policy is to work toward eliminating incompatibilities if any are found. If you want to run Macintosh Internet servers with MachTen, such as ftpd, you must make sure that the equivalent UNIX server daemon is not listening on the same port.
Can I get a demo of MachTen?
Yes, demos are available. MachTen is too big for a download, but we will be happy to mail a CD with a built-in 14-day licence. Contact firstname.lastname@example.org for a copy.
Does Tenon offer educational discounts?
The price for both MachTen and CodeBuilder were recently lowered. Now there is just one price -- no educational discount.
Is MachTen/CodeBuilder compatible with MacOS 8.+?
Power MachTen 4.1 is compatible with Mac OS 8.0 and 8.1. MachTen 4.1.1 is required for compatibility with Mac OS 8.5 or greater. If you are running MachTen 2.3, then the 2.4 kernel update is required for System 8 compatibility. This update can be found on our ftp site. Contact Tenon Technical Support for more information.
Does MachTen interoperate with other versions of
Yes, MachTen can network with all standard TCP/IP implementations. For example, you can exchange tar-format floppies or mount NFS volumes with other UNIX machines such as SCO, A/UX, SUN, Solaris, HP, DEC, IBM 's AIX and NeXT, among others.
What are some of MachTen's communications features
that allow the Macintosh to interoperate with other UNIX workstations?
UNIX has a very rich set of communications protocols and file sharing software --Telnet, r-series, electronic mail, file transfer, and client and server NFS. MachTen provides this full complement of protocols for the Macintosh. With MachTen on your Macintosh, it is possible, for example, to store all Macintosh applications on the hard disk of a remote UNIX workstation and mount those applications on your Mac desktop with NFS. With MachTen, you can even mount Apple Share volumes on your Macintosh and then export those volumes using NFS.
MachTen has line printer spooling capabilities, so it can send printer output to the printer of a remote UNIX workstation. Any Macintosh on your LAN can send its printer output to a MachTen Macintosh, and MachTen can subsequently spool that output to any printer in your UNIX environment. Likewise, UNIX workstations can spool printer output to a MachTen Macintosh and have that output printed on a Macintosh LaserWriter.
What networking support does MachTen provide?
MachTen includes a full TCP suite of protocols, including telnet, smtp and ftp. The default operation is to use OT. In addition, it includes all the standard UNIX communications, such as the Berkeley r-series and both client and server NFS. MachTen also includes domain name service (DNS), IP forwarding, and a built-in Web server that supports multihoming. MachTen works over LocalTalk, ethernet and TokenTalk, and can route between these networks.
For serial line connectivity, tip, cu, UUCP, SLIP and PPP are provided. MachTen makes use of the serial port portion of the Macintosh Communications Toolbox (CTB) if installed; otherwise, it controls the serial ports directly.
Using AppleTalk Remote, it is possible to dial into your AppleTalk environment and then use MachTen TCP communications across your AppleTalk networks.
How do I configure MachTen for PPP?
We suggest reading:
Using PPP with MachTen
Crafting An Internet Server With MachTen: A Step-By-Step Guide Part I by LT Richard Miller
Crafting An Internet Server With MachTen: A Step-By-Step Guide - Part II
What Internet services does MachTen provide?
MachTen includes a complete TCP protocol stack (Telnet, FTP, SMTP, TCP, IP) and all the standard Internet services, such as domain name service (DNS), Post Office Protocol (POP) for a POP mail service, serial line IP (SLIP) and point-to-point protocol (PPP). MachTen also includes an Apache web server. Note that MachTen uses OT as the default TCP stack.
A MachTen Macintosh can easily be set up as a full Internet host, configured as an IP forwarder, a domain name server, a POP mail server, and a Web server.
Power MachTen includes Apache 1.2.6 with special Macintosh-specific enhancements, however Tenon recommends WebTen, our point & click enhanced Apache, for Mac-based web service.
Can I create my own mirror of the Tenon FTP site?
Sure, but we'd like you to be authorized. Once you are authorized, we can add you to the list of sites waiting to be on the mirror program. Contact our Technical Support department to get started on a mirror site.
How can I tell who logged in via anonymous FTP
and which files they accessed?
Almost all of that information is in /var/log/ftplog. You can't be certain of who logged in by anonymous ftp, but you can at least get the site that they came from, and the e-mail address that they gave as a password (plus all the files they got).
If I update some of my domain name database files,
what must I type in order to load these new database files into the MachTen
DNS server without restarting the system?
Most programs will usually restart when killed with a SIGHUP. To load the new database files, run 'ps -aux' to get the pid (process ID) of 'named. Then run 'kill -HUP pid' where 'pid' is the ID of 'named'. Also remember to update your serial number in your DNS files, so as to allow for propagation to other DNS servers.
Is multihoming possible under Power MachTen if
I disable OpenTransport's TCP/IP components and run with MachTen's TCP/IP
Yes, you can multihome if you disable OpenTransport and run with our TCP/IP stack.
Are there any secrets in making MachTen work
through ARA without interfering with existing network conditions?
We suggest that you take a look at our Dual TCP Stack Configuration, located in section 10.7 of the MachTen User's Guide, which can be downloaded from:
Can I run MacOS applications like NCSA Telnet
and Netscape Navigator while running MachTen?
Yes, you can run NCSA Telnet but not Netscape Navigator. As long as MachTen is the first TCP/IP application you run, you can run any other TCP/IP application. MachTen must be the first one loaded because it establishes its own networking environment, including its own TCP stack. Other TCP/IP applications then run using MachTen's TCP stack.
Why do I get a message like "can't run ld
on NFS filesystem" when I try to run executables on NFS disks? How
can I fix this?
Because of the way MachTen runs them, you can't execute or link binaries over NFS or any other file-sharing system that isn't AppleShare. This is because we take advantage of the Code Fragment Manager in System 7. The upside is that our executables occupy less RAM when running and can dynamically allocate the RAM that they use. The downside is that you can't link or execute binaries over non-AppleTalk networks. As a workaround, the following script should help you.
# Currently, MachTen running on PowerMacs can only execute programs
# located on Mac volumes (type ufs). If this is the case, just go do
# it. Otherwise, make a temporary copy of the program (presumably
# from NFS) in /tmp, run it from there, and clean up afterwards.
statfs $1 | grep -q ' ufs '
if [ $? -eq 0 ]; then
FN=$1 ; shift
cp -p $FN $TN && $TN "$@"
rm -f $TN
What must I do to automatically start my installed version of Apache when MachTen is run?
Edit the /etc/rc.conf file so that START_httpd="yes". That should do it.
How can I access Apache under MachTen from Netscape
on the same machine?
First start Apache using the <httpd> command. Then you can access it with Netscape at the following URL <http://localhost> or <http://127.0.0.1>
Where can I get Netscape's Enterprise Server
There is no version of Netscape's Enterprise Server available for MachTen. They only target some UNIX systems. We do have the Apache server available on our ftp site, but the Enterprise server has some more features.
Why can't I use MacPPP or FreePPP to set up my
serial IP connection when MachTen is running?
The IP layer within the MachTen BSD protocol stack does not provide an interface to MacPPP or FreePPP, forcing the use of MachTen's PPP. The OpenTransport interface to MachTen available with CU1 for Power MachTen allows the use of MacPPP, MacSLIP and other transport protocols while MachTen is running.
What /dev/ttyxx setting should I use for an internal
You will have to use the Communications Toolbox.
What is a netmask and how do I use one?
Note: for this answer "address" refers to just the last number in an IP address (e.g. 184.108.40.206 is just 79).
Think of the addresses that have been given to you as binary numbers.
161 would be represented as:
10100001 ( 128 + 32 + 1 = 161 )
And 175 would be represented as:
10101111 ( 128 + 32 + 8 + 4 + 2 + 1 = 175 )
Your netmask, 240, would be represented as:
11110000 ( 128 + 64 + 32 + 16 = 240 )
A netmask is like a face mask, with holes in it. The 1's are the holes, and the 0's are the rest of the mask. So if you see the addresses as faces, and the netmask as the mask, you can actually only see the first 4 bits - 1010. Kind of like this:
"Face" (Address) 10100001
The router "looks" through the netmask at each bit of data on
the network, and if it's going to a destination that doesn't start with
1010, then it knows it has to route that bit of data somewhere else. That's
how routers work. So your ISP has said that all of the machines on your
network must have addresses beginning with 1010. If you look at those numbers
in binary, that comes out as 10100000 to 10101111 (160-175).
"Mask" (Netmask) 11110000
"You" (Router) 1010----
Now, suppose you're trying to split this network, which has a total netmask of 240 (11110000) into two networks. You can see that the largest either of these subnets can be is 8 machines, because you'll need to have a larger netmask for the router to work correctly. The next netmask you could pick would be 248 (11111000), which only allows 8 machines to "look the same" to the router:
10100000 (160) 10100100 (164)
- or -
10100001 (161) 10100101 (165)
10100010 (162) 10100110 (166)
10100011 (163) 10100111 (167)
10101000 (168) 10101100 (172)
So, if you're going to split your network up, you can't have more than 8
machines on each subnetwork - otherwise routing won't work. The only other
solution would be to call your Internet Service Provider and request more
IP numbers, say 160-191. That would give you a netmask of 224, and you could
use 240 as a subnet mask, giving you up to 16 machines on each subnet.
10101001 (169) 10101101 (173)
10101010 (170) 10101110 (174)
10101011 (171) 10101111 (175)
How can I make Power MachTen work with FreePPP or OT/PPP?
Make sure that your running Open Transport (which is default), and the next time you start MachTen, it will start FreePPP or OT/PPP for you.
How do I create a pppclient chat script?
A ppp chat script is composed of lines of the form:
In the situation above, when chat receives the word ``receive,'' it sends the word ``send.'' The information to send and receive need only be seperated by a white space, so in order to send or receve multiple words, one must use the double-quote (") to surround the text like this:
"multiple words to receive" "and now multiple words to send"
I'm trying to establish a PPP connection, my modem
appears to connect from the sound but nothing happens.
Probably pppclient is expecting the server to send "login:" and that isn't occuring. ppplogin isn't that intelligent, it needs to have specific instructions, so if the situation is just a little bit different that you'd expect, it doesn't work.
If you turn on debugging (by typing "pppclient debug" instead of just "pppclient"), pppclient will tell you what's going on while it's trying to log in and connect. Look for lines that say "alarm". That means that pppclient waited 45 seconds for whatever was on the previous line (probably login: or password:) and it was never sent from the server. Find out what line it's expecting. Then dial your ISP with a terminal program like ZTerm or VersaTerm from the Macintosh side, and see what comes up. Find out if you need to type return a couple of times before that login: prompt comes up. If you do, then at the "" "" line, change that to "" "\d\n\n\n" (that means as soon as the modem connects, wait one second (\d) and type return (\n) three times.)... Mess around with it a little bit until you get to a script that works. Use that debug option to see what's going on.
Remember that login scripts are very much a "trial and error" sort of endeavor, on all kinds of computers. It may take a few tries before you get it right.
Why does my ppp connection drop the line?
Try using ttyfa or ttya instead of using cm.out This sometimes proves to be more reliable than using the communcations tool box. There are instructions on how to do this in the pppclient script. Basically all it requires to be done is change the LINE variable and change the chat script to allow for the dialing of the modem by MachTen.
How do I know the dynamic IP address that is allocated
to my system for a PPP session?
Typing "ifconfig ppp0" at the prompt will tell you the address ppp is using.
What software development tools are available with
Professional MachTen includes C, C++, a source debugger, Mach C threads, and all the standard UNIX tools.
Power MachTen includes C, C++, g77 (gnu fortran 77), and a source debugger.
In addition, the following tools are included in all versions of MachTen:
What porting issues will I encounter when recompiling
programs under MachTen?
In general, since MachTen is a pure BSD UNIX, porting applications is relatively straightforward. However, in real-memory MachTen systems, such as Power MachTen, some porting issues can arise. Without protected memory, a bad pointer can bring down your entire machine. Additionally, it may become necessary, during the execution of a process, to grow the size of a segment to accomodate a larger stack. This is not a problem on a virtual memory system such as Professional MachTen. However, with Power MachTen (before VM is supported), you may need to make certain accommodations. See section 10.13 in the Power MachTen User's Guide for more inforomation.
What version of MachTen is recommended for software
Because Professional MachTen supports virtual memory and protected memory, it is the recommended version for software development. Power MachTen, on the other hand, has some unique software development capabilities. Since Power MachTen's compilers generate the same binary PEF formats as Metrowerks, Symantec, and MPW, Power MachTen can develop pure Macintosh applications, or even combine Macintosh and UNIX software development tools to generate hybrid applications. Furthermore, Power MachTen is the only version that includes a Fortran compiler.
Will other Macs be able to run my applications without
Of course. Distribution format is completely up to the developer. CodeBuilder can create either Mac standalone or UNIX-based applications and includes examples of both types.
How much source code and documentation does CodeBuilder
About 400 MB of source code and 40 MB on online docs.
Does MachTen support hard links?
In UNIX, linking allows several file names to be associated with the same physical file. Power MachTen properly supports UNIX soft links and hard links via link(2). Professional MachTen only supports soft links.
Where are the 48-bit random number generating
functions (srand48, drand48, etc.)?
These functions are part of UNIX System V. Since MachTen is BSD, these functions are not included.
Why doesn't gprof tell me anything useful about
gcc generated code?
Gprof does not work for any version of gcc right now. We are working to resolve this.
Why can't I get STL containers to work with g++
G++'s template support isn't quite up to the task yet. FSF thinks g++ 2.8.0 will be able to fully utilize the STL.
How do I use gcc math functions?
The math functions aren't in the libraries that are included by default when you compile. Try
% cc test.c -lm
to include the math libraries.
I live outside the US and I need crypt.h to compile
a program. Where is it?
Due to munitions export regulations, it was not possible to include this with MachTen for foreign distribution. You should have no problem finding crypt.h on a non-US FTP site.
When I run perl 5.003 under Power MachTen it
seems that I'm missing some essential libraries. What's the fix?
Perl 5.003 source, binaries, and the necessary libraries are included on the PowerPC Ported Apps CD and on our FTP site.
How do I update GNAT on CodeBuilder from 3.07
Download the file ftp://cs.nyu.edu/pub/gnat/powermac/gnat3.09-Codebuilder_ppc.tar.gz. Move it to your CodeBuilder_HFS directory. Start up CodeBuilder and log in as root. Change to the /hfs directory and run
dfork -i gnat3.09-Codebuilder_ppc.tar.gz
Now you may have to rebuild your Ada libraries, to do so:
tar -zxvf /hfs/gnat3.09-Codebuilder-ppc.tar.gz
This should only take a few minutes inside the FFS.
gcc -c -gnatp /usr/include/ada/MacOS/*.ad[sb]
Can a stand alone Mac application use the Tenon
libraries for a hybrid application that makes MacOS
API calls and Mach calls without the CodeBuilder
No, the calls could be made, but they rely on the interprocess communication to talk to the Mach microkernel. Without this microkernel process, they won't work. Technically, some calls might, but most of them will really need to have CodeBuilder (or MachTen) running.
Will apps written for or ported to
MachTen/CodeBuilder run under Rhapsody?
MachTen supports the same APIs as Rhapsody's core OS, so anything that runs on MachTen will be able to run on Rhapsody.
Can you explain the basic elements of X Windows
The X Window System is a protocol for performing windowing functions across a network. "Windowing functions" means drawing lines, arcs and other graphics primitives on any type of console or display. As a protocol, it is implemented in a set of libraries freely available from the Massachusetts Institute of Technology (MIT).
If an application supports the X Window protocol, the graphical output of that application can be displayed on any X terminal. The application is called an "X client" and the X terminal is considered an "X server".
What is unique about Tenon's X?
Because MachTen is a complete UNIX system, MachTen supports local X clients. The MachTen X Window Software includes a local Motif Window Manager (mwm) and an Open Look Virtual Window Manager (olvwm). The sources to many X client applications are included as example programs, along with a complete X client development environment and a Motif toolkit.
Why is Tenon's X so much faster than eXodus or MacX?
Tenon's X architecture is very different than the other X servers that are traditional Macintosh applications. Tenon sends the output of the X commands directly to the Macintosh hardware screen buffers instead of using QuickDraw. This has profound performance implications. In addition, Tenon's X uses the UNIX TCP sockets for communications instead of MacTCP; this further improves performance.
Tenon's X is said to be the fastest on the Mac market. X11perf benchmarks on a 25MHz 68040 Centris yield an XMark of 1.1 -- better than a SPARCStation 1! On a 40MHz Quadra 840av, the X performance rivals a SPARCStation 2. XMark ratings are not yet available for the native X performance on a Power Mac, but Tenon's architectural advantage carries over to that platform as well.
Does Tenon's X support 24-bit color?
Yes. X11R6 with 24-bit color is available with Professional MachTen 2.3 and also for Power MachTen.
What 3-button mice work under MachTen?
In general, Tenon's X Window Software can be configured to run with any three-button mouse. We have the most experience with the Logitech MouseMan. Customers have also reported that the Kensington 4-button mouse works well.
Can I buy X separately?
Yes, if all you need is to have your remote X client applications display on your Power Mac desktop, simply buy XTen.
Is it possible to cut and paste from X Windows
to the Mac desktop?
The fact that our X consumes the screen is a direct result of our X architecture. Sending the X drawing primitives directly to the hardware screen buffers give us a big performance advantage. What we lose, of course, is the 'cut & paste' capability that we would get for 'free' from QuickDraw. Even though our X is exactly what you would get if you bought an X terminal, we recognize that, since we are running on a Mac, people expect 'cut & paste'. This is a feature that, from the beginning, was planned for a future upgrade. As a workaround you can copy your text to the X clipboard, then save the clipboard to a file and access the file from MachTen windows or with BBEdit.
How can I change the keyboard mapping under
Checkout is the xmodmap program. It will allow you to manipulate your keyboard mappings, or you can move the appropriate Xmodmap (located in /usr/X11/lib/X11/xinit/) to your home directory and remap the key within the file.
Note: that in the MachTen 4.1.1 manual there was a misprint on page 284.
The line at the bottom of the page:
ln /usr/lib/X11/xinit/Xmodmap-XX /usr/lib/X11/xinit/Xmodmap
ln /usr/lib/X11/xinit/Xmodmap-XX /usr/lib/X11/xinit/.Xmodmap
Where is libXshr?
LibXshr is a library that was present in earlier versions of MachTen, but is no longer used. Binaries compiled under previous versions need to be recompiled.
Why can't Mosaic find any URL's?
When X appears to start but Mosaic complains that the URL cannot be found, it is an indication that the Web server (httpd) has not started. Using the OpenWindows menu, start an xterm and use the <ps -aux | grep httpd> command to verify that the server is not running. Edit the /etc/httpd/conf/httpd.conf file. Uncomment the following line:
In addition, you can change the entry <new.host.name> to a name of your choice. Save the file and start the Web server with the <httpd -x> command. To gain access to the X configuration pages, push the reload button within Mosaic or restart Mosaic.
Why do I get a "connection reset by peer"
error message when I open a local xterm window and try to rlogin to another
Try setting the TCP/IP control panel (the one for Open Transport) to "Load Only When Needed". (You can get to this by clicking the "Options..." button).
Whenever X is running, the entire system is
unstable, whether I'm using MacTCP clients or X exclusively. Is there a
configuration that will make things more stable?
Get all updates (XTen users should upgrade to 6.0.1+). If this doesn't help, try taking the TCP/IP control panel out of the Control Panels folder. On some systems, this can greatly help our dealings with OpenTransport.
I tried to launch XWindows with a ctrl-T, but
I got the following error: 'fatal IO error 32 (Broken pipe) on X server
":0.0"' What happened? How do I fix it?
MachTen 4.0.x comes with X11R5, which supports only up to 256 colors. Make sure that your monitor is set to 256 colors. An incorrect monitor depth is usually the cause of the above error message.
The background for the X Window is 'opaque',
i.e. I can't see my underlying Mac windows. How do I do this on the Tenon
There is no way to use "rootless" windows in MachTen. Dedicated X windows enhances performance many-fold.
Why does creating a new window from the File
menu kill the X session?
It doesn't. Visit the window menu and reselect the X session as the window you would like to view.
System memory likes to bloat up to 20 or so
MBs whenever I have more than a few things running under XTen. Is this normal?
Traditionally, X assumes your system has limitless memory, so this is normal behavior for any X system. Most of the memory allocation from MachTen/XTen takes place in conjunction with the Code Fragment Manager, which allows us to dynamically allocate memory in the System bar. Very little allocation happens within the MachTen/XTen program space, which is why we ship with a rather low amount of memory assigned to MachTen/XTen in the "Get Info" box.
How can I change the middle and right mouse buttons under X be something besides
the left and right arrow keys?
It is possible to make these changes global or on a per user basis. To make the change global while logged in as root edit the file Xparams in the
# -mbm 103 -mbr 111
Is there a way to scale the display in X?
No, but you could bump up the monitor resolution (if your monitor and computer support higher resolutions).
X won't start on my system. It just goes to a white screen then
drops me back into the finder (or hangs the system) How do I fix this?
The two most likely possibilities are not enough memory or lack of networking. If you are running only the MacOS and MachTen, set memory for at least 32 MB. X will also fail to start if MachTen is configured to use OpenTransport networking and there is no network active (e.g. PPP not connected). Simply quit MachTen and open the folder /System Folder/Extensions/Tenon Kernel Libraries. Inside this folder resides OTSocketLib--move this to the folder /System Folder/Extensions/Tenon Kernel Libraries/Disabled. Now in the folder /System Folder/Extensions/Tenon Kernel Libraries/Disabled is a file called SocketLib--move this file to the folder /System Folder/Extensions/Tenon Kernel Libraries, reboot your computer and try X again.
If you want to use MachTen without being connected to a network, please read and follow the instructions in our loopback paper.
Can MachTen access the MacOS file system?
Tenon maps the UNIX file system to the MacOS file system. So, with MachTen and MacOS, there is a single consistent file system. This means that everything is accessible to both MachTen and MacOS. You can 'see' the UNIX directories and files on the Finder desktop and you can 'see' the Macintosh folders and files from a UNIX terminal window using 'cd' and 'ls'.
Does MachTen have a native file system?
MachTen uses the Macintosh file system (HFS) and adds a Network File System (NFS). MachTen 4.1 will ship with a native UNIX fast file system.
What third party devices are compatible with MachTen?
Because MachTen sits on top of MacOS and makes use of the MacOS device drivers, all third-party devices, in general, will work with MachTen. Ocassionally there are exceptions. For example, tape device drivers are generally bundled with the application and are not part of MacOS. Thus, tape required special attention on Tenon 's part. MachTen supports 4mm DAT tape drives and 8mm Exabyte tape drives. Tape support is not yet part of the standard product and must be requested from Tenon Technical support.
Can I use third party accelerators with MachTen?
CPU accelerators tend to make use of Apple's memory management hardware. Therefore, in general, you can usually use accelerator boards as long as you are not using MachTen VM. DayStar boards are generally not compatible with MachTen.
Can I use PowerPC upgrade cards with MachTen?
Power MachTen (Tenon's PPC native implementation of MachTen) runs with all PowerPC upgrade cards.
What CD-ROM drives and formats are compatible with
MachTen uses either Mac HFS or Foreign File Access for non-HFS formats, such as ISO 9660 and RockRidge, so MachTen can read any CD-ROM that the MacOS can read.
Do I need a patch?
G1.a. If you are having problems with MachTen, the first question to ask yourself is "Do I need a patch?" Check to see if your problem matches or is similar to any of those below. If so, install the patch. If the problem persists and this FAQ doesn't answer it, please contact us.
What is the difference between the CU1 on the
Ported Apps CD and the CU1 on the FTP site?
The CU1 on the FTP site is newer and has the following additional features:
Do both versions of your product (Power MachTen
and Professional MachTen ) support POP mail service?
Yes. We've recently found that popper (the public domain pop server that ships with Power MachTen) has some inherent bugs in it, so we've ported a different POP server, pop3d, that seems to work well. You can find pop3d on the Ported Applications CD and on our FTP site.
Why are Eudora users having so many problems retrieving their mail?
Some POP (e.g. popper) servers have a hard time with the following:
How do I start popper?
Popper is enabled if the "enable incoming connections" box is checked. It may not show up in the process list, however, since it is called on the fly when an incoming connection comes in.
How do I start pop3d?
Almost the same way as popper. Install pop3d. Then edit /etc/inetd.conf on the line that begins with 'pop' -- change '/usr/libexec/popper' to '/usr/libexec/pop3d' and change 'popper' to 'pop3d'. You must restart inetd for the change to take effect. The simplest way to do this is to restart MachTen.
Why do some users get a "Mail drop locked"
message from Eudora?
Delete the .pop.xxxx files in your mail server's spool directory. These files occasionally remain locked when a POP connection is broken, so deleting them should clear up the problem.
Is sendmail configured out of the box to send
and receive mail over the Internet or do I have to configure it?
The MachTen control panel has an "enable incoming mail" box. If the hostname, IP addresses, and domain name are all correct, sendmail should work out of the box.
How do I configure sendmail to restrict the size
of both incoming and outgoing mail to some arbitrary size?
We are not aware of any sendmail configuration option that will do this.
How can I have a mail address name that is longer
than eight characters?
Assign an alias in the /etc/aliases file like this: webmaster: webmstr
All mail addressed to webmaster will then go to webmstr. You'll need to restart MachTen for the change to take effect.
Can I run popper and sendmail under MachTen and
run the Apple Internet Mail Server under MacOS while MachTen is just doing
That should be fine. Disable incoming connections and receipt of mail for MachTen.
I ran Norton Utilities on my Mac with MachTen
and now MachTen doesn't run correctly. What happened? How can I fix it?
Norton Utilities changes any file name starting with a period to instead start with a dash. Also, Norton unmangles the names of some files (mangling is needed to tell the MacOS that, for example, 'INSTALL' and 'install' are different files). This, of course, throws off MachTen. We recommend using MacTools Pro from Central Point instead. To fix the Norton damage, the options are pretty limited. Either rename all the files that Norton changed back to their original names, or reinstall MachTen.
Is there a port of Netscape Navigator for MachTen?
There is no Navigator for MachTen because Navigator is a commercial program and the source is not available to us. We do offer Mosaic, which has a publicly-available source.
Is Power MachTen, like Professional MachTen,
incompatible with SilverLining?
Power MachTen is compatible with SilverLining. Since Power MachTen does not implement UNIX virtual memory, the Professional MachTen problem with SilverLining doesn't apply; however, this may become a problem again when we implement UNIX virtual memory.
Why does my system crash when I use RAM Doubler
1.5.2 (or earlier) and MachTen at the same time?
RAM Doubler version 1.5.2 (or earlier) is not compatible with MachTen.
If I use Power MachTen with RAM Doubler 1.6.2
(or later), the systems hangs on shutdown after everything has successfully
quit. How can I fix this?
Install CU1. This will fix all known incompatibilities. We recommend using these versions with MachTen 4.0.3 and CU1.
Any recommendations for a 3-button mouse to use
We use the Logitech MouseMan. Almost any mouse should work, but some no-names have had some trouble.
Any suggestions for an accelerator that will
work with Professional MachTen?
Almost any accelerator will operate correctly as long as it encompasses a full upgrade (i.e., it doesn't leave out crucial operations, such as the presence of an MMU). Some DayStar boards do not function correctly because they do not support a working MMU system. There is no real list, as there are so many cards out on the market and keeping track would be almost impossible.
Why does zsh crash my system?
It was ported by a Japanese customer, so we presume the crashing is related to the differences in Japanese and American systems. Tenon Technical Support may do a port someday, but there are quite a few higher priority items.
Is MachTen compatable with Microsoft Internet Explorer?
Internet Explorer is an Open Transport-only application. If you are running Tenon's TCP stack then Explorer will not run. If you demand this functionality and are running Power MachTen 4.0.3 CU1 or later, then you can run MachTen using Open Transport.
What tips in general do you have to keep MachTen
Watch your memory. Running Netscape 3.0 and MachTen at the same time is a bad idea if you have only 16 MB of RAM. Run a disk error checker often and a disk defragmenter at least once every three weeks (assuming daily use of MachTen). Install all necessary patches and updates.
Why does MachTen give the error message 'vmunix:
file: table is full' when I try to run a program?
This error is caused by the open files value in the MachTen control panel being set to low. Increase the number of files allowed to be opened in the control panel and the error message will disappear. Don't increase the open files value too drastically, because each file handle requires memory. Ideally, increase the open files value in increments of 20, until the error message no longer appears.
Why does MachTen give the error message 'proc:
table is full' when I try to run a program?
You are unable to start another process because you are at the maximum capacity. You can raise the maximum using the MachTen Control Panel/Memory/UNIX Processes.
Why does MachTen give the error message '/vmunix:
no namelist' when I try to run a program?
If you rename your MachTen application to something else, this will happen. This might also happen if the MachTen application is moved away from where it was originally installed. These programs scan the kernel for information. If the kernel isn't where they think it is, they give you this error. This error can also occur when running MachTen on top of OpenTransport using the OT Socket Library with network utilities.
When I run several apps in MachTen at the same
time and try to launch another application, I get "Fragment Load Err:
-2810 - Not Enough Memory in User's Address Space ..." I have plenty
of memory left. What's the problem?
MachTen is running out of memory in "User's Address Space", which means within the application. Increase the amount of memory you give to the MachTen application by a megabyte or so, and restart.
When I am running MachTen the performance is
really poor on any program that accesses the disk. Moving the Scheduling
Priority slider bar in the MachTen control panel toward UNIX priority doesn't
help. How can I speed up MachTen?
Move the slide bar in the MachTen control panel down toward the MacOS. By running MachTen at the highest priority you are wasting cycles waiting for the MacOS to get a time slice for disk activity. Try pulling the slide bar down closer to the middle. In tech support, we generally leave the slider three ticks from the UNIX end. You can put this one or two tick marks closer to the UNIX side when compiling or running other processor-intensive application in MachTen. Also, we recommend not running MachTen and File Sharing at the same time.
My Power Mac has lots of memory and runs quite
fast, but that is not reflected in MachTen's performance. I have the UNIX
<-> Mac slider on the third tick mark from the Mac end and MachTen
has a big chunk of memory. UNIX on the PPC 601 at 100MHz should blaze. What's
The major bottleneck in terms of I/O and performance is caused solely by MacOS. This will change when we come out with our fast file system. For the time being the only workaround is something like Speed Doubler.
I want MachTen to run faster, so I'm going to
give it 10 MB's of RAM. Will this speed it up?
You probably don't want to allocate more than about 5 MB to the MachTen application, since MachTen actually gets most of its memory from the System software. You'll notice that if you watch the About This Macintosh... box (Apple Menu, in the Finder) while doing some intense processing in MachTen, the System Software bar will grow rapidly. That's MachTen allocating memory. If you give the MachTen application too much memory, it won't be able to get its memory from the System, and it may randomly crash or give 'out of memory' errors.
Why are the load averages so high? On another
workstation running a lot more applications, I'm used to load averages around
0.4-0.6. If MachTen's X is running, the load average rarely falls below
2. Is there some way to improve performance?
The load averages are reported differently under MachTen. This load average is by no means a measure of system performance. Load averages are not meant for speed comparisons. Typically a high load average (say 10+) is an indicator that you need a faster, more powerful machine. The load average is calculated by counting the number of processes waiting for the processor. The MacOS is always counted as a waiting process, so our load average is typically one higher than you would expect.
I installed MacOS 7.5.5 or 7.6 and MachTen 2.3
(or 2.2) won't start up anymore. How can I fix this?
First, download new kernels from ftp://ftp.tenon.com/pub/updates/2.3/. Get the files unix.hqx and vmunix.hqx. Now, after decompressing these files, place them in the MachTen 2.3 Root/MachTen folder on your hard drive. Start the MachTen control panel, and while holding down the 'Option' key select 'General'. In the window that opens is a box labeled 'MultiFinder Offset' which is probably set to '0'. Set this to '1900' for MacOS 7.5.5 and to '1876' for MacOS 7.6, save, exit, and start MachTen.
MachTen fails to startup with the error "Can't find root vnode". How Can I fix this?
There are two volumes on your computer with the same name, probably the hard drive that MachTen is installed on is the same as the name of the MachTen CD. Change the name of the hard drive to a one that doesn't conflict with other volumes.
I have a Stylewriter printer. Do you have a script
that I can put into the /etc/printcap file so I can print?
At the command line on the foreign system type 'stty erase [DELETE KEY]'. If you access the foreign system primarily through MachTen, then you should put the 'stty erase [DELETE KEY]' line in a login script such as .login or .cshrc, so it will change the delete to backspace every time you log into the foreign system. Incidentally, [DELETE KEY] means press the key, not to type out DELETE KEY. ______
Why can't I compile my C code that uses memory
mapping system calls?
Memory mapping will not work under Power MachTen since we do not yet have a true UNIX virtual memory implementation. I would recommend that you, instead of using distinct processes and trying to communicate between them, try using a multithreaded approach -- we do have the POSIX threads library, and all threads share the same memory space. Alternately, you can use sockets for IPC.
I only seem able to start Macintosh applications
from within Power MachTen by becoming root, even though the documentation
(and file protections) indicate that any user should be able to do this.
As of now only root, or users authorized in the following manner, can execute Mac apps -- the Power MachTen documentation is incorrect. Before proceeding, please recognize that allowing users to run Macintosh applications will make your system significantly less secure. To allow users to run Macintosh applications, you have to change the resource settings of the MachTen application. First start MachTen and get the user ID (the numbers) of the users you want to allow to run Macintosh applications. Exit MachTen and start ResEdit. Inside ResEdit, open the MachTen application (in the MachTen Root:MachTen folder). Double click on the Luid icon, this will open a window titled "Luids from MachTen". In that window, double click on the line that contains "Launch User ID's". This will open a window titled "Luid 'Launch User IDs' ID=-8192 from MachTen". Highlight the last number in this window with your mouse, then select "Insert New Field(s)" from the Resources menu. This will create a box below the highlighted number; in that box enter one of the user id's that you previously retrieved. Repeat this process: select last number, etc. until you have entered all the user id's that you want. Remember to save the file.
How I can check the status of Mac applications
launched from Power MachTen?
Power MachTen, unlike Professional MachTen, is unable to check the status of currently running Macintosh applications.
I have ftp'd some files using the Macintosh program
Fetch. I had the files downloaded as binary files. Is there any way to convert
them to the MachTen format so I can use them?
Fetch (and basically all other Macintosh apps) saves your files with both a resource fork and a data fork. Before using the file in MachTen, the resource fork should be removed by running 'dfork -i <filename>'.
Why do active network applications stop when
I launch MachTen?
As long as the MachTen TCP/IP stack is used, all running TCP/IP applications must be quit before launching MachTen. With CU1 for Power MachTen, the requirement to quit Macintosh TCP/IP applications before MachTen launch is eliminated.
I used adduser to create a user in the 'wheel'
group, but when the user tries to su I get "su: you are not in the
correct group to su root" Any suggestions?
Do you have a line in /etc/group that says:
What's important here is that wheel is group ID 0, and the list of users
is delimited by the comma. The adduser command may not correctly set your
group. Check the /etc/groups file and add it manually if needed.
How can I access Macintosh disks other than the
one that MachTen resides on?
You can mount desktop items. For example, if you have a volume called "Hard Disk" on your desktop, you can mount it with 'mount "Hard Disk" /mnt' where /mnt is your local mount point.
Why do I get "Diskname on /Diskname: Device
busy, some process using this filesystem" when I try to mount a hard
This message means that either you have the drive mounted at another location, or that the disk is password protected or locked by a Macintosh securty application.
How do I start up my Macintosh with Power MachTen
as the Finder?
At this time the you can do one of two things. You can rename the NoFinder application to Finder, rename the Finder something else and reboot. Your machine will boot NoFinder and you can start applications from there. You can also boot normally and use NoFinder to kill the Finder. Right now there is no way to boot Power MachTen automatically without the Finder or NoFinder. Alternatively, the NoFinder application can be used to terminate Finder. NoFinder is available at file://ftp.tenon.com/pub/applications/contributed/NoFinder.gz
How do I convert the old password files from
Professional MachTen to Power MachTen?
Because Power MachTen is BSD 4.4 compliant, we have moved to the shadow password suite. As a result, the old databases are no longer compatible. The following two perl scripts will convert the password files for you. The first takes your passwd file and outputs what your master.passwd should look like. Just run it and redirect your output to /etc/master.passwd. You should also chmod 600 this file so only root can read it. The second modifies your passwd file so it no longer contains the passwords. You should back up your passwd file before you try any of this, in case anything goes wrong. If you don't already have perl, you can get it from our ftp site.
Using the "vipw" command, you should edit the password information. Just modify it so it will update the database, i.e., change something then change it back. When you exit vipw, it will build the spwd.db and pwd.db databases.
**** First Script ****
**** Second Script ****
($name, $password, $uid, $gid, $realname, $homedir, $shell) = split(/:/);
($name, $password, $uid, $gid, $realname, $homedir, $shell) =
print "$name:\*:$uid:$gid::$realname:$homedir:$shell\n" ;
I tried to change my root password, but the passwd
program did not prompt me for my current password before creating a new
one. /etc/passwd, still lists the root passwd as *. Why?
The passwd program does not ask for your old password when changing it. Power MachTen uses shadow password that it keeps in a separate encrypted file. Your /etc/passwd file should contain * for the passwords. Refer to the passwd man page for more details.
Where is rfork in Power MachTen?
We did not set this up correctly in Power MachTen. You must make a soft link between dfork and rfork: '
ln -s rfork dfork'. When rfork
runs, it will notice its name and act accordingly.
How can I safely mount a device to the /volume directory in Power MachTen?
On Power MachTen startup, as part of the cleanup, MachTen deletes the contents of the /volume directory. Potential results, if a disk or partition is mounted to /volume using /etc/fstab are obvious. The following changes to "/etc/rc" will solve the problem. Details about "/volume" and its directories are included below. In "/etc/rc" change:
$ECHO -n " /volume"; cd /volume && $RM -fr *
$ECHO -n " /volume"; cd /volume && /bin/rmdir * 2>/dev/null
The intent of cleaning "/volume" is to remove old directory entries which were previously used as mount points for Macintosh volumes, NOT the contents of any volume currently mounted there! "rmdir" will remove a directory if-and-only-if it is empty and not mounted on, which is what we want. Directory entries are created in "/volume" by "macmntd(8)". Macmntd get a signal when a removable Mac volume comes online. It gleans the name of the new Macintosh volume, then check "/etc/fstab" for an entry dictating where to mount this volume. If no entry exists in fstab, macmntd creates a directory in "/volume", using the Macintosh volume name. It then mounts the new Mac volume on this directory. When the removable volume is ejected, or MachTen quits, the directory entry remains in "/volume". Thus "/volume" could, over time, get cluttered with directory entries.
How do I change the login banner of MachTen/CodeBuilder?
Change the default entry in the /etc/gettytab file. This is the line to change:
:ap:fd#1000:im=\r\n4.3 BSD UNIX (%h) (%t)\r\n:sp#1200:
I lost my root password, how can I recover it?
You must have physical access to the computer. During system startup, wait until you see the "Cleaning up..." on the startup screen, then quickly press CTRL-C two or three times. This will halt the system startup, press RETURN one time to enter MachTen in single-user mode. You should be at a '#' prompt. Type '/usr/bin/passwd' then change the root password when prompted. Now run 'sync' twice from the '#' prompt, then run '/sbin/reboot'. Once MachTen quits completely, drag and drop the MachTen_FFS or CodeBuilder_FFS onto 'Fast File First Aid" repeatedly until FFFA gives the FFS file a clean bill of health. Restart MachTen and login with your new root password.
How do I create an A/UX partition for a fast file system?
As far as we know, you cannot do this with Drive Setup. We recommend using FWB's Hard Disk Toolkit, simply set the Partition Type to Apple_UNIX_SVR2 when creating a scratch partition.
Adduser does strange things to my Power MachTen 4.1 installation, how
can I fix it?
Please read MachTen 4.1 Adduser Problems, with Fixes. (Currently unavailable)
My MachTen storage file (MachTen_FFS) is full, how do I make it bigger?
Although there are several ways to accomplish this (mounting additional FFS file systems to paths such as /disk1, /disk2, etc, or just moving /home or /usr to a separate partition), the "slickest" way to expand your FFS file partition is to create a new FFS file of the desired size, and then move all files and links over to the new partition (using tar). Once completed, you simply rename the file and MachTen will reboot with the bigger file system. The detailed steps follow:
0) Ready the system for this copy by removing all mounted drives (including the MachTen CD): umount -a 1) Change to the MachTen_Folder cd /MachTen_Folder 2) Create the new file system of the desired size. You can substitute the string: `expr SIZE_IN_MB "*" 2048` (include the back-tics) for SIZE_IN_512B_BLKS in the command below, where SIZE_IN_MB is a number like 237 or 500. newfsf -s SIZE_IN_512B_BLKS FFS_FILENAME 3) Mount the new FFS file to the current directory tree: mount -t ffs /MachTen_Folder/FFS_FILENAME /MNT_POINT /MNT_POINT must be an empty directory. 4) You can now access the new file system through the path /MNT_POINT. If you type: mount you should see the new FFS in the listing. 5) Move the files from your old FFS to the new one: cd / tar -cv * | ( cd MNT_POINT; tar -xv ) 6) Quit MachTen: reboot 7) Before restarting WebTen, rename the files FFS in the "MachTen Folder" from within the Finder: MachTen_FFS -> MachTen_FFS.BACKUP FFS_FILENAME -> MachTen_FFS 8) Start up MachTen. You should now see the larger file system. To display the FFS info type: df
I used "adduser" in MachTen 4.1.1 without any arguments and it erased my home directory. What's wrong?
There is a problem with the adduser in MachTen 4.1.1 in which causes it to remove the home directory if given without any arguments. The solution is to edit adduser on line 57 and remove the line that says "/bin/rm -fr "$PW_DIR"". This will remove the possibility of adduser removing any files.
Please note that if adduser is used normally with a username supplied, it operates wonderfully and does not remove any files.
Where is the "ported_apps" folder on
the Power MachTen distribution disk?
Sorry for the confusion, but the documentation is in error. On the Power MachTen 4.0.3 disk there is no "ported_apps" folder. You can get source for ported apps from our ftp site and from the Power Mac Ported Applications CD, which contains source and binaries.
Can you help me port an application or set up
a ported application?
Quite possibly. We can help with "core" applications such as Apache or INN or other apps that are run on a standard Internet-aware UNIX system. If you have a large, intricate and obscure application, we may not be able to help as much, simply because we may not have the resources required to understand the intricacies of your application. We will, of course, help as much as we can with any specific MachTen-related questions you might have.
I am trying to port some apps to MachTen. Which
vendor's UNIX is closest to MachTen?
Since MachTen is a straight BSD port, anything BSD is a good choice. If the source has flags for BSD, it's a great place to start. The next best are NexT or SunOS. You will have to recompile anything that was not compiled for MachTen. O'Reilly has a good book on porting UNIX programs.
Why does Tenon have two CD's of ported apps?
Ported Apps Volume 1 is for Professional MachTen. Volume is applications for Power MachTen.
Why does Tenon suggest purchasing Ported Apps
Volume 2 for use with CodeBuilder?
Two reasons. First, Ported Apps extends CodeBuilder's suite to include advanced UNIX-based tools. Second, Ported Apps comes with over 200 MB of source code, which can be used to develop UNIX-based or standalone Macintosh applications.
Where can I find Emacs for MachTen or CodeBuilder?
MachTen: When starting MachTen with the MachTen CD in the drive so that it is mounted to /base, you will find the gzipped tar file at /base/src/gnu/emacs-20.2.machten.bin.tgz. This can be installed by typing:
cp /base/src/gnu/emacs-20.2.machten.bin.tgz / cd / tar zxvf emacs-20.2.machten.bin.tgz
How can I view an "info" file?
You can view .info files with emacs: type meta-x info and hit return, and it will bring up lots of interesting information, including tutorials. (The meta key is usually your escape key.) Alternatively, you can view it using TeXinfo. Both emacs and TeXinfo are available on the Ported Apps CD.
I can't seem to get MachTen applications to understand any kind of jpg
or gif file. Why is this?
In 8.5, QuickTime encapsulates jpg and gif files making them unusable. Look in your Control Panel for the QuickTime settings. Select QuickTime Exchange and make sure that this is toggled off.
I can't start Macintosh applications when I am a non-root user. What's wrong?
In order to execute Macintosh applications while being a non-root user in MachTen, you must edit a resource with ResEdit. Open up the MachTen application with ResEdit and open the "Luid" resource. Open up the "-8192" key inside of the resource. You will see a list of addresses on the left and blank spaces on the right. In the blank space, insert the user ID of the user who you want to be able to execute Macintosh applications. By default, MachTen starts user ID numbering at 102. The number must be entered in Hex. 102 corresponds to 66 in Hex. The user ID can be found by viewing the /etc/passwd file as the root user.