← FAQ
FAQ

Console en consoleopdrachten

FAQ › EUZOS Desktop › Console · English

Wat is het?

De console is het tekstscherm van de EUZOS-kernel met zijn shell (de prompt > ). Alles wat de kernel afdrukt, gaat tegelijk naar de seriële poort en naar het scherm (kernel/src/console.rs), en in het logboek. Dezelfde shell is op vier manieren bereikbaar:

  • op het scherm van de pc zelf (na het opstarten, of met Ctrl+Alt+F1 / Ctrl+Alt+T vanuit het inlogscherm of het bureaublad);
  • in de app Terminal op het bureaublad (kernel/src/terminal.rs): een venster met dezelfde console en dezelfde shell;
  • op de seriële poort (daar wisselt Ctrl+T tussen console en grafisch scherm);
  • via SSH (kernel/src/net/sshd.rs, poort 22), interactief of als ssh <pc> '<opdracht>'.

Beide edities hebben de console; EUZOS Server heeft geen bureaublad, dus daar is het het hoofdscherm (zie Serverconsole).

Hoe doe ik…?

Hoe open ik de console?

Druk vanuit het inlogscherm of het bureaublad op Ctrl+Alt+F1 of Ctrl+Alt+T; dezelfde toetsen (of screen back) brengen het grafische scherm terug. screen console doet hetzelfde vanuit de shell. Je blijft ingelogd. screen off sluit daarentegen het grafische scherm en meldt het profiel af. Op de seriële poort wisselt Ctrl+T. Op het bureaublad opent de app Terminal dezelfde shell in een venster (sluiten met de knop in de titelbalk of Alt+F4; afmelden sluit hem).

Hoe laat ik de pc altijd in de console starten?

Zet console als eerste woord in \EOS\FW\SCREEN.TXT op het opstartvolume (de oude naam SCHERM.TXT wordt nog gelezen). Dan is er geen opstartscherm en geen inlogscherm na het opstarten. Een panic of een herstart toont altijd de console.

Hoe vind ik een opdracht?

Typ help. Die toont de opdrachten van de editie die draait. Een paar diagnose-subopdrachten staan niet in help, zoals perf yt, perf play, perf set, net window/net ack (zie de A–Z-tabel hieronder). De oude Nederlandse namen staan nooit in help. Een opdracht met verkeerde argumenten toont meestal een regel usage:.

Hoe herhaal ik een eerdere opdracht?

Pijl omhoog / pijl omlaag lopen door de geschiedenis. De shell onthoudt de laatste 50 opdrachten (HISTORY_MAX); een regel die gelijk is aan de vorige wordt niet twee keer bewaard. SSH-sessies hebben een eigen geschiedenis van dezelfde grootte.

Waarom is de console in twee vlakken gesplitst?

Op een breed scherm (minstens 135 kolommen bij de tekstgrootte van de console, dus vanaf 1024x768; 800x600 blijft één vlak) heeft de console onder de kopbalk (het logo, de naam met het motto, en rechts "v13 · x86-64" met het adres en de uptime) twee vlakken:

  • Links: invoer. Onderaan de prompt en de regel die u typt; daarboven de opdrachten van deze sessie, elk met de tijd (de nieuwste onderaan). Pijl omhoog/omlaag lopen nog steeds door de geschiedenis; een klik of tik op een opdracht zet die op de promptregel (zonder uit te voeren). Het vlak is ongeveer een derde van de breedte (40 tot 60 kolommen).
  • Rechts: uitvoer. Wat de opdrachten afdrukken en alle andere consoleregels (netwerk, SSH, meldingen). De uitvoer van elke opdracht begint met een gedimde regel -- 14:03:12 > <opdracht> ---; komen er tussendoor regels van elders, dan krijgt de rest van de uitvoer een regel met (continued). PgUp/PgDn (ook met Shift) of het muiswiel scrollen het uitvoervlak terug, Home gaat naar de oudste regel, End terug naar onderen (de scheidingslijn is geel zolang u teruggescrold bent). Een nieuwe opdracht springt terug naar onderen.

Alleen het scherm verandert: de seriële poort, log, de Terminal-app en SSH krijgen dezelfde tekst als voorheen (geen splitsing via SSH). De tekstinstaller van de server en de grafische schermen zijn ongewijzigd.

