systemsetup

terminalVedle kvanta klasických unixových utilitek přibaluje Apple
k OS X řadu system-specific nástrojů pro použití ve skriptech. Dnes se podíváme na systemsetup, který většinou řeší nastavení ekvivalentní k přepínátkům v několika panelech System Preferences (Energy Saver, Sharing, Date & Time, Startup Disk). Abych čistě jen nevykrádal man stránku , u přepínačů jsem vždy vytvořil screenshot s poznačenými ekvivalencemi. Nadpoloviční většinu z nich pravděpodobně nikdy nepoužijete, ale nachází se tu pár důležitých nastavení (např. snadné zapnutí sshd démona pro vzdálené přihlášení).

Utilitka systemsetup jde na věc velmi přímočaře.
Dokáže zjistit aktuální hodnotu nastavení: systemsetup -getNĚCO,
změnit hodnotu nastavení: systemsetup -setNĚCO hodnota,
v některých případech vylistovat seznam hodnot: systemsetup -listNĚCO.

Seznam všech přepínačů -> systemsetup -printCommands
O něco ukecanější man stránka -> man systemsetup
Jako bonus lehce tupý help -> systemsetup -help

Příklad

Zjistím aktuální časové pásmo, vylistuji všechny možné pásma, změním časové pásmo.

>> systemsetup -gettimezone 
Time Zone: Europe/Prague
>> systemsetup -listtimezones
Africa/Abidjan
Africa/Accra
...
Pacific/Wallis
>> systemsetup -settimezone  America/Jamaica
Set TimeZone: America/Jamaica

Energy Saver

energysaver_prefs

-setcomputersleep <minutes> # "Never" nebo "Off" nikdy neuspávat
-setdisplaysleep <minutes> # "Never" nebo "Off" ...
-setharddisksleep <minutes> # "Never" nebo "Off" ...
-setwakeonnetworkaccess <on off> 
-setallowpowerbuttontosleepcomputer <on off>
-setrestartpowerfailure <on off>

Všechny sleep hodnoty lze nastavit najednou pomocí systemsetup -setsleep . Praktické využití mi však uniká. Pravděpodobně nebudete potřebovat ani buzení Macu modemem -setwakeonmodem on/off

Pokud OS X zatuhne, v některých případech je schopný aspoň sám sebe restartovat. Přepínátko z pref panelu Apple odstranil (asi nevypadalo dobře :-)) a tato funkce je defaultně povolena. Přepnutí -> -setrestartfreeze on/off

Sharing

sharing_prefs

-setcomputername <computername>
-setlocalsubnetname <name>
-setremotelogin <on off>
-setremoteappleevents <on off>

Pro nastavení jmen počítače je asi vhodnější použít nástroj scutil, kde se dá nastavit vedle computer a bonjour jmen i klasický hostname. Spuštění sshd démona pro vzdálené přihlášení (remote login) je ovšem velmi praktická záležitost.

Date & Time

datetime_prefs

-setusingnetworktime <on off>
-setnetworktimeserver <timeserver> # URL
-setdate <mm:dd:yy>
-settime <hh:mm:ss>

Dobré vědět, kolik je zrovna hodin. Nutné vědět, pokud se na čas ptá kerberos.

Timezone

timezone_prefs

-settimezone <timezone>
-listtimezones

Startup Disk

startup_prefs

-setstartupdisk <disk>
-liststartupdisks

Nastavení start-up disku se spíše řeší nástrojem bless, který nabízí mnohem více možností.