Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE.
Před 70 lety, 7. června 1954, ve věku 41 let, zemřel Alan Turing, britský matematik, logik, kryptoanalytik a zakladatel moderní informatiky.
NiceGUI umožňuje používat webový prohlížeč jako frontend pro kód v Pythonu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána ve verzi 2024.6. Z novinek lze vypíchnout lepší integraci LLM (OpenAI, Google AI, Ollama) nebo podporu Matter 1.3.
IKEA ve Spojeném království hledá zaměstnance do své nové pobočky. Do pobočky v počítačové hře Roblox. Nástupní mzda je 13,15 liber na hodinu.
Alyssa Rosenzweig se v příspěvku na svém blogu Vulkan 1.3 na M1 za 1 měsíc rozepsala o novém Vulkan 1.3 ovladači Honeykrisp pro Apple M1 splňujícím specifikaci Khronosu. Vychází z ovladače NVK pro GPU od Nvidie. V plánu je dále rozchodit DXVK a vkd3d-proton a tím pádem Direct3D, aby na Apple M1 s Asahi Linuxem běžely hry pro Microsoft Windows.
Byla vydána (𝕏) květnová aktualizace aneb nová verze 1.90 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.90 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Byla vydána (Mastodon, 𝕏) nová verze 2024.2 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem nových nástrojů v oficiálním oznámení.
Počítačová hra Tetris slaví 40 let. Alexej Pažitnov dokončil první hratelnou verzi 6. června 1984. Mezitím vznikla celá řada variant. Například Peklo nebo Nebe. Loni měl premiéru film Tetris.
MicroPython (Wikipedie), tj. implementace Pythonu 3 optimalizovaná pro jednočipové počítače, byl vydán ve verzi 1.23.0. V přehledu novinek je vypíchnuta podpora dynamických USB zařízení nebo nové moduly openamp, tls a vfs.
Odkazy
Program GNU screen obsahuje mnoho užitočných funkcií. Jedno z pomerne neznámych funkcií je multiužívateľský režim, ktorý umožňuje zdieľať jeden terminál medzi viacerými užívateľmi podobne ako VNC umožňuje zdieľať plochu. To môže byť užitočné pre množstvo situácií od streamovania až po extrémne programovanie.
Nástroj GNU Screen by mal byť štandardnou súčasťou väčšiny Linuxových distribúcií. Aby bolo možné aktivovať multiužívateľský režim musí byť nastavený suid (príkaz chmod u+s /cest/ku/screen
pod rootom).
Každý používateľ, ktorý chce pracovať so screenom musí byť vlastníkom tty zariadenia, v opačnom prípade skončíme s nasledujúcou hláškou. Preto GNU Screen štandardne nefunguje pod su
.
$ screen Cannot open your terminal '/dev/pts/x' - please check.
Globálne nastavenia screen-u sa nachádzajú v /etc/screenrc
. Užívateľské nastavenia sú v súbore ~/.screenrc
. Súbor obsahuje nastavenia screen-u vo forme príkazov bez úvodnej dvojbodky. V konfiguračnom súbore môžme neskôr povoliť multiužívateľský režim a nastaviť práva podobne, ako keby boli zadávané pri každom spustení.
V našom modelovom príklade bude chcieť Alica zdieľať svoj terminál Bobom. Alica potrebuje najskôr spustiť screen, v ktorom zapne multiužívateľský režim a povolí naň pripojenie Bobovi. Zadá preto nasledujúce príkazy.
Alica $ screen (screen) <CTRL-A>:multiuser on (screen) <CTRL-A>:acladd bob
Ak by chcela multiužívateľský režim povoliť pri každom spustení stačí aby do súboru .screenrc
pridala nasledujúce riadky.
multiuser on acladd bob
Následne sa môže Bob prihlásiť príkazom screen -x alica/
. To ale v našom prípade nebude fungovať pretože Alica je neporiadná a má pootváraných niekoľko inštancií screenu . V takom prípade potrebuje Bob zadať príkaz v tvare screen -x užívateľ/pid.tty.hostname
. Zoznam spustených screenov zistí Bob príkazom screen -list alica/
.
Zisťovanie správneho pid-u je pomerne otravné, preto sa dohodnú na názve pre ich zdieľaný screen. Ten bude v našom ukážkovom príklade "bob
". Nasledujúcimi príkazmi spustí Alica a Bob screen.
Alica $ screen -S bob Bob $ screen -x alica/bob
Prepínač -x
povoľuje pripojenie sa k screenu, ktorý má už niekto iný pripojený. Práve popísaný postup umožní obom pripojeným stranám využívať terminál tak, že obaja vidia to isté a majú rovnaké práva.
V našom ďalšom príklade bude chcieť Alica ukázať príklad triede študentov. Študenti sú však zlomyseľní a vieme ako by to dopadlo . Pre takéto prípady obsahuje screen systém práv (acl). Alica si teda odoberie práva na zápis a spúšťanie príkazov celej skupine študentov.
V konfiguračnom súbore .screenrc
si najskôr vytvorí skupinu studenti
. Práva pre užívateľa, alebo skupinu sa menia príkazom aclchg skupina/užívateľ práva zoznam
. Práva sú rovnaké, ako ich poznáme z *nixového príkazu chmod (r - čítanie, w - zápis, x - spustenie). Posledným parametrom je zoznam objektov / operácií, na ktoré sa práva vzťahujú. Špeciálny znak "#" reprezentuje všetky okná a "?" reprezentuje všetky príkazy. Príkazmi aclchg
odoberie práva na zápis a spúšťanie študentom vo všetkých oknách a zároveň odoberie práva na spúšťanie akýchkoľvek príkazov screenu. Nakoniec povolí odpojenie sa od screenu (príkaz detach
).
Užívatelia sa zaraďujú do skupiny príkazom aclgrp
. Takto môže ovládať celú skupinu bez nutnosti určovať práva individuálne.
Použité príkazy mali vplyv len na funkcie samotného screen-u. Pre obmedzenie prístupu v okne použije príkaz aclumask
. V tomto prípade odoberie akékoľvek práva všetkým užívateľom (-rwx
), povolí všetky práva sebe (alica+rwx
) a povoli práva na čítanie pre študentov (studenti+r-wx
). Špeciálne užívateľské mená "?" a "??" určujú práva pre neznámych užívateľov pre ľubovoľné okná ("?") a príkazy ("??").
aclchg studenti aclchg studenti +r-wx "#" aclchg studenti -rwx "?" aclchg studenti +x detach aclgrp student1 studenti aclgrp student2 studenti aclumask -rwx alica+rwx studenti+r-wx "?"-rwx "??"-rwx
Následne môže Alica spustiť screen a počkať na pripojenie študentov.
Alica $ screen -S student Student1 $ screen -x alica/student
Screen je možné okrem obmedzenia na konkrétnych užívateľov chrániť aj heslom. Prihlasovanie heslom sa aktivuje príkazom <CTRL-A>:acladd užívateľ šifrované_heslo
. Zašifrované heslo pre screen sa dá vygenerovať príkazom <CTRL-A>::password
a zadaním hesla. Po dvojnásobnom zadaní hesla sa však zašifrované heslo nikde nevypíše. Namiesto toho sa vloží do kopírovacieho bufferu screenu. Vypísať do aktuálneho okna sa dá príkazom <CTRL-A>:paste .
(aj s bodkou, tá totiž označuje kopírovací buffer).
Dnes sme si ukázali jednu z nie moc známych, ale pomerne užitočných funkcií screen-u. Dokumentácia takýchto nástrojov často skrýva funkcie, ktoré čakajú na svojich objaviteľov. Dúfam, že som Vás navnadil na objavovanie nových neprebádaných končín dokumentácie a prajem príjemnú zábavu pri rozširovaní vedomostí .
Tiskni Sdílej:
Já jsem se screen nikdy nenaučil (prostě jsem si ty zkratky nemohl zapamatovat ani za boha). Ale tím jak tmux má ovládání podobný vimu, tak jsem ho začal používat a je to silně návykový teda. Ještě v kombinaci s https://github.com/aziz/tmuxinator je to paráda.
Příklad:
project_name: Dev
project_root: /home/retro/work/dev
tabs:
- shell: google-chrome "http://localhost:3000/"; gvim .
- server: rails s
- mongo: sudo mongod
Mám na to i alias. Takže stačí napsat p cs (p - alias na tmuxinator, cs - jméno kofiguráku v ~/.tmuxinator) a pustí se mi vše co potřebuju.
Jinak sdílení umí tmux taky.