Waarom zie ik sterretjes als ik een wifiwachtwoord typ?

De shell herkent geheime argumenten en toont ze als *:

  • het wachtwoord van wifi connect <naam> <wachtwoord> en wifi remember <naam> <wachtwoord> (ook met een adapterwoord ervoor: wifi usb connect …);
  • de koppelsleutel in --pair=<sleutel> (oude schrijfwijze --koppel=) van install;
  • een regel waar een geheime vraag om vraagt (bijvoorbeeld het wachtwoord van mail imap …): "type it in the pc's console; Enter without text aborts". Een geheime vraag kan niet via SSH worden beantwoord.

Regels met een geheim komen niet in de geschiedenis, gaan naar het logboek en naar [ssh]-regels als **** (crate::redact), en worden na gebruik uit het geheugen gewist.

Wat gebeurt er met de geschiedenis als ik afmeld?

Bij afmelden (profile::clear_user) roept de kernel wipe_shell() aan: de geschiedenis van de shell en de huidige regel worden overschreven en geleegd (ook de opdrachten in het invoervlak van de console, console::wipe_history), een openstaande geheime vraag vervalt, en het terugscrolgeheugen van de Terminal wordt gewist.

Waarom zegt een opdracht "not available"?

De console volgt een beleid (kernel/src/environment.rs, libs/profile/src/console.rs):

  • In een testbuild mag elke opdracht, tenzij het ondertekende profiel van de ingelogde gebruiker een beheerbeleid heeft; dan geldt precies dat beleid.
  • In een productiebuild (make … EUZOS_ENV=production, Cargo-feature production):
    • zonder ingelogde sessie mogen alleen help, reboot, poweroff, screen login, screen back, en battery, date, mem zonder argumenten;
    • de beheeropdrachten (de console/Terminal tonen, sshd, log, profile/environment, en poorten wijzigen met ports … on|off, zie Poorten) hebben een ondertekend beleid in het profiel nodig (sleutel beheer=, waarden console, sshd, log, profiel, ports; lokaal telt als profiel), en in een productiebuild alleen uit een productieprofiel dat is ondertekend met de ingebouwde productiesleutel. De beheerder zet dit op de profielserver; de gebruiker kan dat niet.
  • Op EUZOS Server in een productiebuild logt niemand in; de console mag daar alleen de onschuldige opdrachten hierboven plus workplace (status, setup, now), packages, installer [text], ip, dhcp, ping, dns, ps, log [n], pci, usb [hid [all|fields]], disks, network en firewall (alleen bekijken); elk met precies deze argumenten en geen andere.

De meldingen zijn: "'<naam>' is not available (<build> build, no signed policy that allows it)" of "this command needs a logged-in session (production build); …".

Hoe gebruik ik SSH?

Zet de toegestane publieke sleutels (OpenSSH-regels, alleen ed25519) in \EOS\FW\AUTHKEYS.TXT. Met dat bestand start sshd vanzelf zodra het netwerk een adres heeft (tenzij \EOS\FW\SSHD.TXT off zegt; oud uit). Daarna:

  • ssh <pc> voor een interactieve shell (pijltjes werken; exit of logout beëindigt de sessie);
  • ssh <pc> '<opdracht>' om één opdracht uit te voeren en de uitvoer te krijgen;
  • ssh <pc> 'put EOS/<pad>' < bestand om een bestand in \EOS\ op het opstartvolume te schrijven (niet de vastgezette kernel KX64.ELF; daarvoor is commit);
  • ssh <pc> 'apps receive' < X.APP om een ondertekend app-pakket te ontvangen;
  • ssh <pc> 'package receive <naam>' < X.PAK om een pakket met een Linux-app te ontvangen.

sshd zelf is niet via SSH te bedienen. Elke SSH-login geeft een regel in het logboek en een melding op het scherm, en een label in de bovenbalk zolang er een sessie open is. Op EUZOS Server draait sshd alleen in een testbuild met dev-ssh=yes (oud ontwikkel-ssh=ja) in WORKPLC.TXT; een productieserver heeft geen SSH (zie Netwerk en firewall).

