← FAQ

As FAQ estão escritas em inglês e neerlandês; são apresentadas em inglês.

FAQ

Console and console commands

FAQ › EUZOS Desktop › Console · Nederlands

What is it?

The console is the text screen of the EUZOS kernel with its shell (the > prompt). Everything the kernel prints goes to the serial port and to the screen at the same time (kernel/src/console.rs), and into the log. The same shell can be reached in four ways:

  • on the screen of the PC itself (after boot, or with Ctrl+Alt+F1 / Ctrl+Alt+T from the login screen or desktop);
  • in the Terminal app on the desktop (kernel/src/terminal.rs): a window with the same console and the same shell;
  • on the serial port (Ctrl+T switches between console and graphical screen there);
  • over SSH (kernel/src/net/sshd.rs, port 22), interactively or as ssh <pc> '<command>'.

Both editions have the console; EUZOS Server has no desktop, so there it is the main screen (see Server console).

How do I…?

How do I open the console?

From the login screen or the desktop press Ctrl+Alt+F1 or Ctrl+Alt+T; the same keys (or screen back) bring the graphical screen back. screen console does the same from the shell. You stay logged in. screen off instead closes the graphical screen and logs the profile out. On the serial port, Ctrl+T toggles. On the desktop the Terminal app opens the same shell in a window (close it with the title-bar button or Alt+F4; logout closes it).

How do I make the PC always start in the console?

Put console as the first word in \EOS\FW\SCREEN.TXT on the boot volume (the old name SCHERM.TXT is still read). Then there is no boot screen and no login screen after boot. A panic or a reboot always shows the console.

How do I find a command?

Type help. It lists the commands of the edition you are running. A few diagnostic subcommands are left out of help, such as perf yt, perf play, perf set, net window/net ack (see the A–Z table below). The legacy Dutch names are never in help. Typing a command with wrong arguments usually prints a usage: line.

How do I repeat an earlier command?

Arrow up / arrow down walk through the history. The shell keeps the last 50 commands (HISTORY_MAX); a line equal to the previous one is not stored twice. SSH sessions have their own history of the same size.

Why is the console split into two panes?

