XQUARTZ(1)

NAME
Xquartz - X window system server for Mac OSX

SYNOPSIS
Xquartz [ options ] ...

DESCRIPTION
Xquartz is the X window server for Mac OS X provided by Apple. Xquartz runs in parallel with Aqua in rootless mode. In rootless mode, the X window system and Mac OS X share your display. The root window of the X11 display is the size of the screen and contains all the other windows. The X11 root window is not displayed in rootless mode as Mac OS X handles the desktop background.

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

defaults write @bundle_id_prefix@.X11 enable_fake_buttons -boolean true
    Emulates a 3 button mouse using modifier keys. By default, the Command modifier is used to emulate button 2 and Option is used for button 3. Thus, clicking the first mouse button while holding down Command will act like clicking button 2. Holding down Option will simulate button 3.

defaults write @bundle_id_prefix@.X11 fake_button2 modifiers
    Change the modifier keys used to emulate the second mouse button. By default, Command is used to emulate the second button. Any combination of the following modifier names may be used: {l,r,}shift, {l,r,}option, {l,r,}control, {l,r,}command, fn

defaults write @bundle_id_prefix@.X11 fake_button3 modifiers
    Change the modifier keys used to emulate the second mouse button. By default, Command is used to emulate the second button. Any combination of the following modifier names may be used: {l,r,}shift, {l,r,}option, {l,r,}control, {l,r,}command, fn

defaults write @bundle_id_prefix@.X11 fullscreen_hotkeys -boolean true
    Enable OSX hotkeys while in fullscreen

defaults write @bundle_id_prefix@.X11 fullscreen_menu -boolean true
    Show the OSX menu while in fullscreen

defaults write @bundle_id_prefix@.X11 no_quit_alert -boolean true
    Disables the alert dialog displayed when attempting to quit X11.

defaults write @bundle_id_prefix@.X11 no_auth -boolean true
    Stops the X server requiring that clients authenticate themselves when connecting. See Xsecurity(@miscmansuffix@).

defaults write @bundle_id_prefix@.X11 nolisten_tcp -boolean false
    This will tell the server to listen and accept TCP connections. Doing this without enabling xauth is a possible security concern. See Xsecurity(@miscmansuffix@).

defaults write @bundle_id_prefix@.X11 enable_system_beep -boolean false
    Don't use the standard system beep effect for X11 alerts.

defaults write @bundle_id_prefix@.X11 enable_key_equivalents -boolean false
    Disable menu keyboard equivalents while X11 windows are focused.

defaults write @bundle_id_prefix@.X11 depth depth
    Specifies the color bit depth to use. Currently only 15, and 24 color bits per pixel are supported. If not specified, or a value of -1 is specified, defaults to the depth of the main display.

defaults write @bundle_id_prefix@.X11 sync_keymap -boolean true
    Keep the X11 keymap up to date with the OSX system keymap.

defaults write @bundle_id_prefix@.X11 option_sends_alt -boolean true
    The Option key will send Alt_L and Alt_R instead of Mode_switch.

defaults write @bundle_id_prefix@.X11 sync_pasteboard -boolean true
    Enable syncing between the OSX pasteboard and clipboard/primary selection buffers in X11. This option needs to be true for any of the other pasteboard sync options to have an effect.

defaults write @bundle_id_prefix@.X11 sync_pasteboard_to_clipboard -boolean true
    Update the X11 CLIPBOARD when the OSX NSPasteboard is updated.

defaults write @bundle_id_prefix@.X11 sync_pasteboard_to_primary -boolean true
    Update the the X11 PRIMARY buffer when the OSX NSPasteboard is updated.

defaults write @bundle_id_prefix@.X11 sync_clipboard_to_pasteboard -boolean true
    Update the the OSX NSPasteboard when the X11 CLIPBOARD is updated. Note that enabling this option causes the clipboard synchronization to act as a clipboard manager in X11. This makes it impossible to use xclipboard, klipper, or any other such clipboard managers. If you want to use any of these programs, you must disable this option.

defaults write @bundle_id_prefix@.X11 sync_primary_on_select -boolean true
    This option defaults to false and is provided only "for experts." It updates the NSPasteboard whenever a new X11 selection is made (rather than requiring you to hit cmd-c to copy the selection to the NSPasteboard). Since the X11 protocol does not require applications to send notification when they change selection, this might not work in all cases (if you run into this problem, try selecting text in another application first, then selecting the text you want).

