Portál AbcLinuxu, 26. října 2025 15:15


Nástroje: Začni sledovat (4) ?Zašle upozornění na váš email při vložení nového komentáře.

Vložit další komentář
24.8. 14:03 Wayland forever
Rozbalit Rozbalit vše Re: vnc autolock
Odpovědět | Sbalit | Link | Blokovat | Admin
Uživatelům waylandu se omlouvám
Takze ten tvuj skript je pro 80% uzivatelu nahouby.
24.8. 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. 19:12 jejda | skóre: 26 | 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. 19:16 jejda | skóre: 26 | 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.
Gréta avatar 25.8. 11:35 Gréta | skóre: 37 | 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. 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?
Gréta avatar 25.8. 12:50 Gréta | skóre: 37 | 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. 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 :)
Gréta avatar 28.8. 16:06 Gréta | skóre: 37 | 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. 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. 12:53 cbrpnk | skóre: 10 | blog: bl0gium
Rozbalit Rozbalit vše Re: vnc autolock
Odpovědět | Sbalit | Link | Blokovat | Admin
#!/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. 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. 16:28 jejda | skóre: 26 | 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.
Gréta avatar 28.8. 15:56 Gréta | skóre: 37 | 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. 23:34 xkucf03 | skóre: 49 | blog: xkucf03
Rozbalit Rozbalit vše Re: vnc autolock
Odpovědět | Sbalit | Link | Blokovat | Admin
Ú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. 12:17 jejda | skóre: 26 | 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. 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

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

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.