Details

  • Shell-lus. De shell draait in kernel/src/main.rs (de lus na het opstarten) met hoge prioriteit, zodat het bureaublad vlot blijft. Toetsen van het toetsenbord, het schermtoetsenbord (console_keyboard.rs, vanzelf zichtbaar op een tablet zonder toetsenbord) en de Terminal gaan allemaal naar dezelfde regel. Een teken buiten ASCII gaat naar het grafische scherm als dat zichtbaar is. Elke afgeronde regel gaat door environment::shell_allowed(policy_line(cmd)) en daarna naar run_command.
  • Opdrachtnamen. command_name zet een oude Nederlandse opdrachtnaam om naar de Engelse. policy_line doet het omgekeerde voor de controle van het beleid, omdat het beleid in euzos_profile::console de opdrachten nog bij hun oude Nederlandse namen kent (scherm inlog, werkplek nu, schijven, …).
  • Netwerkopdrachten. ip, dhcp, ping, dns, http, e1000, rtl8168, bcm en net antwoorden "no network adapter active" als er geen netwerkadapter is.
  • Editie. Opdrachten van de andere editie zitten niet in de kernel; de server antwoordt "<naam>: not in EUZOS Server, only in EUZOS Desktop", het bureaublad antwoordt "workplace/packages: only in EUZOS Server".
  • Uitvoeren via SSH. ssh <pc> '<opdracht>' voert de opdracht uit via run_command terwijl de console-uitvoer wordt meegespiegeld (console::mirror_start / mirror_take); log komt direct terug. De uitvoer is begrensd op 112 KiB ("[... output truncated after 112 KiB]"). try en reboot via SSH antwoorden eerst en herstarten daarna.
  • Terminal. Het Terminal-venster bewaart een terugscrolgeheugen van alles wat de console schrijft, tekent live bij (een thread kijkt naar wijzigingen), en houdt Page Up/Down, Home en End voor het bladeren. terminal::terminal_allowed gebruikt dezelfde regel als het tonen van de console (environment::console_allowed).

Naslag

Consoleopdrachten (A–Z)

Editie: beide = Desktop en Server; D = alleen Desktop; S = alleen Server; test = alleen in een testbuild; x86 = alleen op x86-64.

