Set the desktop background to a flat color on the client. This may be obvious, but you get much better image compression with less complex images.
Set the client's depth to the same depth as the viewer. Use thousands instead of millions (if you want color). When I had the client (G4 677 TiPB) set to millions and the viewer to thousands, the session was not much slower than if the viewer was also in millions. I think this is because the client has to convert from millions to thousands, dither, and only then, send the bits. Putting both the client and viewer to thousands gave me a decent speed boost, since the client had no extra work to do.
If you have a pretty beefy client, you might not notice the increase as much as I did...
Every so often, the AirPort connection on my Intel Mac mini would drop off for no apparent reason. Searching on the web reveals that I am not alone. This problem seems to affect the Intel Mac mini, MacBook, and MacBook Pro. While I am optimistic Apple will fix this problem eventually, I couldn't wait. So I wrote an AppleScript to test the network periodically and restart it when necessary.
[robg adds: I haven't noticed this issue on my Intel Macs, but I have read of others having the issue. I have mirrored the script (but not the runnable version linked on the blog) on macosxhints, in case the first becomes unavailable.]
Mac OS X, when connecting via SMB, will leave ._ files on Windows shares. This can sometimes cause problems for others accessing these files, automated programs, etc.
I have created a script called DotUnderscore.vbs to handle this problem. This script will monitor and delete files based on a string within the file name (e.g. ._). To use this script, I recommend creating a Scheduled Task on Windows to start it up at system startup, so it will continually run.
Here are some examples on the command line that you would pass to the script:
cscript.exe DotUnderscore.vbs C:Temp ._
That would delete all files that had ._ within their filename from the directory C:Temp. Note that directories containing spaces must have quotation marks around them, e.g.:
cscript.exe DotUnderscore.vbs "C:Documents and Settingsusername" ._
As always, test on a test directory before you put it into production. This script may or may not work with certain non-standard symbol or alphanumeric characters in the folder name.
[robg adds: Just to state the obvious, this is a script that resides and runs on the Windows server, not the Mac. Thesefourprevioushints deal with the same topic.]
This is something I've wanted to set up for some time, having Googled and read through an old thread on the macosxhints forums, I decided it was time for a proper how-to on configuring a secure L2TP VPN under Mac OS X 10.4 client.
If you're interested in this, read on for the details...
Here's a little blurb from an article I found on the internet regarding OS performance tuning, written by the Pittsburgh Supercomputing Center. Note that this only really helps on data transfers on gigabit ethernet networks, though it might help latency on 100 megabit networks.
Mac OS X has a single sysctl parameter, kern.ipc.maxsockbuf, to set the maximum combined buffer size for both sides of a TCP (or other) socket. In general, it can be set to at least twice the BDP. E.g:
sysctl -w kern.ipc.maxsockbuf=8000000
The default send and receive buffer sizes can be set using the following sysctl variables:
I've been appreciative of the work folks have put into creating scripts to change a computer's Location based on, most often, detected SSIDs, but I've had the opposite problem: I wanted a manual change of the Location from the Apple Menu to trigger other events. Solutions such as Location X exist, but I'm cheap. Besides, I knew it had to be doable.
After a bit of poking around, I hit on the following solution, which only works in 10.4.
This question keeps popping up from time to time, and I originally posted these instructions on the Apple Discussions in June, 2005. Hope it helps. The following instructions will help you to extend the range of a Linksys WRT54G using an AirPort Express Base Station (AX). With minor modifications, these instructions should also work for an AirPort Extreme Base Station (AEBS).
In order to add an AX to your existing Linksys WRT54G wireless network you should first take the following precautions:
Disable or remove all firewalls on the computer on which you will be configuring the network. You should be able to re-establish your previous computer configuration after the network is set-up.
You must be running at least Version 4.1 of the AirPort Software. Make sure all of you system software is up-to-date by running Software Update found in your Apple Menu. Repair Permissions both before and after updating your software.
Perform a Factory Default Reset of the AX.
Immediately before performing the configuration process, Restart the computer on which you will be performing the configuration. Ideally, you will also shut down any other devices connected to the wireless network, but you probably will be able to configure the network without doing so.
Each step of the configuration process must be closely followed. Skip no steps, and perform no shortcuts.
Although a total newbie to MAC OS X, I thought I would post my experiences getting my iMac G3 to access the Internet by way of my Tecom BT3021 Bluetooth Access point. I am running MAC OS X 10.4.3 Tiger, and use a third party USB Bluetooth dongle on the iMac -- not one of the officially supported D-Link ones, but it works OK nonetheless.
Having waded through several forum threads which mentioned that the former Bluetooth Serial Utility had been pulled from this release of OS X, I managed to download this utility and found that it was invaluable in allowing me to set up the outgoing serial port to use the LAN Access via PPP profile provided by the Access Point. Having done all that, I found that the connection would not complete due to LCP errors, namely thisone:
LCP: timeout sending Config-Requests : (date and time)
Deciding that the Access Point, being a fairly dumb device (no disrespect intended), would need to be involved in as little config negotiation as possible, I set about editing the /etc/ppp/options file. Presto! I was able to get this to work. Here is my edited file.
As I said at the outset, I am very new to OS X, and also to Unix generally, so the above may not be entirely optimal -- for example, the mru and mtu settings could be better tuned for this type of connection. However, I thought I would share my first "success" with OS X with the wider community. Comments welcome.
[robg adds: I believe all of the functionality of the old Bluetooth Serial Utility has been replaced by the Devices tab of the Bluetooth System Preferences panel (which now includes a Serial Ports button). However, I didn't use the prior program extensively, so that may not be correct.]
I had an old Linksys WRT54GS router that I wasn't using, and because of the way my house is set up, I needed to put my AirPort Extreme Base Station somewhat far from my home office. This was a problem for two reasons: first, I had a relatively weak signal in my office, and second, because I have a network attached storage system and an Ethernet-based printer in my office that I'd wanted to keep there. I knew that the AirPort Express would accommodate this setup, but since I already had the Linksys -- which doesn't have an audio out or a USB port, like the Express, but which does have four ethernet ports -- I thought it was worth trying.
There are tons of tutorials online for using the Linksys as a Base Station, with the AirPort Express as the repeater/secondary access point. (The protocol for this is called WDS. Apple's routers support it; the Linksys does as well. Others may, as well -- but Netgear doesn't, and apparently can't.) I couldn't find any decent tutorials for reversing the process, with the Linksys as slave to an AirPort.
This is a little complicated, and might require some trial and error, but here are the basic steps.
[robg adds: Somewhat obviously, I haven't tested this one. The following instructions are detailed, and may be overly so for experienced users. However, those who are trying to figure it out for the first time may appreciate the detail. Hopefully I didn't introduce any errors while formatting the article.]
I pretty much always have my home file server mounted via samba (automount/dynamic) on my laptop. The problem is that samba and other network shares usually don't play nice after a sleep, causing me to manually remount the shares. This is especially the case when my ip changes. My solution is to use the sleepwatcher daemon (download) to run commands just before sleep and after wake.
By unmounting your network shares just before sleep, your system won't have to deal with lost connections when it wakes up. Additionally, when your system wakes up, the sleepwatcher daemon will run your wakeup script, which can remount your network shares.
Here are the steps:
Make a shell script in your home directory named .sleep. I just unmount my network mounts in this script. Make sure you chmod it to at least 700; 755 is OK, too. Here's the script:
Make a shell script in your home directory named .wakup. Since this script might run before the network comes back up, I use a trick to pipe the command to a backgrounded bash prompt with a sleep 10 command. chmod this one to 700 or 755 as well: