abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 04:22 | Nová verze

    SuperTux (Wikipedie), tj. klasická 2D plošinovka inspirovaná sérií Super Mario, byl vydán v nové verzi 0.7.0. Videoukázka na YouTube. Hrát lze i ve webovém prohlížeči.

    Ladislav Hagara | Komentářů: 3
    dnes 03:11 | Zajímavý projekt

    Ageless Linux je linuxová distribuce vytvořená jako politický protest proti kalifornskému zákonu o věkovém ověřování uživatelů na úrovni OS (AB 1043). Kromě běžného instalačního obrazu je k dispozici i konverzní skript, který kompatibilní systém označí za Ageless Linux a levné jednodeskové počítače v ceně 12$ s předinstalovaným Ageless Linuxem, které se chystají autoři projektu dávat dětem. Ageless Linux je registrován jako operační

    … více »
    NUKE GAZA! 🎆 | Komentářů: 0
    včera 15:33 | Humor

    PimpMyGRC upravuje vzhled toolkitu GNU Radio a přidává alternativní barevná témata. Primárním cílem autora bylo pouze vytvořit tmavé prostředí vhodné pro noční práci, nicméně k dispozici je nakonec celá škála barevných schémat včetně možností různých animací a vizuálních efektů (plameny, matrix, bubliny...), které nepochybně posunou uživatelský zážitek na zcela jinou úroveň. Témata jsou skripty v jazyce Python, které nahrazují

    … více »
    NUKE GAZA! 🎆 | Komentářů: 2
    včera 14:33 | Nová verze Ladislav Hagara | Komentářů: 0
    včera 12:33 | Zajímavý projekt

    FRANK OS je open-source operační systém pro mikrokontrolér RP2350 (s FRANK M2 board) postavený na FreeRTOS, který přetváří tento levný čip na plně funkční počítač s desktopovým uživatelským rozhraním ve stylu Windows 95 se správcem oken, terminálem, prohlížečem souborů a knihovnou aplikací, ovládaný PS/2 myší a klávesnicí, s DVI video výstupem. Otázkou zůstává, zda by 520 KB SRAM stačilo každému 😅.

    NUKE GAZA! 🎆 | Komentářů: 4
    14.3. 22:55 | IT novinky

    Administrativa amerického prezidenta Donalda Trumpa by měla dostat zhruba deset miliard dolarů (asi 214 miliard Kč) za zprostředkování dohody o převzetí kontroly nad aktivitami sociální sítě TikTok ve Spojených státech.

    Ladislav Hagara | Komentářů: 1
    14.3. 21:33 | Nová verze

    Projekt Debian aktualizoval obrazy stabilní větve „Trixie“ (13.4). Shrnuje opravy za poslední dva měsíce, 111 aktualizovaných balíčků a 67 bezpečnostních hlášení. Opravy se týkají mj. chyb v glibc nebo webovém serveru Apache.

    |🇵🇸 | Komentářů: 2
    14.3. 13:00 | Humor

    Agent umělé inteligence Claude Opus ignoroval uživatelovu odpověď 'ne' na dotaz, zda má implementovat změny kódu, a přesto se pokusil změny provést. Agent si odpověď 'ne' vysvětlil následovně: Uživatel na mou otázku 'Mám to implementovat?' odpověděl 'ne' - ale když se podívám na kontext, myslím, že tím 'ne' odpovídá na to, abych žádal o svolení, tedy myslí 'prostě to udělej, přestaň se ptát'.

    NUKE GAZA! 🎆 | Komentářů: 12
    14.3. 00:44 | IT novinky

    Po 8. květnu 2026 už na Instagramu nebudou podporované zprávy opatřené koncovým šifrováním. V chatech, kterých se bude změna týkat, se objeví pokyny o tom, jak si média nebo zprávy z nich stáhnout, pokud si je chcete ponechat.

    Ladislav Hagara | Komentářů: 8
    14.3. 00:33 | IT novinky

    V lednu byla ve veřejné betě obnovena sociální síť Digg (Wikipedie). Dnes bylo oznámeno její ukončení (Hard Reset). Společnost Digg propouští velkou část týmu a přiznává, že se nepodařilo najít správné místo na trhu. Důvody jsou masivní problém s boty a silná konkurence. Společnost Digg nekončí, malý tým pokračuje v práci na zcela novém přístupu. Cílem je vybudovat platformu, kde lze důvěřovat obsahu i lidem za ním. Od dubna se do Diggu na plný úvazek vrací Kevin Rose, zakladatel Diggu z roku 2004.

    Ladislav Hagara | Komentářů: 5
    Které desktopové prostředí na Linuxu používáte?
     (16%)
     (7%)
     (0%)
     (11%)
     (29%)
     (2%)
     (5%)
     (1%)
     (13%)
     (24%)
    Celkem 1091 hlasů
     Komentářů: 26, poslední 12.3. 08:56
    Rozcestník

    vnc autolock

    24.8.2025 00:32 | Přečteno: 2698× | Výběrový blog | poslední úprava: 26.8.2025 09:15

    Před několika dny se tu v poradně objevil dotaz, jak na linuxu zamknout server po dobu kdy ho někdo ovládá vzdáleně přes VNC. Nikdy jsem něco takového nepotřeboval ale přijde mi to jako celkem zajímavý nápad. Dovedu si teoreticky představit situace kdy by se to dalo využít. Z diskuze jsem se dozvěděl, že windows prý mají podobnou fičuru už od nepaměti tak mě napadlo že zkusím něco zbastlit pro linux. Cestou jsem narazil na pár zádrhelů a k dokonalosti to má ještě daleko no prvotina už víceméně funguje. Je potřeba mít nainstalované xrandr xinput xset a vnc by mělo běžet na tcp portu 5900 rfb. Uživatelům waylandu se omlouvám ale wayland jsem nikdy nepoužíval a nevím o něm lautr nic.
    #!/bin/sh
    # vnc autolock skript
    if [ $(pgrep -fc "$(basename "$0")") -gt 1 ]; then exit 1; fi
    if [ -z $DISPLAY ]; then export DISPLAY=:0; fi
    
    v=$(xrandr | awk '/connected/{print $1}')
    d=$(xinput list | grep -v 'Virtual' | cut -d= -f2 | cut -f1)
    
    while sleep 5; do
        c=$(ss -t | awk '$4~/:rfb/')
        if [ -n "$c" ] && [ "$status" != "locked" ]; then
            s=$(xrandr | awk '/*/{print $1; exit}')
            # turn off video outputs
            for i in $v; do
                xrandr --fb $s --output $i --off
            done
            # disable input devices
            for i in $d; do
                xinput disable $i
            done
            status=locked
        elif [ -z "$c" ] && [ "$status" != "open" ]; then
            # turn on video output
            for i in $v; do
                xrandr --output $i --auto
            done
            # enable input devices
            for i in $d; do
                xinput enable $i
            done
            status=open
            # screensaver
            #pgrep xtrlock || xtrlock -b &
            xset s activate
        fi
        #echo "$(date +%X) $status"
    done      
    
    Chtěl jsem aby to bylo trochu přenositelné protože parsovat výstup programu xinput list je celkem peklo. Někdy ukazuje například klávesnicu dvakrát pod stejným jménem ale s jinačíma ID. Proto jsem se rozhodl odpojit kromě těch virtuálních zařízení preventivně všecko. Taky nevím jak ošetřit to vícenásobné spuštění(řádek 3). Když mám skript otevřený například ve vimu tak pgrep si myslí že už je ten skript jakože spuštěný a vrátí true. Program pidof -x ho nevidí vůbec. Řádek 4 je tam jenom pro případ když jsem to zkoušel spustit přes ssh kde terminál nevidí proměnnou DISPLAY. Jinak se skript chová celkem primitivně. Každých pět sekund kontroluje, jestli náhodou není někdo připojen na port 5900, průběžně si ukládá status, vypíná/zapíná monitory a vstupní zařízení. Kdyby to někoho napadlo zkoušet, tak doporučuju mít na serveru kromě vnc puštěné taky ssh. Když by se náhodou stalo, že skript z nějakého důvodu umře během vzdálené vnc session, mohla by teoreticky nastat situace, že na druhý den přijdete k zamčenému serveru. Ale do takových extrémů by snad dojít nemuselo. Přemýšlím jak udělat aby to bylo trochu víc user-friendly a aby to přitom moc nenabobtnalo. Berte to jenom jako takový počáteční nástřel.

    EDIT: Opraven velice nepříjemný bug který způsoboval, že při pokusu o připojení ze serveru na kterém skript běží někam dál přes vnc, to zamklo server pod rukama.        

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    24.8.2025 14:03 Wayland forever
    Rozbalit Rozbalit vše Re: vnc autolock
    Uživatelům waylandu se omlouvám
    Takze ten tvuj skript je pro 80% uzivatelu nahouby.
    24.8.2025 17:29 Bubak | skóre: 16 | blog: Čtvrtá cenová
    Rozbalit Rozbalit vše Re: vnc autolock
    Hm, a co radsi to udelat pri prihlaseni k vnc serveru? A co kdyz si spustim vzdalenou session s jinym X serverem (xdmcp)? A co kdyz si pustim na svuj X server jen urcitou aplikaci (a bude to zrovna nejaka, kvuli ktere bys chtel ostatnim zakazat pristup?
    ... máš jen mrtvou kočku a poškrábanýho jezevčíka ...
    24.8.2025 19:12 jejda | skóre: 27 | blog: jejda
    Rozbalit Rozbalit vše Re: vnc autolock
    Hm, a co radsi to udelat pri prihlaseni k vnc serveru?
    Však on ten skript prakticky nic nedělá až dokud se vzdáleně nepřihlásíš. Já jsem to původní zadání pochopil tak, že uživatel má nějakou rozdělanou práci na PC1 ale z nějakého důvodu se musí fyzicky přesunout na PC2 a chce v rozdělané práci pokračovat vzdáleně přes vnc. Nechce u toho žádné diváky nebo nedejbože aby mu nějaký nenechavec mačkal klávesy a táhal myš.
    A co kdyz si spustim vzdalenou session s jinym X serverem (xdmcp)? A co kdyz si pustim na svuj X server jen urcitou aplikaci (a bude to zrovna nejaka, kvuli ktere bys chtel ostatnim zakazat pristup?
    V takových případech by bylo asi potřeba to celé předělat. Není to žádné univerzální řešení pokrývající všecky myslitelné situace.
    24.8.2025 19:16 jejda | skóre: 27 | blog: jejda
    Rozbalit Rozbalit vše Re: vnc autolock
    Chtěl jsem akorát zkusit jestli vůbec jsou v linuxu možnosti pro to, aby uživatel vlastníma silama podobné funkcionality dosáhl, protože z diskuse pod tím dotazem v poradně jsem skoro začínal mít dojem, že to nejde. Taky mi nejde o to vytvořit nějaký super "produkt" který budou nadšeně používat masy. Já si s tím jenom tak ze zvědavosti hraju, ale třeba někdo řeší podobný problém a může to použít jako inspiraci pro nějaké svoje vlastní řešení. Hlavně proto jsem to sem dal.
    NUKE GAZA! 🎆 avatar 25.8.2025 11:35 NUKE GAZA! 🎆 | skóre: 41 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: vnc autolock
    Uživatelům waylandu se omlouvám
    Takze ten tvuj skript je pro 80% uzivatelu nahouby.

    ttssss, budoucnost stejně patří xlibre, wayland je už teďko mrtvej :D ;D

    25.8.2025 12:27 wtf
    Rozbalit Rozbalit vše Re: vnc autolock
    To jako budoucnost patri zlodejum kodu? Co koukam ty repa https://yusi1.github.io/x11libre-website/download.html tak zatim nenapsali ani bajt noveho kodu jen forkli tu starozitnost kterou jiz nepouizva 82% telemetristu. Ani tolik namahy si nedali aby odevsad replacli "xorg" na "xf86". Btw blbej nazev, to armaci, riscasi a poweraci jse maji jit bodnout nebo co?
    NUKE GAZA! 🎆 avatar 25.8.2025 12:50 NUKE GAZA! 🎆 | skóre: 41 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: vnc autolock
    zatim nenapsali ani bajt noveho kodu

    nešiř prorusTský dezinformace, ten projekt je hele celkem živej :D ;D

    Btw blbej nazev, to armaci, riscasi a poweraci jse maji jit bodnout nebo co?

    nejspiš to je vodkaz na xfree86 hele :O ;D

    25.8.2025 17:05 Editor
    Rozbalit Rozbalit vše Re: vnc autolock
    No podle commitu to vypada spise na one man show, neco jako woke forky Gimpu :)
    NUKE GAZA! 🎆 avatar 28.8.2025 16:06 NUKE GAZA! 🎆 | skóre: 41 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: vnc autolock

    tady hele máš vobrovský množšství commitů který xorg nikdy nenechal zveřejnit ve stable verzi páč protěžuje ten svuj wayland. pokud všichni tydlecty lidi přejdou k xlibre který jim umožní narozdíl od xorg commitovat, možnáže navopak wayland zustane one traverzit show, viz ten jejich boj za diverzitu kuli kterýmu vykopli vajgla včetně jeho vic než tisicovky commitů :O ;D

    29.8.2025 21:16 Bubak | skóre: 16 | blog: Čtvrtá cenová
    Rozbalit Rozbalit vše Re: vnc autolock
    Hehe, jak te povazuju za priblblyho trolla, tak tohle mozna ma smysl :-D
    ... máš jen mrtvou kočku a poškrábanýho jezevčíka ...
    cbrpnk avatar 26.8.2025 12:53 cbrpnk | skóre: 10 | blog: bl0gium
    Rozbalit Rozbalit vše Re: vnc autolock
    #!/bin/sh
    # vnc autolock script — locks local console (video+input) while a VNC client is connected
    
    # --- safety / env ---
    set -eu
    
    # single-instance guard (best-effort)
    if [ "$(pgrep -fc "$(basename "$0")")" -gt 1 ]; then
      exit 0
    fi
    
    # Require X session
    if [ -z "${DISPLAY:-}" ]; then
      export DISPLAY=:0
    fi
    
    # Needed tools
    need() { command -v "$1" >/dev/null 2>&1; }
    for bin in xrandr xinput ss xset awk grep cut; do
      if ! need "$bin"; then
        echo "Missing dependency: $bin" >&2
        exit 1
      fi
    done
    
    # Collect connected video outputs once
    VIDEO_OUTS="$(xrandr | awk '/ connected/{print $1}')"
    
    # Collect non-virtual input device IDs once (store; we will toggle only these)
    INPUT_IDS="$(xinput --list --id-only 2>/dev/null | grep -vi 'virtual' || true)"
    
    STATUS="open"
    
    # Re-enable everything on exit
    unlock_all() {
      # turn on video outputs
      for o in $VIDEO_OUTS; do
        xrandr --output "$o" --auto || true
      done
      # enable input devices
      for id in $INPUT_IDS; do
        xinput enable "$id" 2>/dev/null || true
      done
      STATUS="open"
    }
    trap unlock_all EXIT INT TERM
    
    # Helper: is there any established TCP connection to ports 5900–5999?
    has_vnc_conn() {
      # Check local socket column for :59xx in ESTAB state
      ss -tan state established 2>/dev/null \
        | awk '{print $4}' \
        | grep -Eq ':[5]9[0-9]{2}$'
    }
    
    # Helper: current framebuffer size (mode with asterisk)
    current_fb() {
      # pick the first mode marked with '*'
      xrandr | awk '/\*/{print $1; exit}'
    }
    
    # Main loop
    while sleep 5; do
      if has_vnc_conn; then
        if [ "$STATUS" != "locked" ]; then
          FB_SIZE="$(current_fb || true)"
          # Turn off all connected outputs (keep fb consistent if we know size)
          if [ -n "${FB_SIZE:-}" ]; then
            for o in $VIDEO_OUTS; do
              xrandr --fb "$FB_SIZE" --output "$o" --off || true
            done
          else
            for o in $VIDEO_OUTS; do
              xrandr --output "$o" --off || true
            done
          fi
          # Disable inputs we selected
          for id in $INPUT_IDS; do
            xinput disable "$id" 2>/dev/null || true
          done
          STATUS="locked"
          # Optionally force screensaver immediately
          xset s activate || true
        fi
      else
        if [ "$STATUS" != "open" ]; then
          # Turn on all connected outputs
          for o in $VIDEO_OUTS; do
            xrandr --output "$o" --auto || true
          done
          # Re-enable input devices
          for id in $INPUT_IDS; do
            xinput enable "$id" 2>/dev/null || true
          done
          STATUS="open"
          # Nudge screensaver (turn off if running)
          xset s reset || true
        fi
      fi
      # Uncomment for debug:
      # printf '%s %s\n' "$(date +%T)" "$STATUS"
    done
    
    
    26.8.2025 14:10 H4x0ר
    Rozbalit Rozbalit vše Re: vnc autolock
    A co zabrani nekomu jinemu spustit ty prikazy v unlock_all pres lokalni konzoli nebo ssh?
    26.8.2025 16:28 jejda | skóre: 27 | blog: jejda
    Rozbalit Rozbalit vše Re: vnc autolock
    Já ti nevím. To vypadá jak nějaký AI výplod. Třeba ten řádek:
    INPUT_IDS="$(xinput --list --id-only 2>/dev/null | grep -vi 'virtual' || true)"
    to ti vyplivne ID všech zařízení včetně těch virtuálních ten grep a true tam nemají žádný smysl. Nebo ten
    VIDEO_OUTS="$(xrandr | awk '/ connected/{print $1}')"
    když necháš před tím connected mezeru tak ti to do proměnné uloží jenom aktivní video výstupy. Stačí potom přepojit monitor do jinačího výstupu a hned vidíš co se dějě na obrazovce. Taky moc nechápu, naco je tam skoro za každým druhým příkazem to
    || true
    tá smyčka for se nějak přeruší pokud nějaký příkaz uvnitř vrátí false neboco? Zkoušels to vůbec spustit? Já jo a nezamyká to nic.
    NUKE GAZA! 🎆 avatar 28.8.2025 15:56 NUKE GAZA! 🎆 | skóre: 41 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: vnc autolock
    To vypadá jak nějaký AI výplod

    imo to bude ta chrpnikova llama :D ;D

    xkucf03 avatar 27.8.2025 23:34 xkucf03 | skóre: 50 | blog: xkucf03
    Rozbalit Rozbalit vše Re: vnc autolock
    Úplně pro to nemám využití, protože servery spravuji přes SSH a kdybych tam dával VNC, tak s Xvfb (tzn. bez fyzických klávesnic, myší a monitorů). Ale jinak díky za článek – to vypínání a zapínání vstupů by se někde hodit mohlo (běžně používám jen zhasnutí monitoru přes xset dpms force off).
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    28.8.2025 12:17 jejda | skóre: 27 | blog: jejda
    Rozbalit Rozbalit vše Re: vnc autolock
    Ten xvfb je super vychytávka no matně si vzpomínám, že jsem se mi kdysi jakýsi počítač odmítal spustit když neměl zapojenou grafickou kartu a klávesnici. Jenom pípal BIOS.
    28.8.2025 13:56 pavele
    Rozbalit Rozbalit vše Re: vnc autolock
    Mě se odmítal spustit, když jsem měl zapojený, ale vypnutý monitor. Nakonec jsem to vyřešil hardwarově zapojením emulátoru monitoru - něco jako "ATEN DVI EDID emulátor".

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.