OpdrachtArgumentenEditieWat hij doetDetails
acpi–beideSCI, GPE's, EC-gebeurtenissen (_Qxx, Notify) en de stand van het dekselDiagnose
ahci[identify <poort> | read <poort> <lba> [n] | unlock <poort> [WIPE-<serienummer>] | lock <poort> | writetest <poort> <lba> | wipe <poort> [--thorough] [WIPE-<serienummer> WIPE-ALL] | wipelock <poort>]beide, x86SATA-controller: poorten, IDENTIFY, sectoren lezen; ontgrendelen voor schrijven tot de herstart (nooit de opstartschijf); een hele interne schijf veilig wissen; het tijdelijke wiswachtwoord weghalen na een onderbroken wisOpslag
aml[<pad> | log]beideACPI-bytecode: samenvatting, een object uitvoeren (bv. aml \_SB.PCI0.SDHC._STA), logboekDiagnose
apps[list] | catalog <naam> | install <naam> | install <https://…/NAAM.APP> | load <naam> | check <naam> | delete <naam> | trialfetch <url> [vanaf]beidede appwinkel: geïnstalleerde apps in apps/ op partitie 2, de catalogus van de profielserver, installeren, controleren, verwijderen; trialfetch probeert alleen de HTTPS-download (grootte, tijd, SHA-256, hervatten vanaf byte vanaf) en schrijft nietsBureaublad en apps
battery[read | ec]beideaccu en lader (ACPI): lading, tijd, conditie; ec = EC-bytesDiagnose
bcm–beideregisters en tellers van een Broadcom BCM5717–5720-adapterNetwerk
browser<url> | new [url] | debug on|offDeen webpagina in de eigen engine (HTML en CSS, geen JavaScript); new: een nieuw venster; debug: tijden per frame in het logboekBrowser
browserfeedbacktest [small|large]Deen testmelding sturen naar het eindpunt van "Probleem melden"Browser
camera[photo [n] [mjpeg|yuyv] [BxH] | test [microphone|off]]D (test: test)stand van de camera; één beeld als base64-regels; het testvenster voor camera of microfoon openen/sluitenCamera
chipset–beidestand van de PCIe-poorten (Intel-chipset met RCBA)Diagnose
chromium[status] | open <url> | stop | trace on|offDChromium: stand, een URL openen in een Chromium-tabblad, stoppen (wist het profiel in RAM), spoor van het DevTools-protocol (trace: x86)Browser
cmos–beidealle CMOS-bytes en de herstartinstelling (RESET.TXT)Diagnose
commit–beidede proefkernel wordt de vastgezette kernel (\EOS\KX64.ELF)Opstarten
counter[s] | state | busy [s]beidetestthread: s seconden tellen (standaard 30), de stand tonen, of rekenen zonder pauze (vereist een onderbrekende timer)Diagnose
date[ntp]beidedatum en tijd (UTC); ntp: de tijd opnieuw van het netwerk halenDiagnose
dhcp[renew] [adapter]beideopnieuw een adres aanvragen, of de lease verlengenNetwerk
disks–beidealle USB-opslag (partities, labels, opstartstick, mogelijk doel) en interne SATA/NVMe-schijven (alleen lezen)Installatieprogramma
dns<naam> [server[:poort]]beideeen naam opzoekenNetwerk
drivers[text | send | on | off | forget | missing [on | off]]beideapparaten zonder driver; ze melden aan de profielserver (DriverEnricher); missing: tellingen van hardware zonder driver, de schakelaar en wat er verstuurd wordtDiagnose
e1000–beideregisters en tellers van de Intel-ethernetadapterNetwerk
environment[sbx|prod]beidede standaardomgeving tonen of instellen (in PROFILE.TXT, na een herstart)Inloggen
explorer[scan | ls <opslag> [map/sub] | test <opslag> | mine [test] | open | save-test | eject <opslag>]Dde USB-opslag van de verkenner en "Mijn bestanden" (verborgen aliassen trial, save-trial)Verkenner
fetch<https://…/NAAM> <pad> | manifest <url> [verify]beideeen bestand via HTTPS op het opstartvolume zetten, alleen met een geldige handtekening (NAAM.sig); het ondertekende MANIFEST.TXT van een release tonen, verify controleert ook alle bestanden (verborgen alias check)Opstarten
firewall[open|close <regel>]Sde inkomende firewall; wijzigen vanaf de console alleen in een testbuildNetwerk en firewall van de server
help–beidede lijst met opdrachtendeze pagina
http<adres/pad>beideeen webpagina ophalen via EUZOS' eigen TCP; https:// met de eigen TLS 1.3Netwerk
i2c[scan <n> | read <n> <adres> <reg> [aantal]]beideI2C-controllers; adressen zoeken (alleen lezen)Invoer
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]]beidediagnose van muis, touchpad, aanraakscherm en toetsenbordInvoer
install<url> <schijf> [--trial] [--wifi] [WIPE-<MiB>-<schijf>] [WIPE-ALL]beideeen nieuwe EUZOS-stick uit een ondertekend MANIFEST.TXTInstallatieprogramma
install<url>|stick a<poort>|n<nr> [--trial] [--thorough] [--wifi] [--no-wifi] [--pair=<sleutel>] [WIPE-<serienummer> WIPE-ALL]beide, x86EUZOS op de interne schijf (a = SATA, n = NVMe; stick = de release op de opstartstick zelf): ophalen, de hele schijf veilig wissen, installeren, teruglezenInstallatieprogramma
installer[url]Dhet grafische installatieprogrammaInstallatieprogramma
installer[text]Shet keuzescherm voor de installatie; text: het tekstinstallatieprogramma in de consoleServerinstallatieprogramma
ip–beideadres, gateway, DNS en tellers per adapter; TCP-statistiekenNetwerk
kill<id>beide, x86een proces stoppen (id uit ps)Diagnose
linuxtraceoff|errors|allbeide, x86systeemaanroepen van Linux-programma's in het logboekDiagnose
log[n]beidede laatste n regels van het logboek (standaard 30; via SSH alles)deze pagina
logout–Dhet profiel van deze pc wissen, afmelden bij de profielserver, terug naar het inlogschermInloggen
mailimap <server>[:poort] <gebruiker> [smtp-server[:poort]] | send <smtp-server>[:poort] <gebruiker> <aan> | test <server>[:poort]DIMAP/SMTP-test vanuit de console; het wachtwoord wordt daarna gevraagdMail
mem[processes]beidegeheugen, heap, threads en processen; processes (x86): RAM, processortijd en soort per procesDiagnose
microsoft[status | login | again <id> | forget <id> | graph <pad> | imap <id>]Dde gedeelde Microsoft-sessie (accounts, Graph-test, token voor IMAP/SMTP)Mail
mobile[usb | connect | disconnect | on | off | when auto|never|always | roaming on|off | apn auto|<apn> | priority <a,b,c> | usage [clear]]Dhet mobiele netwerk (MBIM-modem): modem, simkaart, registratie, signaal, IP, tellersNetwerk
netdiag | stat [reset] | log [n] | sec [n] | arp | window [KiB] | ack [N]beidenetwerkdiagnose: registers, doorvoer per laag, gebeurtenissen, frames per seconde, ARP-tabel, TCP-venster van SSH, hoe vaak TCP bevestigtNetwerk
network[<adapter> dhcp | <adapter> static <ip>/<prefix> <gateway|-> <dns1> [<dns2>] | external <adres>|none]Svast adres per adapter (NETWORK.TXT), extern adres achter NATNetwerk en firewall van de server
nvme[read <nr> <sector> [n] | speed <nr> [MiB]]beide, x86NVMe-SSD: controller, Identify, sectoren in hex, leessnelheid (alleen lezen)Opslag
offline[wipe]Dde offline-kluisjes op deze pc; wipe verwijdert zeInloggen
package[list] | load <naam> | remove <naam> | content <naam> [map] | start <naam> <programma> [argumenten]beide, x86pakketten met Linux-apps met lange namen (glibc-apps, Chromium); receive alleen via SSHDiagnose
packages–Sde serverpakketten en hun stand (op Desktop: "only in EUZOS Server")Pakketten
pci–beidealle PCI-apparaten, netwerk- en wifichips gemarkeerdDiagnose
pckey[create]Dde apparaatsleutel van deze pc (om te registreren bij de profielserver)Inloggen
perfvideo [s] | start | yt | net on|off | play | set priority|app|grid|copy on|offbeide (yt, net, play: D, x86)metingen: videoframes, geluid en wachttijden; start van Chromium; diagnose van de speler; schakelaars van de plannerDiagnose
ping<adres> [n]beideICMP-echo (standaard 4, hoogstens 100)Netwerk
poweroff–beidede pc uitschakelen (ACPI S5) na dezelfde nette stappen als bij herstartenDiagnose
privacy–Dwie de camera of de microfoon gebruiktCamera
process<hello|counter|fault|cli|wx|leak|fpu|stack> [n]beide, x86ingebouwd testprogramma in ring 3 (n = 1..4 tegelijk)Diagnose
profile[sandbox | production | local [sleutel] | private off|on]beidede profielserver tonen of kiezen (PROFILE.TXT); private off: alleen "Werk of school" op het inlogschermInloggen
profiledir[info | usage | list [pad] | read <pad> | stat <pad> | write <pad> <tekst> | mkdir <pad> | mkdirs <pad> | delete <pad> | deltree <pad> | rename <van> <naar> | copy <van> <naar> | data | test]beidede versleutelde profielmap van de ingelogde gebruikerOpslag
ps–beidekernelthreads en hun toestandDiagnose
reboot–beideherstarten (nood: Ctrl+Alt+Esc 3 s vasthouden); elke stap op het scherm, de laatste in CMOSDiagnose
rtl8168–beideregisters, PHY, ringen en tellers van de Realtek RTL8111/8168Netwerk
run[+jit] [+camera] [+mic] <naam> [argumenten]beide, x86\EOS\BIN\<NAAM>.ELF startenDiagnose
screenlogin | off | console | back | desktop [business|private] [<taal>] | welcome | theme [dark|light|automatic] | lock [lock|screensaver [logo|aurora|stars|clock]|wake <s>] | photo [part N]; testbuild: app <naam> | tap <x> <y> | wheel <stappen> | finger tap|long|swipe|pinch … | type <tekst>D (Server: antwoordt dat hij alleen de console heeft)de grafische schermen: inlogscherm, console en terug, voorbeeldbureaublad, welkomstpaneel, thema, schermbeveiliging, schermafbeelding; invoer op afstand voor testsInloggen, Schermbeveiliging
sdio–Dde SD/SDIO-controller aanzetten (_STA, _PS0) en de kaart herkennenNetwerk
serveradmin[list | <server> <actie> [arg]]Dde app Server Admin starten (ingelogd als beheerder; eerst apps install srvadmin)Server Admin
smp[on | boot on|off]beide, x86de processorkernen (standaard aan); on: de andere kernen nu starten; boot off: vanaf de volgende start één kern; boot on: terug naar de standaard (\EOS\FW\SMP.TXT)Diagnose
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, pad; testtoon, volume, opstartgeluid, opname, ALSA-streams (verborgen aliassen click, again)Geluid
sshd[start | stop | status]beidede SSH-server op poort 22deze pagina
stick[hash <pad> | wipe <pad>]beidehet opstartvolume (stick of interne ESP): apparaat en kernelbestanden; SHA-256 van een bestand; een bestand verwijderen (alleen in \EOS\; verborgen alias delete)Opstarten
storage[plan | create CONFIRM-<serienummer> [quota=<GiB>] | cleanup]beidede indeling van de schijf en de profielpartitieOpslag
try–beidede proefkernel (\EOS\KX64TRY.ELF) één keer opstartenOpstarten
usb[hid [all|fields]]beidealle USB-apparaten; hid: USB-aanwijsapparaten in detailDiagnose
usbports–beideruwe stand van elke USB-poortDiagnose
vault[list | delete <soort>]Dde versleutelde geheimen van de gebruiker op de profielserver (zonder inhoud)Opslag
wifi[on | status | scan | connect <naam> [wachtwoord] | disconnect | remember <naam> [wachtwoord] | forget]; adapterwoord vooraan usb/stick | internal/builtin; choose usb|internal|autoDwifi: de ingebouwde chip of een USB-stick aanzetten en bedienenNetwerk
workplace[status | setup [naam] | now]Sde serverrol werkplek: stand, inrichten, nu aanmelden en de cache vullen (op Desktop: "only in EUZOS Server")Pakketten

