abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 23:55 | Nová verze

    Byla vydána nová stabilní verze 24.05 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Uakari. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.

    Ladislav Hagara | Komentářů: 0
    včera 17:33 | Nová verze

    Byla vydána nová verze 1.48.0 sady nástrojů pro správu síťových připojení NetworkManager. Novinkám se v příspěvku na blogu NetworkManageru věnuje Fernando F. Mancera. Mimo jiné se v nastavení místo mac-address-blacklist nově používá mac-address-denylist.

    Ladislav Hagara | Komentářů: 5
    včera 17:11 | Komunita

    Před 25 lety, 31. května 1999, započal vývoj grafického editoru Krita (Wikipedie). Tenkrát ještě pod názvem KImageShop a později pod názvem Krayon.

    Ladislav Hagara | Komentářů: 2
    včera 12:55 | Nová verze

    Farid Abdelnour se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 24.05.0 editoru videa Kdenlive (Wikipedie). Ke stažení brzy také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 11:22 | Zajímavý článek

    David Revoy, autor mj. komiksu Pepper&Carrot, se rozepsal o své aktuální grafické pracovní stanici: Debian 12 Bookworm, okenní systém X11, KDE Plasma 5.27, …

    Ladislav Hagara | Komentářů: 4
    30.5. 22:44 | Nová verze

    Wayland (Wikipedie) byl vydán ve verzi 1.23.0. Z novinek lze vypíchnout podporu OpenBSD.

    Ladislav Hagara | Komentářů: 0
    30.5. 21:22 | Zajímavý článek

    Craig Loewen na blogu Microsoftu představil novinky ve Windows Subsystému pro Linux (WSL). Vypíchnout lze GUI aplikaci pro nastavování WSL nebo správu WSL z Dev Home.

    Ladislav Hagara | Komentářů: 0
    30.5. 12:44 | Pozvánky

    V sobotu 1. června lze navštívit Maker Faire Ostrava, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

    Ladislav Hagara | Komentářů: 0
    30.5. 12:22 | Nová verze

    Webový server Caddy (Wikipedie) s celou řadou zajímavých vlastností byl vydán ve verzi 2.8 (𝕏). Přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 8
    29.5. 22:11 | Nová verze

    Byla vydána verze 3.0 (@, 𝕏) svobodného softwaru HAProxy (The Reliable, High Performance TCP/HTTP Load Balancer; Wikipedie) řešícího vysokou dostupnost, vyvažování zátěže a reverzní proxy. Detailní přehled novinek v příspěvku na blogu společnosti HAProxy Technologies.

    Ladislav Hagara | Komentářů: 7
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (90%)
     (3%)
     (4%)
     (4%)
    Celkem 1054 hlasů
     Komentářů: 17, poslední včera 15:31
    Rozcestník

    Zdieľaný terminál cez screen

    8.12.2012 14:45 | Přečteno: 2408× | Linux | Výběrový blog | poslední úprava: 8.12.2012 14:42

    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.

    Inštalácia a nastavenie

    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í.

    Použitie multiužívateľského režimu

    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.

    Nastavenie práv

    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

    Ochrana heslom

    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í ;-).

           

    Hodnocení: 100 %

            špatnédobré        

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

    Komentáře

    Vložit další komentář

    pavlix avatar 8.12.2012 15:02 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Zdieľaný terminál cez screen
    Mimochodem, Gentooisti mě hrozně moc překecávali k přechodu na tmux.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    8.12.2012 22:35 retroslava | skóre: 9 | blog: TryCatch | Žižkoff
    Rozbalit Rozbalit vše Re: Zdieľaný terminál cez screen

    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.

    Pozor! Jsem naprostý idiot. Co jsem napsal včera dnes už dávno neplatí. Zavazuji se, že budu diskutovat nezávazně.
    mirec avatar 9.12.2012 08:35 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Zdieľaný terminál cez screen
    Hmm, to znie pre mňa ako vim-istu celkom zajjímavé, musím vyskúšať, dík za tip.
    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    krab1k avatar 9.12.2012 21:57 krab1k | skóre: 11 | Brno
    Rozbalit Rozbalit vše Re: Zdieľaný terminál cez screen
    Ten vim vypadá docela zajímavě. Mohl by ses podělit o konfigurák?
    mirec avatar 10.12.2012 07:59 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Zdieľaný terminál cez screen
    Samozrejme, tu je.
    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    rADOn avatar 10.12.2012 17:06 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: Zdieľaný terminál cez screen
    Skoda blogu, tohle je material na clanek. Akorat jsem z toh nejak nepochopil, jestli si jen uzivatele vidi navzajem screeny nebo jestli i muzou pouzivat stejnou screenu najednou.
    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    mirec avatar 10.12.2012 22:33 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Zdieľaný terminál cez screen
    Je to podobné ako VNC, tj môžu mať zobrazený presne ten istý terminál hoc druhý partner je vzdialene pripojený cez ssh s pomalým dialupom. Právami sa dá obmedziť práva jednotlivých pripojených užívateľov tak, aby niektorí napr. mali právo len na pozeranie. Štandardne každý účastník môže aj zapisovať.
    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    11.12.2012 16:53 cita
    Rozbalit Rozbalit vše Re: Zdieľaný terminál cez screen
    jak nastavit vim aby vypadal tak pekne sipkovite jako ten tvuj?

    diky moc za tip
    mirec avatar 11.12.2012 18:48 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Zdieľaný terminál cez screen
    V podstate by mali stačiť tieto príkazy, čo mám zverejnené tu + opatchovať fonty, viac o patchovaní v dokumentácii k vim-powerline.
    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon

    Založit nové vláknoNahoru

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