{ "meta": { "title": "ProxMenux Monitor — Panel: Terminál | Dokumentácia ProxMenux", "description": "Shell hostiteľa Proxmox v prehliadači: až 4 terminály v mriežke, tlačidlá klávesnice pre mobilné zariadenia (ESC, TAB, šípky, kombinácie Ctrl), integrovaný prehľad príkazov z cheat.sh a ochrana JWT." }, "header": { "title": "Panel: Terminál", "description": "Skutočná relácia shellu na hostiteľovi Proxmox v prehliadači. Až štyri terminály súčasne, tlačidlá klávesnice pre mobilné zariadenia a integrovaný prehľad príkazov, všetko v rovnakej téme ako zvyšok panela.", "section": "ProxMenux Monitor · Prehľad" }, "intro": { "title": "Skutočná PTY v prehliadači", "body": "Terminál vytvorí na serveri PTY cez flask_terminal_routes, spojí ho cez WebSocket s xterm.js v prehliadači a beží ako root, používateľ jednotky systemd. Rovnako ako cez ssh root@<host> môžete používať vim, tmux, nástroje ncurses a CLI Proxmox (qm, pct, pvesh, pvecm). Každý PTY exportuje PROXMENUX_TERMINAL=monitor. Všetky podriadené procesy bash vrátane neskoršieho spustenia menu premennú zdedia, aby rozpoznali terminál Monitora." }, "singleAlt": "ProxMenux Monitor Karta Terminál – jedna terminálová relácia zobrazujúca súhrn systému Fastfetch pri prihlásení", "singleCaption": "Jeden host terminál otvorený a vyššie uvedený panel nástrojov ukazuje počet (1 / 4 terminály), + Nové, Hľadať, Vyčistiť a Zavrieť. Pomocníci mobilnej klávesnice sa objavia pod terminálom na dotykových zariadeniach.", "target": { "heading": "Cieľ pripojenia", "body1": "Karta Terminál otvorí shell na samotnom hostiteľovi Proxmox, rovnako ako prihlásenie cez SSH. Každá karta otvorí nový terminál hostiteľa.", "body2": "Na prístup do kontajnera LXC použite tlačidlo Konzola na karte každého spusteného CT v karte VM a LXC. Otvorí okno, ktoré spustí pct enter <vmid> a použije rovnaký mobilný panel nástrojov opísaný nižšie." }, "menuGuard": { "heading": "Ochrana pri samoaktualizácii menu v tomto termináli", "body1": "Po potvrdení menu nahradí vlastný strom skriptov a znovu sa načíta. Cez SSH alebo konzolu Proxmox to funguje, ale v prehliadači by sa ukončil PTY shellu a prerušil WebSocket. Preto check_updates_stable, check_updates_beta a apply_release_channel čítajú PROXMENUX_TERMINAL a rozpoznávajú kontext Monitora.", "body2": "Dialóg áno/nie sa potom nahradí správou s oficiálnym príkazom inštalátora: bash -c \"$(wget -qLO - https://raw.githubusercontent.com/MacRimi/ProxMenux/main/install_proxmenux.sh)\" pre stable a zodpovedajúcou URL install_proxmenux_beta.sh pre beta. Aktualizáciu vykonajte cez SSH alebo konzolu hostiteľa Proxmox; terminál prehliadača slúži iba na prečítanie a potvrdenie správy." }, "fourTerminals": { "heading": "Až štyri terminály naraz", "intro": "Môžete otvoriť až štyri terminály hostiteľa súčasne. Každý má vlastný PTY aj WebSocket a ide o úplne nezávislé relácie. Ikony vedľa tlačidla „Nový“ prepínajú dve rozloženia:", "items": [ "Zobrazenie kariet — viditeľný je jeden terminál, ostatné sú pomenované karty hore (Terminál 1, Terminál 2…). Vhodné na jednu úlohu, kým ostatné bežia na pozadí.", "Zobrazenie mriežky — všetky otvorené terminály v mriežke 2×2. Môžete sledovať htop v jednom, iftop v druhom a upravovať v treťom bez prepínania kariet." ], "outro": "Panel nástrojov uvádza počet (1/4 terminálov, 4/4 terminálov). + Nový otvorí kartu; malé × v jej hlavičke ju zatvorí. Veľké červené tlačidlo Zavrieť hore ukončí všetky terminály." }, "gridAlt": "Karta Terminál ProxMenux Monitor — mriežka štyroch terminálov hostiteľa s ls, konfiguráciou siete, iftop a hlavnou ponukou ProxMenux vedľa seba", "gridCaption": "Zobrazenie mriežky (4 / 4 terminály) — štyri nezávislé PTY súčasne: zoznam adresára, /etc/network/interfaces, iftop a hlavná ponuka ProxMenux. Prepínač rozloženia na paneli nástrojov mení mriežku a karty.", "keyboard": { "heading": "Tlačidlá klávesnice pre mobilné zariadenia", "intro": "Klávesnice telefónov a tabletov zvyčajne nemajú ESC, TAB, šípky ani kombinácie s modifikátormi. Tieto klávesy sú potrebné pre vim, nano, htop a ponuky TUI. Terminál preto na malých alebo dotykových zariadeniach zobrazuje pod terminálom rad dotykových tlačidiel:", "headerButton": "Tlačidlo", "headerSends": "Posiela", "headerUse": "Typické použitie", "rows": [ { "button": "ESC", "sends": "\\x1b", "use": "Ukončí režim vkladania v vim, zruší dialóg TUI alebo ukončí vyhľadávanie." }, { "button": "TAB", "sends": "\\t", "use": "Automatické dopĺňanie ciest a prechod medzi poľami v dialog/whiptail." }, { "button": "↑ ↓ ← →", "sends": "\\x1bO[ABCD]", "use": "História shellu, pohyb kurzora a navigácia ponúk." }, { "button": "↵ Enter", "sends": "\\r", "use": "Potvrdenie. Niektoré klávesnice nahrádzajú Enter tlačidlami Prejsť/Hotovo; toto tlačidlo je jednoznačné." }, { "button": "Ctrl ▾", "sends": "Rozbaľovací zoznam", "useRich": true } ], "ctrlIntro": "Tri kontrolné sekvencie:", "ctrlItems": [ "Ctrl+C — zruší alebo preruší bežiaci príkaz (\\x03).", "Ctrl+X — ukončí nano (\\x18).", "Ctrl+R — spätné vyhľadávanie v histórii bash (\\x12)." ], "modalTitle": "Rovnaký panel nástrojov v okne konzoly LXC", "modalBody": "Konzola otvorená cez VM a LXC → Konzola zobrazuje rovnaké tlačidlá klávesnice pod oknom. Pri pripojení automaticky zadá pct enter <vmid>, čím vstúpite priamo do kontajnera." }, "lxcAlt": "Okno konzoly LXC ProxMenux Monitor — Terminal: ubuntu (ID: 103), s rovnakým mobilným panelom nástrojov (ESC, TAB, šípky, Enter, Ctrl) pod terminálom", "lxcCaption": "Konzola LXC otvorená cez VM a LXC → Konzola. Hlavička uvádza cieľový kontajner (Terminal: ubuntu (ID: 103)) a pod terminálom sa zobrazuje rovnaký dotykový panel nástrojov.", "search": { "heading": "Vyhľadávanie príkazov — integrovaný prehľad", "intro": "Modré tlačidlo Hľadať otvorí približné vyhľadávanie príkazov. Zadajte niekoľko písmen príkazu Linux alebo Proxmox (ls, tar, qm, pct, zpool, systemctl…) a zobrazia sa príklady s voľbou Odoslať do aktívneho terminálu jedným dotykom. Voľbu príkazu tak nájdete bez prepínania karty prehliadača.", "modalAlt": "Okno Vyhľadávanie príkazov ProxMenux Monitor — približné vyhľadávanie príkazov Linux a Proxmox cez cheat.sh s príkladmi ls", "modalCaption": "Vyhľadávanie ls — každý výsledok zobrazuje príkaz, opis a malú šípku na odoslanie do aktívneho terminálu. Vpravo dole je uvedený zdroj údajov (Údaje z cheat.sh).", "aboutLabel": "O cheat.sh:", "aboutBody": "je open-source prehľad spravovaný komunitou s krátkymi praktickými príkladmi stoviek príkazov Linux, nástrojov správy a programovacích jazykov. Pôvodne bol navrhnutý na použitie cez curl cheat.sh/<command>, ale je dostupný aj v prehliadači. ProxMenux Monitor posiela dotazy cez proxy na serveri, aby okno používalo rovnaký pôvod ako panel.", "headerSource": "Zdroj", "headerWhen": "Keď sa použije", "headerWhat": "Čo vidíš", "onlineLabel": "(online)", "onlineWhen": "Keď má hostiteľ prístup na internet a cheat.sh proxy odpovedá.", "onlineWhat": "Niekoľko praktických príkladov na príkaz s opisom nad nimi. Stavová bodka v hlavičke je zelená.", "fallbackLabel": "Miestna záložná možnosť", "fallbackWhen": "Keď cheat.sh je nedostupný (offline hostiteľ, obmedzujúci firewall, cheat.sh výpadok).", "fallbackWhat": "Pribalený zoznam bežných príkazov Linux a Proxmox. Menší katalóg, ale vždy dostupný. Stavová bodka je červená.", "sendingNote": "Ako funguje odosielanie: šípka vedľa výsledku odošle text do aktívneho terminálu (vybraná karta alebo posledný terminál, na ktorý ste klikli v mriežke). Okno sa automaticky zatvorí, aby ste mohli stlačiť Enter." }, "auth": { "heading": "Prihlásenie", "items": [ "Prehliadač najprv požiada o jednorazový lístok cez POST /api/terminal/ticket s JWT v hlavičke Authorization. Lístok následne odošle pri otvorení WebSocketu. Platí 5 sekúnd; pri zapnutom overovaní chýbajúci alebo neplatný lístok ukončí spojenie pred vytvorením PTY.", "Ak je Monitor za reverzným proxy, proxy musí posielať požiadavky na upgrade WebSocket. Príklady pre Nginx / Caddy / Traefik sú na stránke Prístup a overenie." ] }, "clipboard": { "heading": "Schránka, história výstupu a zmena veľkosti", "items": [ "Kopírovanie a prilepenie — používa schránku prehliadača. Vyberte text myšou alebo trackpadom a použite systémovú skratku (Cmd+C na macOS, Ctrl+Shift+C na Linux/Windows). Prostredia Linux podporujú aj prilepenie prostredným tlačidlom.", "História výstupu — posúvanie kolieskom alebo dvoma prstami. xterm.js uchováva v pamäti posledných niekoľko tisíc riadkov.", "Zmena veľkosti — pri zmene veľkosti panela terminál prispôsobí okno PTY, aby sa htop a vim zobrazovali správne.", "Opätovné pripojenie po návrate na kartu — prepnutie aplikácie v telefóne alebo tablete, najmä iPade, môže prerušiť WebSocket. Terminál zistí zmenu viditeľnosti a po návrate sa pripojí, s časovým limitom 15 sekúnd pre pomalé VPN." ] }, "disconnect": { "heading": "Príčiny odpojenia", "intro": "Najčastejšie príčiny ukončenia relácie a ich riešenia:", "headerCause": "Príčina", "headerFix": "Riešenie", "rows": [ { "cause": "JWT relácie vypršal pri otváraní alebo opätovnom pripájaní terminálu (platnosť 24 h).", "fix": "Obnovte stránku a prihláste sa znova. Terminál nie je určený na bezobslužné relácie; platnosť JWT je rovnaká ako pri bežnom prihlásení do panela." }, { "cause": "Časový limit nečinnosti reverzného proxy.", "fix": "Zvýšte proxy_read_timeout v Nginx alebo ekvivalent v Caddy / Traefik (príklady na stránke Prístup a overenie)." }, { "cause": "Telefón alebo tablet v režime spánku.", "fix": "Po prebudení zariadenia sa karta automaticky pripojí (časový limit 15 s pre VPN). Ak nie, obnovte ju." }, { "cause": "Reštart služby na hostiteľovi.", "fix": "Každý reštart proxmenux-monitor.service ukončí všetky PTY. Nové terminály otvorte po dokončení načítania panela." } ] }, "warning": { "title": "Terminál je shell root na hostiteľovi", "body": "Terminál zdedí používateľa jednotky systemd (root) a má plné oprávnenia na hostiteľovi Proxmox. Pred sprístupnením mimo miestnej siete nastavte meno, heslo a 2FA v Prístup a overenie. Pri vypnutom overovaní môže každý s prístupom k portu 8008 otvoriť shell root bez ďalších potvrdení či prihlasovacích údajov SSH. Na prístup zvonka použite Secure Gateway (Tailscale) alebo reverzný proxy s HTTPS namiesto zverejnenia portu na internete." }, "whereNext": { "heading": "Kam ďalej", "items": [ { "label": "Prístup a overenie", "href": "/docs/monitor/access-auth", "tail": " — príklady reverzného proxy s riadkami na upgrade WebSocket potrebnými pre terminál." }, { "label": "Architektúra", "href": "/docs/monitor/architecture", "tail": " — prenos WebSocket (HTTP cez flask-sock a HTTPS / WSS cez gevent)." }, { "label": "Referenčná príručka API", "href": "/docs/monitor/api", "tail": " — koncové body WebSocket /ws/terminal a /ws/script/ spolu so zvyškom API." }, { "label": "Integrácia → Bezpečná brána", "href": "/docs/monitor/integrations", "tail": " — prístup k terminálu mimo LAN bez sprístupnenia portu 8008." }, { "label": "Index panela", "href": "/docs/monitor/dashboard", "tail": " — Ostatné karty." } ] } }