Werkwoorden die alleen via SSH bestaan (afgehandeld in net::sshd vóór run_command):

WerkwoordWat het doet
put EOS/<pad> (gegevens op stdin)een bestand in \EOS\ op het opstartvolume schrijven (niet KX64.ELF)
apps receive (gegevens op stdin)een ondertekend app-pakket ontvangen in apps/ op partitie 2 (x86)
package receive <naam> (gegevens op stdin)een pakket met een Linux-app ontvangen (x86)
exit, logout (interactief)de SSH-sessie beëindigen (dus logout in een interactieve SSH-sessie meldt de pc niet af)

Sinds 27-10-2026 schrijft EUZOS Engelse namen voor configuratiebestanden, sleutels, waarden en bevestigingswoorden (bijvoorbeeld WIPE-…, environment= in PROFILE.TXT); de oude Nederlandse namen (hier oud genoemd) worden nog gelezen en geaccepteerd (docs/ENGLISH.md).

Oude Nederlandse opdrachtnamen

De oude Nederlandse namen (van vóór 27-10-2026) worden nog één release geaccepteerd als verborgen aliassen (LEGACY_COMMANDS in kernel/src/main.rs); ze staan niet in help.

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

Nederlandse subopdrachten die de code nog accepteert (voorbeelden, per opdracht): 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 en --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 en 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 (en stick delete); storage maak|opruimen; vault lijst|wis; wifi kies|verbind|verbreek|vergeet|onthoud|aan, adapterwoorden intern, ingebouwd; workplace inrichten|nu; chromium spoor; browser nieuw, browser debug aan|uit; firewall sluit; procesnamen hallo, teller, fout, lek; via SSH apps ontvang, pakket ontvang; screen app bestanden|instellingen|profiel; screen lock screensaver sterren|klok. Engelse aliassen uit oudere help-teksten: stick delete, fetch manifest … check, sound click, sound again, explorer trial, explorer save-trial. Getypte bevestigingswoorden: WIS-<serienummer>, WIS-<MiB>-<schijf>, ALLES-WISSEN, BEVESTIG-<serienummer>.