On a wide screen (at least 135 columns at the console's text size, so 1024x768 and up; 800x600 stays one pane) the console has two panes below the header (the logo, the name with the motto, and "v13 · x86-64" with the address and uptime on the right):

  • Left: input. The prompt and the line you type at the bottom; above it the commands of this session, each with its time (newest at the bottom). Arrow up/down still walk through the history; a click or tap on a command puts it on the prompt line (not run). The pane is about a third of the width (40 to 60 columns).
  • Right: output. What the commands print and every other console line (network, SSH, notices). Each command's output starts with a dim line -- 14:03:12 > <command> ---; when lines from elsewhere come in between, the rest of the command's output gets a (continued) line. PgUp/PgDn (also with Shift) or the mouse wheel scroll the output pane back, Home goes to the oldest line, End back to the bottom (the divider is yellow while scrolled back). A new command jumps back to the bottom.

Only the screen changes: the serial port, log, the Terminal app and SSH get the same text as before (no split over SSH). The server's text installer and the graphical screens are unchanged.

Why do I see asterisks when I type a Wi-Fi password?

The shell recognises secret arguments and echoes them as *:

  • the password of wifi connect <name> <password> and wifi remember <name> <password> (also with an adapter word: wifi usb connect …);
  • the pairing key in --pair=<key> (legacy spelling --koppel=) of install;
  • a line asked for by a secret prompt (for example the password of mail imap …): "type it in the pc's console; Enter without text aborts". A secret prompt cannot be answered over SSH.

Lines with a secret are not stored in the history, are written to the log and to [ssh] lines as **** (crate::redact), and are wiped from memory after use.

What happens to the history when I log out?

On logout (profile::clear_user) the kernel calls wipe_shell(): the shell history and the current line are overwritten and emptied (also the commands in the console's input pane, console::wipe_history), a pending secret prompt is dropped, and the Terminal's scrollback is cleared.

Why does a command say "not available"?

The console follows a policy (kernel/src/environment.rs, libs/profile/src/console.rs):

  • In a test build every command is allowed, unless the logged-in user's signed profile has an admin policy; then exactly that policy applies.
  • In a production build (make … EUZOS_ENV=production, Cargo feature production):
    • without a logged-in session only help, reboot, poweroff, screen login, screen back, and battery, date, mem without arguments are allowed;
    • the admin commands (showing the console/Terminal, sshd, log, profile/environment, and changing ports with ports … on|off, see Ports) need a signed policy in the profile (key beheer=, values console, sshd, log, profiel, ports; lokaal counts as profiel), and in a production build only from a production profile signed with the built-in production key. The admin sets this on the profile server; the user cannot.
  • On EUZOS Server in a production build nobody logs in; the console may only run the harmless commands above plus workplace (status, setup, now), packages, installer [text], ip, dhcp, ping, dns, ps, log [n], pci, usb [hid [all|fields]], disks, network and firewall (view only); each with exactly these arguments and no others.

The messages are: "'<name>' is not available (<build> build, no signed policy that allows it)" or "this command needs a logged-in session (production build); …".

How do I use SSH?

Put the allowed public keys (OpenSSH lines, ed25519 only) in \EOS\FW\AUTHKEYS.TXT. With that file present, sshd starts by itself once the network has an address (unless \EOS\FW\SSHD.TXT says off; legacy uit). Then:

  • ssh <pc> for an interactive shell (arrows work; exit or logout ends the session);
  • ssh <pc> '<command>' to run one command and get its output;
  • ssh <pc> 'put EOS/<path>' < file to write a file in \EOS\ on the boot volume (not the committed kernel KX64.ELF; that is what commit is for);
  • ssh <pc> 'apps receive' < X.APP to receive a signed app package;
  • ssh <pc> 'package receive <name>' < X.PAK to receive a Linux app package.

sshd itself cannot be controlled over SSH. Every SSH login shows a line in the log and a toast on the screen, and a label in the top bar while a session is open. On EUZOS Server sshd only runs in a test build with dev-ssh=yes (legacy ontwikkel-ssh=ja) in WORKPLC.TXT; a production server has no SSH (see Network and firewall).

Details

  • Shell loop. The shell runs in kernel/src/main.rs (the loop after boot) at high priority, so the desktop stays responsive. Keys from the keyboard, the on-screen keyboard (console_keyboard.rs, shown automatically on a tablet without keyboard) and the Terminal all go to the same line. A character outside ASCII goes to the graphical screen if one is visible. Each finished line goes through environment::shell_allowed(policy_line(cmd)) and then run_command.
  • Command names. command_name maps a legacy Dutch command name to its English one. policy_line does the reverse for the policy check, because the policy in euzos_profile::console still knows the commands by their old Dutch names (scherm inlog, werkplek nu, schijven, …).
  • Network commands. ip, dhcp, ping, dns, http, e1000, rtl8168, bcm and net answer "no network adapter active" when there is no adapter.
  • Edition. Commands of the other edition are not in the kernel; the server answers "<name>: not in EUZOS Server, only in EUZOS Desktop", the desktop answers "workplace/packages: only in EUZOS Server".
  • SSH execution. ssh <pc> '<cmd>' runs the command through run_command with the console output mirrored (console::mirror_start / mirror_take); log is returned directly. Output is capped at 112 KiB ("[... output truncated after 112 KiB]"). try and reboot over SSH reply first and reboot afterwards.
  • Terminal. The Terminal window keeps a scrollback of everything the console writes, redraws live (a thread checks for changes), and keeps Page Up/Down, Home and End for paging. terminal::terminal_allowed uses the same rule as showing the console (environment::console_allowed).

Reference

Console commands (A–Z)

Edition: both = Desktop and Server; D = Desktop only; S = Server only; test = only in a test build; x86 = only on x86-64.

CommandArgumentsEditionWhat it doesDetails
acpi–bothSCI, GPEs, EC events (_Qxx, Notify) and the lid stateDiagnostics
ahci[identify <port> | read <port> <lba> [n] | unlock <port> [WIPE-<serial>] | lock <port> | writetest <port> <lba> | wipe <port> [--thorough] [WIPE-<serial> WIPE-ALL] | wipelock <port>]both, x86SATA controller: ports, IDENTIFY, read sectors; unlock for writing until reboot (never the boot disk); securely wipe a whole internal disk; remove the temporary wipe password after an interrupted wipeStorage
aml[<path> | log]bothACPI bytecode: summary, run an object (e.g. aml \_SB.PCI0.SDHC._STA), logDiagnostics
apps[list] | catalog <name> | install <name> | install <https://…/NAME.APP> | load <name> | check <name> | delete <name> | trialfetch <url> [from]boththe app store: installed apps in apps/ on partition 2, the profile server's catalogue, install, verify, delete; trialfetch only tries the HTTPS download (size, time, SHA-256, resume from byte from) and writes nothingDesktop and apps
battery[read | ec]bothbattery and charger (ACPI): charge, time, health; ec = EC bytesDiagnostics
bcm–bothregisters and counters of a Broadcom BCM5717–5720 adapterNetwork
browser<url> | new [url] | debug on|offDa web page in the own engine (HTML and CSS, no JavaScript); new: a new window; debug: frame timings in the logBrowser
browserfeedbacktest [small|large]Dsend a test report to the "Report a problem" endpointBrowser
camera[photo [n] [mjpeg|yuyv] [WxH] | test [microphone|off]]D (test: test)camera state; one frame as base64 lines; open/close the camera or microphone test windowCamera
chipset–bothstate of the PCIe ports (Intel chipset with RCBA)Diagnostics
chromium[status] | open <url> | stop | trace on|offDChromium: state, open a URL in a Chromium tab, stop (wipes the profile in RAM), DevTools-protocol trace (trace: x86)Browser
cmos–bothall CMOS bytes and the reboot setting (RESET.TXT)Diagnostics
commit–boththe trial kernel becomes the committed kernel (\EOS\KX64.ELF)Boot
counter[s] | state | busy [s]bothtest thread: count s seconds (default 30), show the state, or compute without pausing (needs a preemptive timer)Diagnostics
date[ntp]bothdate and time (UTC); ntp: fetch the time from the network againDiagnostics
dhcp[renew] [adapter]bothrequest an address again, or extend the leaseNetwork
disks–bothall USB storage (partitions, labels, boot stick, possible target) and internal SATA/NVMe disks (read only)Installer
dns<name> [server[:port]]bothlook up a nameNetwork
drivers[text | send | on | off | forget | missing [on | off]]bothdevices without a driver; report them to the profile server (DriverEnricher); missing: counts of hardware without a driver, the switch and what is sentDiagnostics
e1000–bothregisters and counters of the Intel Ethernet adapterNetwork
environment[sbx|prod]bothshow or set the default environment (in PROFILE.TXT, after a reboot)Login
explorer[scan | ls <storage> [dir/sub] | test <storage> | mine [test] | open | save-test | eject <storage>]Dthe explorer's USB storage and "My files" (hidden aliases trial, save-trial)Explorer
fetch<https://…/NAME> <path> | manifest <url> [verify]bothput a file on the boot volume over HTTPS, only with a valid signature (NAME.sig); show a release's signed MANIFEST.TXT, verify also checks all files (hidden alias check)Boot
firewall[open|close <rule>]Sthe inbound firewall; changing from the console only in a test buildServer network and firewall
help–boththe list of commandsthis page
http<address/path>bothfetch a web page over EUZOS's own TCP; https:// with its own TLS 1.3Network
i2c[scan <n> | read <n> <addr> <reg> [count]]bothI2C controllers; search addresses (read only)Input
input[start | hid [all|fields] | gpio | ps2 [rescan|mouse|absolute] | follow [s] | touch [follow [s]] | touchpad [follow [s]|flip x|y] | keyboard [yes|no|auto]]bothmouse, touchpad, touchscreen and keyboard diagnosticsInput
install<url> <disk> [--trial] [--wifi] [WIPE-<MiB>-<disk>] [WIPE-ALL]botha new EUZOS stick from a signed MANIFEST.TXTInstaller
install<url>|stick a<port>|n<nr> [--trial] [--thorough] [--wifi] [--no-wifi] [--pair=<key>] [WIPE-<serial> WIPE-ALL]both, x86EUZOS on the internal disk (a = SATA, n = NVMe; stick = the release on the boot stick itself): fetch, securely wipe the whole disk, install, read backInstaller
installer[url]Dthe graphical installerInstaller
installer[text]Sthe setup choice screen; text: the text installer in the consoleServer installer
ip–bothaddress, gateway, DNS and counters per adapter; TCP statisticsNetwork
kill<id>both, x86stop a process (id from ps)Diagnostics
linuxtraceoff|errors|allboth, x86system calls of Linux programs in the logDiagnostics
log[n]boththe last n lines of the log (default 30; over SSH everything)this page
logout–Dwipe this PC's profile, log out at the profile server, back to the login screenLogin
mailimap <server>[:port] <user> [smtp-server[:port]] | send <smtp-server>[:port] <user> <to> | test <server>[:port]DIMAP/SMTP test from the console; the password is asked for afterwardsMail
mem[processes]bothmemory, heap, threads and processes; processes (x86): RAM, CPU time and kind per processDiagnostics
microsoft[status | login | again <id> | forget <id> | graph <path> | imap <id>]Dthe shared Microsoft session (accounts, Graph test, IMAP/SMTP token)Mail
mobile[usb | connect | disconnect | on | off | when auto|never|always | roaming on|off | apn auto|<apn> | priority <a,b,c> | usage [clear]]Dthe mobile network (MBIM modem): modem, SIM, registration, signal, IP, countersNetwork
netdiag | stat [reset] | log [n] | sec [n] | arp | window [KiB] | ack [N]bothnetwork diagnostics: registers, throughput per layer, events, frames per second, ARP table, SSH TCP window, TCP ack frequencyNetwork
network[<adapter> dhcp | <adapter> static <ip>/<prefix> <gateway|-> <dns1> [<dns2>] | external <address>|none]Sfixed address per adapter (NETWORK.TXT), external address behind NATServer network and firewall
nvme[read <nr> <sector> [n] | speed <nr> [MiB]]both, x86NVMe SSD: controller, Identify, sectors in hex, read speed (read only)Storage
offline[wipe]Dthe offline-login lockers on this PC; wipe deletes themLogin
package[list] | load <name> | remove <name> | content <name> [dir] | start <name> <program> [arguments]both, x86Linux app packages with long names (glibc apps, Chromium); receive only over SSHDiagnostics
packages–Sthe server packages and their state (on Desktop: "only in EUZOS Server")Packages
pci–bothall PCI devices, network and Wi-Fi chips markedDiagnostics
pckey[create]Dthis PC's device key (for registering at the profile server)Login
perfvideo [s] | start | yt | net on|off | play | set priority|app|grid|copy on|offboth (yt, net, play: D, x86)measurements: video frames, sound and waiting times; Chromium start; player diagnostics; scheduler switchesDiagnostics
ping<address> [n]bothICMP echo (default 4, at most 100)Network
poweroff–bothpower the PC off (ACPI S5) after the same clean steps as rebootDiagnostics
privacy–Dwho is using the camera or the microphoneCamera
process<hello|counter|fault|cli|wx|leak|fpu|stack> [n]both, x86built-in test program in ring 3 (n = 1..4 at once)Diagnostics
profile[sandbox | production | local [key] | private off|on]bothshow or choose the profile server (PROFILE.TXT); private off: only "Work or school" on the login screenLogin
profiledir[info | usage | list [path] | read <path> | stat <path> | write <path> <text> | mkdir <path> | mkdirs <path> | delete <path> | deltree <path> | rename <from> <to> | copy <from> <to> | data | test]boththe encrypted profile directory of the logged-in userStorage
ps–bothkernel threads and their stateDiagnostics
reboot–bothreboot (emergency: hold Ctrl+Alt+Esc for 3 s); every step on the screen, the last one in CMOSDiagnostics
rtl8168–bothregisters, PHY, rings and counters of the Realtek RTL8111/8168Network
run[+jit] [+camera] [+mic] <name> [arguments]both, x86start \EOS\BIN\<NAME>.ELFDiagnostics
screenlogin | off | console | back | desktop [business|private] [<language>] | welcome | theme [dark|light|automatic] | lock [lock|screensaver [logo|aurora|stars|clock]|wake <s>] | photo [part N]; test build: app <name> | tap <x> <y> | wheel <steps> | finger tap|long|swipe|pinch … | type <text>D (Server: answers that it has only the console)the graphical screens: login screen, console and back, sample desktop, welcome panel, theme, screen lock, screenshot; remote test inputLogin, Screen lock
sdio–Dswitch the SD/SDIO controller on (_STA, _PS0) and identify the cardNetwork
serveradmin[list | <server> <action> [arg]]Dstart the Server Admin app (logged in as admin; apps install srvadmin first)Server Admin
smp[on | boot on|off]both, x86the processor cores (on by default); on: start the other cores now; boot off: one core from the next boot on; boot on: back to the default (\EOS\FW\SMP.TXT)Diagnostics
sound[tone [hz] [ms] | volume [0-100] | mute | tick on|off | boot [on|off|<variant>|play] | capture [ms] | alsa | stop | reset]D, x86HD Audio: controller, codec, path; test tone, volume, boot sound, recording, ALSA streams (hidden aliases click, again)Sound
sshd[start | stop | status]boththe SSH server on port 22this page
stick[hash <path> | wipe <path>]boththe boot volume (stick or internal ESP): device and kernel files; SHA-256 of a file; delete a file (only in \EOS\; hidden alias delete)Boot
storage[plan | create CONFIRM-<serial> [quota=<GiB>] | cleanup]boththe disk layout and the profiles partitionStorage
try–bothboot the trial kernel (\EOS\KX64TRY.ELF) onceBoot
usb[hid [all|fields]]bothall USB devices; hid: USB pointers in detailDiagnostics
usbports–bothraw state of every USB portDiagnostics
vault[list | delete <kind>]Dthe user's encrypted secrets on the profile server (without content)Storage
wifi[on | status | scan | connect <name> [password] | disconnect | remember <name> [password] | forget]; adapter prefix usb/stick | internal/builtin; choose usb|internal|autoDWi-Fi: switch on and operate the built-in chip or a USB stickNetwork
workplace[status | setup [name] | now]Sthe workplace server role: state, set up, sign in now and fill the cache (on Desktop: "only in EUZOS Server")Packages

SSH-only verbs (handled in net::sshd before run_command):

VerbWhat it does
put EOS/<path> (data on stdin)write a file in \EOS\ on the boot volume (not KX64.ELF)
apps receive (data on stdin)receive a signed app package into apps/ on partition 2 (x86)
package receive <name> (data on stdin)receive a Linux app package (x86)
exit, logout (interactive)end the SSH session (so logout over interactive SSH does not log the PC out)

Since 27-10-2026 EUZOS writes English config file names, keys, values and confirmation words (for example WIPE-…, environment= in PROFILE.TXT); the old Dutch names (marked legacy here) are still read and accepted (docs/ENGLISH.md).

Legacy Dutch command names

The old Dutch names (before 27-10-2026) are still accepted as hidden aliases for one release (LEGACY_COMMANDS in kernel/src/main.rs); they are not in help.

OldNewOldNew
pakketten, pakket-lijstpackagesprofielprofile
pakketpackageomgevingenvironment
werkplekworkplaceverkennerexplorer
installeerinstallkluisvault
uitzettenpoweroffprestatieperf
herstartreboothaalfetch
afmelden, uitloggenlogoutdatumdate
schijvendisksprocesprocess
opslagstoragetellercounter
profielmapprofiledirlinuxspoorlinuxtrace
batterijbatterynetwerknetwork
invoerinputusbpoortenusbports
mobielmobilepcsleutelpckey
geluidsoundschermscreen

Dutch subcommand aliases the code still accepts (examples, per command): camera foto, camera test uit|microfoon; screen inlog|terug| welkom|foto|thema|slot|tik|wiel|vinger|typ|uit; screen lock vergrendel| wakker; dhcp vernieuw; counter stand|druk; net venster; mem processen; linuxtrace uit|fouten|alles; installer tekst (Server); battery lees; nvme lees|snelheid; ahci lees|ontgrendel|vergrendel| schrijftest|wis|wisslot and --grondig; install --proef, --zonder-wifi, --koppel=; apps lijst|catalogus|installeer|laad| controleer|wis|proefhaal; package lijst|laad|ontvang|weg|inhoud; perf speel|zet|voorrang|raster|kopie and aan|uit; sound toon|demp| tikje|opstart|opname|opnieuw; drivers tekst|stuur|aan|uit|vergeet; explorer proef|mijn|opslaan-proef|uitwerpen; fetch manifest … controleer; input … alles|velden|opnieuw|muis|absoluut|volg|aanraak|omdraaien| toetsenbord, input keyboard ja|nee; usb hid alles|velden; microsoft inloggen|opnieuw|vergeet; mobile verbruik [wis]; network … geen; offline wis; pckey maak; profile prive|privé; environment productie; screen desktop zakelijk|prive; smp aan, smp opstart aan|uit; stick wis (and stick delete); storage maak|opruimen; vault lijst|wis; wifi kies|verbind|verbreek|vergeet|onthoud|aan, adapter words intern, ingebouwd; workplace inrichten|nu; chromium spoor; browser nieuw, browser debug aan|uit; firewall sluit; process names hallo, teller, fout, lek; SSH apps ontvang, pakket ontvang; screen app bestanden|instellingen|profiel; screen lock screensaver sterren|klok. English aliases from older help texts: stick delete, fetch manifest … check, sound click, sound again, explorer trial, explorer save-trial. Typed confirmation words: WIS-<serial>, WIS-<MiB>-<disk>, ALLES-WISSEN, BEVESTIG-<serial>.

Functions and modules

Function / moduleRole
kernel::console (console.rs)text output to serial port and framebuffer, log, colors, mirror for SSH (mirror_start, mirror_take), log_text
kernel::console::{shell_start, echo, prompt, command_begin, command_end, scroll, history_at}the two panes: the shell's echo on the prompt line, a command's header and history entry, scrolling back, a click on the history
euzos_console (libs/console)the panes' layout without a screen: widths, output store and scrollback view, history rows, prompt line, header (make console-test)
kernel::console_keyboardthe on-screen keyboard in the text console; also the click on the history pane and the mouse wheel
kernel::terminalthe Terminal app: scrollback, live redraw, terminal_allowed
kernel::run_command (main.rs)the dispatcher: one match over every command name
kernel::command_name, LEGACY_COMMANDSlegacy Dutch name → English name
kernel::policy_lineshell line in the old Dutch form, for the policy check
kernel::redact, in_secret_arg, secret_index, PAIR_FLAGShide Wi-Fi passwords and --pair= keys in echo, history, log and [ssh] lines
kernel::ask_secreta secret prompt (next line as asterisks, not in history or log)
kernel::wipe_shellon logout: wipe the shell history and line
kernel::environment::{shell_allowed, console_allowed, admin_allowed, set_policy, clear_policy, PRODUCTION}the console policy of the build and the signed profile
euzos_profile::console::{Admin, Policy, allowed, line_allowed, allowed_without_session, allowed_on_server, policy_for_build, admin_of}the policy rules themselves (unit-tested)
kernel::net::sshd::{command, exec, run_capture, role_allows}the SSH server, SSH-only verbs, captured command output
kernel::screen::{command, toggle_console}screen …, Ctrl+Alt+F1/T
kernel::boot_screenreads SCREEN.TXT (console)

Config files

File (\EOS\FW\)Key / contentEffect
SCREEN.TXT (legacy SCHERM.TXT)first word consoleno boot screen and no login screen; the PC stays in the console
AUTHKEYS.TXTOpenSSH lines ssh-ed25519 AAAA… commentallowed SSH keys; present = sshd starts automatically
HOSTKEY.TXT64 hex charactersseed of the ed25519 host key; missing = a temporary key per boot
SSHD.TXToff (legacy uit)do not start sshd automatically
WORKPLC.TXT (Server)dev-ssh=yes (legacy ontwikkel-ssh=ja)allows sshd on a workplace server in a test build
signed profile (from the profile server)beheer=console,sshd,log,profiel,ports,deviceadmin policy for the console (ports: changing ports, Ports; device: the login screen background, Settings › Background)

Protocol messages and formats

  • SSH: port 22, host key and user keys ed25519 only; at most 3 clients at once and 2 per address; a client must authenticate within 30 s; an idle logging-in session is closed after 300 s. Interactive sessions get > prompts and CRLF line endings; exec output is capped at 112 KiB.
  • Policy refusal over SSH: not available (build or policy); sshd over SSH: sshd cannot be controlled from SSH.
  • Log lines: every SSH command appears as [ssh] <command> with secrets replaced by ****.

See also

  • docs/DESKTOP-DESIGN.md ("Console and admin", "Terminal")
  • docs/ENVIRONMENTS.md
  • docs/EDITIONS.md
  • docs/ENGLISH.md (console command names)
  • docs/NETWORK-THROUGHPUT.md
  • Server console