defaults write @bundle_id_prefix@.X11 enable_test_extensions -boolean true
    This option defaults to false and is only accessible through the command line. Enable this option to turn on the DEC-XTRAP, RECORD, and XTEST extensions in the server.

defaults write @bundle_id_prefix@.X11 scroll_in_device_direction -boolean true
    This option defaults to false. Enable this option to ensure that X11 scroll events are always in the direction of the device. This overrides the related option in the Mouse/Trackpad section of System Preferences.

OPTIONS

In addition to the normal server options described in the Xserver(1) manual page, Xquartz accepts the following command line switches:

-fakebuttons
    Same as enable_fake_buttons above with value true.

-nofakebuttons
    Same as enable_fake_buttons above with value false.

-fakemouse2 modifiers
    Same as fake_button2 above.

-fakemouse3 modifiers
    Same as fake_button3 above.

-depth depth
    Same as depth above.

LOGGING
XQuartz stores a server log at ~/Library/Logs/X11.@bundle_id_prefix@.log which is analogous to /var/log/Xorg.#.log on systems that use the XFree86 DDX such as Linux, BSD, and Solaris.

In addition to this server log, XQuartz sends messages to syslogd(8) using asl(3). These logs are sent to the @bundle_id_prefix@ facility, and you can watch these logs using the following syslog(1) command:

$ syslog -w -k Facility eq @bundle_id_prefix@

or you can include extra information such as the file, line, and function where the message originated:

$ syslog -w -F '$(Time) $(Sender) <$(Level)> $(File):$(Line) $(Function) :: $(Message)' -k Facility eq @bundle_id_prefix@

By default, XQuartz sets an ASL mask which prevents it from logging messages below the ASL_LEVEL_WARNING level (meaning almost all logging is done strictly to the file referenced above). To force XQuartz to send all log messages to syslogd(8), you can adjust this mask using the following syslog(1) command:

$ syslog -c X11.bin -d

The stdout and stderr messages printed by any process launched by XQuartz will be redirected to this syslog facility with a priority level of ASL_LEVEL_INFO and ASL_LEVEL_NOTICE respectively. In order to see these messages in syslog, you will need to adjust XQuartz's asl mask as above but using -i or -n instead of -d.

SEE ALSO

X(@miscmansuffix@), Xserver(1), xdm(1), xinit(1), syslog(1), syslogd(8)

https://www.xquartz.org/

AUTHORS / HISTORY
X11 was originally ported to Mac OS X Server by John Carmack. Dave Zarzycki used this as the basis of his port of XFree86 4.0 to Darwin 1.0. Torrey T. Lyons improved and integrated this code into the XFree86 Project's mainline for the 4.0.2 release.

The following members of the XonX Team contributed to the following releases (in alphabetical order):

XFree86 4.1.0:
    Rob Braun - Darwin x86 support
    Torrey T. Lyons - Project Lead
    Andreas Monitzer - Cocoa version of XDarwin front end
    Gregory Robert Parker - Original Quartz implementation
    Christoph Pfisterer - Dynamic shared X libraries
    Toshimitsu Tanaka - Japanese localization

XFree86 4.2.0:
    Rob Braun - Darwin x86 support
    Pablo Di Noto - Spanish localization
    Paul Edens - Dutch localization
    Kyunghwan Kim - Korean localization
    Mario Klebsch - Non-US keyboard support
    Torrey T. Lyons - Project Lead
    Andreas Monitzer - German localization
    Patrik Montgomery - Swedish localization
    Greg Parker - Rootless support
    Toshimitsu Tanaka - Japanese localization
    Olivier Verdier - French localization

Code from Apple's X11.app (which was based on XFree86 4.1) was integrated into X.org's XDarwin DDX by Ben Byer for xorg-server-1.2. The XDarwin DDX was renamed Xquartz to more accurately reflect its state (the pure-darwin backend was removed). Jeremy Huddleston took over as project lead and brought the project up to the X.org 1.4 server branch.

Jeremy Huddleston <jeremyhu@apple.com> is the current maintainer.