Functies en modules

Functie / moduleRol
kernel::console (console.rs)tekstuitvoer naar seriële poort en framebuffer, logboek, kleuren, spiegel voor SSH (mirror_start, mirror_take), log_text
kernel::console::{shell_start, echo, prompt, command_begin, command_end, scroll, history_at}de twee vlakken: de echo van de shell op de promptregel, kopregel en geschiedenisregel van een opdracht, terugscrollen, een klik op de geschiedenis
euzos_console (libs/console)de indeling van de vlakken zonder scherm: breedtes, uitvoeropslag en terugscrollen, geschiedenisregels, promptregel, kopregel (make console-test)
kernel::console_keyboardhet schermtoetsenbord in de tekstconsole; ook de klik op het geschiedenisvlak en het muiswiel
kernel::terminalde app Terminal: terugscrolgeheugen, live bijtekenen, terminal_allowed
kernel::run_command (main.rs)de verdeler: één match over elke opdrachtnaam
kernel::command_name, LEGACY_COMMANDSoude Nederlandse naam → Engelse naam
kernel::policy_lineshellregel in de oude Nederlandse vorm, voor de controle van het beleid
kernel::redact, in_secret_arg, secret_index, PAIR_FLAGSwifiwachtwoorden en --pair=-sleutels verbergen in echo, geschiedenis, logboek en [ssh]-regels
kernel::ask_secreteen geheime vraag (volgende regel als sterretjes, niet in geschiedenis of logboek)
kernel::wipe_shellbij afmelden: geschiedenis en regel van de shell wissen
kernel::environment::{shell_allowed, console_allowed, admin_allowed, set_policy, clear_policy, PRODUCTION}het consolebeleid van de build en het ondertekende profiel
euzos_profile::console::{Admin, Policy, allowed, line_allowed, allowed_without_session, allowed_on_server, policy_for_build, admin_of}de regels van het beleid zelf (met unittests)
kernel::net::sshd::{command, exec, run_capture, role_allows}de SSH-server, werkwoorden die alleen via SSH bestaan, opgevangen uitvoer van opdrachten
kernel::screen::{command, toggle_console}screen …, Ctrl+Alt+F1/T
kernel::boot_screenleest SCREEN.TXT (console)

