Configure certain per-machine settings typically configured in the System Preferences application.
The systemsetup command requires at least "admin" privileges to run.
Syntax
systemsetup [-getdate] [-setdate mm:dd:yy] [-gettime] [-settime hh:mm:ss]
[-gettimezone] [-listtimezones] [-settimezone timezone]
[-getusingnetworktime] [-setusingnetworktime on | off]
[-getnetworktimeserver] [-setnetworktimeserver timeserver]
[-getsleep] [-setsleep minutes] [-getcomputersleep]
[-setcomputersleep minutes] [-getdisplaysleep]
[-setdisplaysleep minutes] [-getharddisksleep]
[-setharddisksleep minutes] [-getwakeonmodem]
[-setwakeonmodem on | off] [-getwakeonnetworkaccess]
[-setwakeonnetworkaccess on | off] [-getrestartpowerfailure]
[-setrestartpowerfailure on | off] [-getrestartfreeze]
[-setrestartfreeze on | off]
[-getallowpowerbuttontosleepcomputer]
[-setallowpowerbuttontosleepcomputer on | off]
[-getremotelogin] [-setremotelogin on | off]
[-getremoteappleevents] [-setremoteappleevents on | off]
[-getcomputername] [-setcomputername computername]
[-getstartupdisk] [-liststartupdisks] [-setstartupdisk path]
[-getwaitforstartupafterpowerfailure]
[-setwaitforstartupafterpowerfailure value]
[-getdisablekeyboardwhenenclosurelockisengaged]
[-setdisablekeyboardwhenenclosurelockisengaged yes | no]
[-getkernelbootarchitecturesetting]
[-setkernelbootarchitecture i386 | x86_64 | default]
[-version] [-help] [-printCommands]
Key:
-getdate
Display the current date.
-setdate mm:dd:yy
Set the current month, day, and year.
-gettime
Display the current time in 24-hour format.
-settime hh:mm:ss
Set the current time. The provided time argument should be in 24-hour format.
-gettimezone
Display current time zone.
-listtimezones
List all time zones supported by this machine.
-settimezone timezone
Set the local time zone.
Use "-listtimezones" to list valid timezone arguments.
-getusingnetworktime
Display whether network time is on or off.
-setusingnetworktime on | off
Set whether using network time is on or off.
-getnetworktimeserver
Display the currently set network time server.
-setnetworktimeserver timeserver
Designate a network time server.
Enter the IP address or DNS name for the network time server.
-getsleep
Display amount of idle time until machine sleeps.
-setsleep minutes
Set amount of idle time until computer sleeps.
Specify "Never" or "Off" for computers that should never sleep.
Important: if you set the system to sleep, you will not be able to administer the
server remotely while it is sleeping.
-getcomputersleep
Display amount of idle time until computer sleeps.
-setcomputersleep minutes
Set amount of idle time until computer sleeps. Specify "Never" or "Off" for never.
-getdisplaysleep
Display amount of idle time until display sleeps.
-setdisplaysleep minutes
Set amount of idle time until display sleeps. Specify "Never" or "Off" for never.
-getharddisksleep
Display amount of idle time until hard disk sleeps. Specify "Never" or "Off" for never.
-setharddisksleep minutes
Set amount of idle time until hard disk sleeps. Specify "Never" or "Off" for never.
-getwakeonmodem
Display whether wake on modem is on or off.
-setwakeonmodem on | off
Use this command to specify whether or not the server will wake
from sleep when modem activity is detected.
-getwakeonnetworkaccess
Display whether wake on network access is on or off.
-setwakeonnetworkaccess on | off
Use this command to specify whether the server wakes from sleep
when a network admin packet is sent to it.
-getrestartpowerfailure
Display whether restart on power failure is on or off.
-setrestartpowerfailure on | off
Specify whether the server should automatically restart after a power failure.
-getrestartfreeze
Display whether restart on freeze is on or off.
-setrestartfreeze on | off
Specify whether the server should restart automatically after the system freezes.
-getallowpowerbuttontosleepcomputer
Enable or disable whether the power button can sleep the computer.
-setallowpowerbuttontosleepcomputer on | off
Enable or disable whether the power button can sleep the computer.
-getremotelogin
Displays whether remote login (SSH) is on or off.
-setremotelogin [-f] on | off
Set remote login (SSH) to either on or off.
Important If you turn off remote login, you won't be able to administer the server
using remote command line tools and SSH. To turn remote login back on, you'll need
to connect a monitor and keyboard to the server to administer it locally.
Use "setremotelogin -f off" to suppress prompting when turning remote login off.
-getremoteappleevents
Display whether remote apple events are on or off.
-setremoteappleevents on | off
Set whether the server responds to events sent by other computers (such as AppleScripts).
-getcomputername
Display computer name.
-setcomputername computername
Sets computer name to computername. This name is used by AFP.
-getlocalsubnetname
Display local subnet name.
-setlocalsubnetname name
Set local subnet name to name.
-getstartupdisk
Display current startup disk.
-liststartupdisks
List all valid startup disks on this computer.
-setstartupdisk path
Set current startup disk to the indicated path. Valid arguments
can be listed using "-liststartupdisks."
-getwaitforstartupafterpowerfailure
Get the number of seconds after which the computer will start up
after a power failure.
-setwaitforstartupafterpowerfailure seconds
Set the number of seconds after which the computer will start up
after a power failure. The seconds value must be a multiple of 30 seconds.
-getdisablekeyboardwhenenclosurelockisengaged
Get whether or not the keyboard should be disabled when the X
Serve enclosure lock is engaged.
-setdisablekeyboardwhenenclosurelockisengaged yes | no
Set whether or not the keyboard should be disabled when the X
Serve enclosure lock is engaged.
-getkernelbootarchitecturesetting
Gets the Kernel Architecture setting from the com.apple.Boot.plist.
-setkernelbootarchitecture i386 | x86_64 | default
Set the kernel to boot in 32 or 64 bit mode on next boot. default
removes the setting.
-version
Displays version of systemsetup tool.
-help
Displays a list of all the commands available in the System Setup
Tool, with explanatory information.
-printCommands
Displays a list of systemsetup commands with no detail.
Files: /usr/sbin/systemsetup
Examples
$ sudo systemsetup -getcomputername
Set the date/time:
$ sudo systemsetup -setdate 12:31:17
$ sudo systemsetup -settime 16:20:00
List the Available Timezones:
$ sudo systemsetup -listtimezones
$ sudo systemsetup -settimezone US/Pacific
$ sudo systemsetup -setnetworktimeserver time.apple.com
Alternatively set the time zone automatically using current location
$ sudo defaults write /Library/Preferences/com.apple.timezone.auto.plist Active -bool false
DIsplay the restart@system freeze feature, by default this is on:
$ sudo systemsetup -getrestartfreeze
Turn the restart@system freeze feature off, useful for debugging:
sudo systemsetup -setrestartfreeze off
“Some old wounds never truly heal, and bleed again at the slightest word” - George R.R. Martin
Related macOS commands:
networksetup - Configuration tool for network settings