Configuratiebestanden

Bestand (\EOS\FW\)Sleutel / inhoudEffect
SCREEN.TXT (oud: SCHERM.TXT)eerste woord consolegeen opstartscherm en geen inlogscherm; de pc blijft in de console
AUTHKEYS.TXTOpenSSH-regels ssh-ed25519 AAAA… commentaartoegestane SSH-sleutels; aanwezig = sshd start vanzelf
HOSTKEY.TXT64 hextekenszaad van de ed25519-hostsleutel; ontbreekt = per opstart een tijdelijke sleutel
SSHD.TXToff (oud uit)sshd niet vanzelf starten
WORKPLC.TXT (Server)dev-ssh=yes (oud ontwikkel-ssh=ja)staat sshd toe op een werkplekserver in een testbuild
ondertekend profiel (van de profielserver)beheer=console,sshd,log,profiel,ports,devicebeheerbeleid voor de console (ports: poorten wijzigen, Poorten; device: de achtergrond van het inlogscherm, Instellingen › Achtergrond)

Protocolberichten en formaten

  • SSH: poort 22, hostsleutel en gebruikerssleutels alleen ed25519; hoogstens 3 clients tegelijk en 2 per adres; een client moet binnen 30 s inloggen; een inloggende sessie zonder activiteit wordt na 300 s gesloten. Interactieve sessies krijgen de prompt > en CRLF-regeleinden; de uitvoer van een exec is begrensd op 112 KiB.
  • Weigering door het beleid via SSH: not available (build or policy); sshd via SSH: sshd cannot be controlled from SSH.
  • Logregels: elke SSH-opdracht verschijnt als [ssh] <opdracht>, met geheimen vervangen door ****.

Zie ook

  • docs/DESKTOP-DESIGN.md ("Console and admin", "Terminal")
  • docs/ENVIRONMENTS.md
  • docs/EDITIONS.md
  • docs/ENGLISH.md (namen van consoleopdrachten)
  • docs/NETWORK-THROUGHPUT.md
  • Serverconsole