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 03:00 | Komunita

    Na stránkách Evropské komise, na portálu Podělte se o svůj názor, se lze do 3. února podělit o názor k iniciativě Evropské otevřené digitální ekosystémy řešící přístup EU k otevřenému softwaru.

    Ladislav Hagara | Komentářů: 2
    včera 19:44 | Zajímavý software

    Společnost Kagi stojící za stejnojmenným placeným vyhledávačem vydala (𝕏) alfa verzi linuxové verze (flatpak) svého proprietárního webového prohlížeče Orion.

    Ladislav Hagara | Komentářů: 4
    včera 19:11 | IT novinky

    Firma Bose se po tlaku uživatelů rozhodla, že otevře API svých chytrých reproduktorů SoundTouch, což umožní pokračovat v jejich používání i po plánovaném ukončení podpory v letošním roce. Pro ovládání také bude stále možné využívat oficiální aplikaci, ale už pouze lokálně bez cloudových služeb. Dokumentace API dostupná zde (soubor PDF).

    NUKE GAZA! 🎆 | Komentářů: 0
    včera 14:22 | Zajímavý článek

    Jiří Eischmann se v příspěvku na svém blogu rozepsal o open source AdGuard Home jako domácí ochraně nejen před reklamou. Adguard Home není plnohodnotným DNS resolverem, funguje jako DNS forwarder s možností filtrování. To znamená, že když přijme DNS dotaz, sám na něj neodpoví, ale přepošle ho na vybraný DNS server a odpovědi zpracovává a filtruje dle nastavených pravidel a následně posílá zpět klientům. Dá se tedy používat k blokování reklamy a škodlivých stránek a k rodičovské kontrole na úrovni DNS.

    Ladislav Hagara | Komentářů: 6
    včera 03:33 | Zajímavý software

    AI Claude Code od Anthropicu lépe rozumí frameworku Nette, tj. open source frameworku pro tvorbu webových aplikací v PHP. David Grudl napsal plugin Nette pro Claude Code.

    Ladislav Hagara | Komentářů: 1
    včera 00:11 | Nová verze

    Byla vydána prosincová aktualizace aneb nová verze 1.108 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.108 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    8.1. 20:44 | IT novinky

    Na lasvegaském veletrhu elektroniky CES byl předveden prototyp notebooku chlazeného pomocí plazmových aktuátorů (DBD). Ačkoliv se nejedná o první nápad svého druhu, nepochybně to je první ukázka praktického použití tohoto způsobu chlazení v běžné elektronice. Co činí plazmové chladící akční členy technologickou výzvou je především vysoká produkce jedovatého ozonu, tu se prý podařilo firmě YPlasma zredukovat dielektrickou

    … více »
    NUKE GAZA! 🎆 | Komentářů: 10
    8.1. 16:33 | Zajímavý projekt

    Patchouli je open source implementace EMR grafického tabletu (polohovací zařízení). Projekt je hostován na GitLabu.

    Ladislav Hagara | Komentářů: 0
    8.1. 14:11 | IT novinky

    Český Nejvyšší soud potvrdil, že česká právní úprava plošného uchování dat o elektronické komunikaci porušuje právo Evropské unie. Pravomocným rozsudkem zamítl dovolání ministerstva průmyslu a obchodu. To se teď musí omluvit novináři Českého rozhlasu Janu Cibulkovi za zásah do práv na ochranu soukromí a osobních údajů. Ve sporu jde o povinnost provozovatelů sítí uchovávat údaje, ze kterých lze odvodit, kdo, s kým a odkud komunikoval.

    Ladislav Hagara | Komentářů: 17
    8.1. 02:11 | Komunita

    Google bude vydávat zdrojové kódy Androidu pouze dvakrát ročně. Ve 2. a 4. čtvrtletí.

    Ladislav Hagara | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (4%)
     (5%)
     (0%)
     (9%)
     (21%)
     (4%)
     (5%)
     (2%)
     (11%)
     (53%)
    Celkem 323 hlasů
     Komentářů: 7, poslední 8.1. 15:35
    Rozcestník

    Nahrazení Správce Přihlášení sh scriptem

    8.11.2009 20:40 | Přečteno: 1490× | linux | Výběrový blog | poslední úprava: 8.11.2009 20:42

    Aneb - když si BFU hraje, končí to nějak takhle. Vytvořil jsem svůj první sh script, který se postará o startx a přitom nabídne i výběr sezení.

    úvod

    Po několikaletém používání Grafického Správce Přihlášeni, jsem se dostal do stadia, že jsem jej opustil a začal se přihlašovat v textovém režimu. Nicméně mi to nestačilo, protože jsu člověk, který má rád změnu a nevydržím dlouho u jednoho prostředí, tak jsem si vytvořil script na spouštění sezení.

    Než mě začnete kamenovat, že jsem objevil Ameriku a že to je na ... vysvětlím své počínání, a protože mám velké neznalosti co se týče růrných souvislostí, pravidel (standartů) a závislostí, poprosím Vás, zkušené a ostřílené uživatele pouze o zkontrolování a případné upozornění na problémy, které by mohli nastat.

    Musím podotknout, že jsem to pořádně testoval a funguje přesně tak, jak mi to vyhovuje. Jediný problém mám s ukončením vzdáleného přístupu, protože GDM na vzdáleném PC vytváří jakousi smyčku, stále se opakující.

    důvod

    První par let, co jsem dostal PC s Linuxem jsem stále měnil Sezení a programy. Nebyl jsem schopen zpracovat to velké množství programů a u jednoho mi chybělo tohle a druhého zase tamto. Výsledek byl, že jsem měl ve starém slabém PC oba giganty (KDE a GNOME) a lítal jsem od programu k programu. Usoudil jsem, že to takhle nejde a proto jsem udělal jednu velkou čáru za KDE.

    A proto má KDM na můj počítač zákaz vstupu.

    Velmi dlouho jsem vystačil s GDM, ale jednoho dne po aktualizaci se nějak po... a ztratil jsem možnost výběru sezení, vzdáleného přihlášení a přihlášení v okně.

    bay bay

    Tak jsem se začal ohlížet po jiných správcích, ale jeden neumí výběr sezení a jinaj zase nepodporuje XDMCP. Navíc jsem už dostal chuť se něco dovědět o sh scriptech, protože od té doby co mám GNU/Linux, tak na ně stále narážím. A to je důvod proč vzniklo tohle.

    Popis

    Script umí nabídnout a provést výběr sezení, nastavení defaultního sezení a přihlásit se na vzdálený počítač.

    !!!Pro jeho činnost je nutné aby nebyl spuštěn Xserver a žádný graf. Správce. Je nutné se přihlašovat v textovém režimu a navíc je nutné se přihlašovat na prvním terminálu. Je tam podmínka jsou-li X-ka neběžící a jsme-li na tty1.

    Funguje to jednoduše. v souboru ~/.muj_start.conf jsou uložena jednotlivá sezení a příkaz(y), které se mají provést pro jejich spuštění. Nemusíme spouštět celé sezení, umí to spustit i jedotlivé aplikace (správce oken + něco + něco). Já mám něco takového na xfce. Nespouštím celé sezení, ale jen něco. A jako poslední se spustí emulátor terminálu terminal, který když zavřu, tak se zastaví X-ka a já se vrátím do textového režimu.

    Když se script spustí, dá vám 3 sekundy na to, aby jste stiskly "c". Pokud jej nestisknete, nastartuje se default sezení. Když ho stisknete, můžete si vybrat sezení, nebo počítač, kam se chcete pomocí XDMCP přihlásit.

    script ~/.muj_start pouze nabídne výběr a zpracuje váš vstup. Následně dle vašehu vstupu případně upraví proměnou $nastartuj (důležitou pro startx) a proměnnnou $default (pokud změníme default sezení).

    A v souboru ~/.xinitrc je nastaveno pouze že má číst proměné ze souboru ~/.muj_start.conf a co s nimy má udělat. V podstatě si pouze přečte $nastartuj a postupně provede jeden příkaz za druhým. Obsahuje-li $nastartuj více hodnot, tak ta co je uvedena jako první se nastartuje jako poslední s příkazem exec

    Samotný popis jak script funguje je přímo v něm. To jsem si tam psal pro sebe, abych vůbec věděl, co jsem tam udělal.

    scripty

    !!! Jsem BFU. Nikomu to nedoporučuji požívat, pokud to zkušení uživatelé nepodpoří.

    1. Do ~/.bashrc jsem přidal příkaz na spuštění mého scriptu. Takže se můj script spustí ihned po přihlášení v textovém režimu.

    sh ~/.muj_start

    Proměnné jsem definoval v souboru ~/.muj_start.conf a pravě zde jsou uložena Desktopová prostředí, či Správci oken a příkazy, které se mají provést pro jejich spuštění. Možná by stálo za to ještě vytvořit script na přidávání a odebírání Desktopového prostředí. Zatím se to musí provádět ručně.

    ~./.muj_start.conf

    #
    #
    #~/.muj_start.conf
    #
    #-----------------------------------------------------------
    #DESKTOPOVE PROSTREDI  - SPRAVCE OKEN
    #-----------------------------------------------------------
    #zde pripis nove sezeni
    
    sezeni=(gnome xfce WM openbox zachrany_terminal) 
    
    #zde je definovana promenna "sezeni", jejichz obsahem
    #je "pole". tzn. Nekolik prvku "pole".
    #prvek 0 je "Gnome" - volame ${sezeni[0]}
    #prvek 1 je "xfce" - volame ${sezeni[1]}
    
    
    #----------------------------------------
    #PRIKAZ(Y) PRO START SEZENI 
    #----------------------------------------
    
    #Zde definuj prikazy, ktere se nastartuji pri volbe sezeni
    #!!!prikaz, ktery bude prvni v poradi se nastartuje jako posledni a pri jeho ukonceni se ukonci i X-server
    
    
    xfce="terminal xfwm4 xfce4-panel xfdesktop pidgin firefox claws-mail"
    gnome="gnome-session"
    WM="wmaker"
    openbox="openbox-session"
    zachrany_terminal="xterm"
    
    #--------------------------
    #DEFAULT SEZENI
    #--------------------------
    
    #zde je nastaveno default sezeni
    #tato promenna se generuje sama
    
    default="xfce"
    
    
    #------------------------------------
    #VZDALENY PRISTUP
    #-----------------------------------
    #Zde je definovano jmeno PC a jeho IP adresa, pomoci ktere se prihlasime
    
    
    XDMCP=(rapi)
    rapi="X -query 192.168.1.2"
    
    #-----------------------------------
    #PRIKAZY PRO START
    #----------------------------------
    #Promenna ktera se generuje sama
    
    nastartuj=(terminal xfwm4 xfce4-panel xfdesktop pidgin firefox claws-mail)
    
    

    ~/.muj_start

    #!bin/sh
    
    . ~/.muj_start.conf
    
    #----------------------
    #funkce kontroly
    #----------------------
    #K promene what priradim prvni pozicni parametr
    # provedu posun poz. param. o jednu
    #pro promenou $i vypisu vsechny pozicni parametry
    #jestlize what se nachazi v $i, vrat pravdu
    #(what jsme zadali a pro $i se vypsaly vsechny poz. param.)
    #jinak vrat nepravdu
    
    kontrola() {
        what=$1           
        shift                   
        for i in $@; do   
            [ "$what" = "$i" ] && return 0   
        done						   
        return 1                                          
    		}
    
    
    #---------------------------------------------
    #fnkce na vygenerovani $nastartuj
    #---------------------------------------------
    # funkce, ktera v souboru muj_start.conf upravi $nastartuj.
    #Vse co je v $nastartuj mezi () nahradi.
    
    definuj_prom() {
    	sed -i "s/nastartuj=\([^\)]*\)/nastartuj=\($zmena/" ~/.muj_start.conf
    }
    
    
    #--------------------------------------------
    #funkce, ktera nastartuje xserver
    #--------------------------------------------
    #Funkce, ktera provede startx. 
    #Startx se provede pouze v okamziku, ze jsme na 1.terminalu (tty1)
    #a zaroven X jeste nejedou
    
    
    spustX()
    if [[ -z "$DISPLAY" ]] && [[ $(tty) = /dev/tty1 ]]; then
    startx &
    fi
    
    
    #---------------------		
    #provadeci script		
    #---------------------
    #cteni vstupu uzivate po 3 sek. se samo zvoli "no"
    #pri volbe "no" se provede kontrola jestli $nastartuj obahuje spravne hodnoty
    #pokud ano nastartuje se default sezeni
    #pokud ne, zavola se funkce zmena a hodnoty a
    #$nastartuj se nahradi za ty spravne
    
    clear
    echo "Startuji X-server a default sezeni: $default"
    echo "--------------------------------------------------------"
    echo "Pro zmenu stiskni [ c ] - Mas na to 3 sekundy "
    read -t 3 e || e="no"						
    										    
    if [ "$e" = "no" ]; then					         
    	if [ "${!default}" = "${nastartuj[*]}" ]; then     
    	echo "startuji $default"					    
    	else
    	zmena=${!default}					    
    	definuj_prom $zmena					   
    	echo "startuji $default"
    	fi
    	spustX &
    	exit
    fi
    
    #vyber sezeni, nebo stroje, kam se chceme prihlasit
    
    clear
    echo "SEZENI: ${sezeni[*]}"
    echo "-----------------------------"
    echo "VZDALENY STROJ (ke kteremu se muzes prihlasit): ${XDMCP[*]}"
    echo "-----------------------------"
    echo "Cekam na vstup"
    
    
    read x
    
    #Struktura until...;do..done se provede je-li podminka nepravdiva.
    #Tzn. Jestlize funkce kontrola() vrati nepravdu, ridici struktura until... se provede.
    #Funkci kontrola() zavolame s parametry do kterych vlozime obsah pole $sezeni a $XDMCP
    #To zajisti, ze jestli uzivatel udela preklep a zada napr. sezeni, ktere neni v promene $sezeni
    #funkce kontrola vrati false a tato struktura zajisti druhy pokus.
    
    until kontrola $x ${sezeni[*]} ${XDMCP[*]}; do 	
    	echo "Nekde jsi udelal chybu - zkus to znova"
    	echo "Cekam na vstup"
    	read x
    done
    
    
    
    
    # Pri vzdalenem prihlaseni se nepouzije prikaz #startx
    #Proto provedu znova kontrolu vstupu a jestli uzivatel zadal jmeno jineho PC
    #provede se prikaz pro prihlaseni na vzdaleny stroj
    
    #!!!! V $XDMCP a $sezeni NESMI figurovat stejna hodnota.
    
    #To znamena, ze nesmime pouzit pro nazev vzdaleneho stroje stejne jmeno jako pro nejake sezeni
    #Jestlize nezadame jmeno PC, ale jmeno sezeni, provede se dotaz
    #jestli chceme zmenit default sezeni a pokud ano
    #nahradi se hodnota #default
    #Pak se uz jen definuje $nastartuj a provede se #startx
    
    if kontrola $x ${XDMCP[*]}; then
    	${!x} & 
    	exit
    	else 
    	echo "Chces zmenit vychozi sezeni? (yes or no) " 
    	read y
    		if [ "$y" = "yes" ]; then
    		sed -i "s/default=\"[^\"]*\"/default=\"$x\"/" ~/.muj_start.conf
    		fi
    	zmena=${!x}					#nacteni hodnoty $x do $zmena
    	definuj_prom $zmena	
    	echo "startuji $x"
    	spustX &
    	exit	
    	fi
    

    A poslední je soubor ~/.xinitrc , který nastartuje dané sezení

    ~/.xinitrc

    #!/bin/sh
    
    numlockx &
    
    . ~/.muj_start.conf				
    
    proved() {					
    	posledni=$1				
    	shift					
    	
    while [ -n "$2" ]; do 
    	$2 &			
    	shift            		
    done				
    	
    	exec $posledni 			
    }
    
    proved ${nastartuj[0]} ${nastartuj[*]}	
    
           

    Hodnocení: 80 %

            špatnédobré        

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

    Komentáře

    Vložit další komentář

    8.11.2009 21:04 Let_Me_Be | skóre: 20 | blog: cat /proc/idea/current | Brno
    Rozbalit Rozbalit vše Re: Nahrazení Správce Přihlášení sh scriptem
    A co zakladni XDM?
    Linked in profil - Můj web - Nemůžete vyhrát hádku s blbcem. Nejdřív vás stáhne na svoji úroveň a pak ubije zkušenostmi.
    8.11.2009 21:14 slayn | skóre: 5 | blog: Cokoliv
    Rozbalit Rozbalit vše Re: Nahrazení Správce Přihlášení sh scriptem
    nebo Qingy
    To err is human, to arr is pirate!
    vlastikroot avatar 8.11.2009 21:31 vlastikroot | skóre: 24 | blog: vlastikovo | Milevsko
    Rozbalit Rozbalit vše Re: Nahrazení Správce Přihlášení sh scriptem
    Slim :-) Neni sice tak lightweight jako qingy, ale je good.
    We will destroys the Christian's legion ... and the cross, will be inverted
    9.11.2009 00:01 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Nahrazení Správce Přihlášení sh scriptem
    Dá se se slimem přihlásit do KDE?
    Vzpomínám si, že mi to onehdá nešlo... není na to nějakej workaround?

    Témata pro slim jsou fakt pěkná... a snadno se tvoří další...
    9.11.2009 00:09 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Nahrazení Správce Přihlášení sh scriptem
    Á, tak nic, beru zpět, I will use google before asking stupid questions..., tady to je, hurá, zítra vyzkoušim... :-D
    herne the hunter avatar 19.11.2009 23:54 herne the hunter | skóre: 10 | tor lara
    Rozbalit Rozbalit vše Re: Nahrazení Správce Přihlášení sh scriptem
    slim umi XDMCP?
    i am herne the hunter and you are a leaf driven by the wind.
    8.11.2009 21:46 Jcas | skóre: 19 | blog: linux v rukou ...
    Rozbalit Rozbalit vše Re: Nahrazení Správce Přihlášení sh scriptem
    xdm, slim, a ještě jeden na "e" jsem už objevil a uvšech tři, co jsem zjistil tak pravě není možné oboje. Možná jsem studoval špatně, ale XDM nemí výběr sezení (musí se editovat xinitrc. Slim neumí XDMCP atd. S qingly jsem se ještě nestkal. Ale po pravdě už nemám důvod hledat správce přihlášení. ten script dělá přesně to co chcu a u mně funguje skvěle. Akorát nevím jestli je vše tak jak má být. Svěřit se správci přihlášení znamená, že jednoho dne po aktualizaci opět může nastat problém.
    8.11.2009 23:48 Let_Me_Be | skóre: 20 | blog: cat /proc/idea/current | Brno
    Rozbalit Rozbalit vše Re: Nahrazení Správce Přihlášení sh scriptem
    XDM umi vsechno: http://www.jonh.net/lppcfom-serve/cache/474.html
    Linked in profil - Můj web - Nemůžete vyhrát hádku s blbcem. Nejdřív vás stáhne na svoji úroveň a pak ubije zkušenostmi.
    9.11.2009 01:56 pozortucnak | skóre: 21 | blog: vecny_windowsar
    Rozbalit Rozbalit vše Re: Nahrazení Správce Přihlášení sh scriptem
    A co wdm?
    Jinak Qingy neznám, vyzkouším...
    Jsem mimořádně obtížný případ
    9.11.2009 02:22 pozortucnak | skóre: 21 | blog: vecny_windowsar
    Rozbalit Rozbalit vše Re: Nahrazení Správce Přihlášení sh scriptem
    Hele, co jsem našel... :-D http://www.youtube.com/watch?v=LCiFP4iXQRI
    Vypadá to fakt hustě, jen doufám, že se mi to podaří zprovoznit...
    Jsem mimořádně obtížný případ
    Amarok avatar 18.11.2009 13:40 Amarok | skóre: 33 | blog: blogoblog
    Rozbalit Rozbalit vše Re: Nahrazení Správce Přihlášení sh scriptem

    Jsem nejak hodne exoticky, kdyz zadne automaticke prihlasovani nepouzivam? Startuju do terminalu, prihlasim se a pro spusteni fluxboxu zadam "x", coz je zkratka pro "startx" :-) zadani toho x mi neprijde jako prace navic, taky se nekdy stane, ze hned fluxbox nespoustim.

    Jinak tady ten skript v clanku je urcite dobra vec, me se takove jednoduche reseni libi nejvic, proste KISS.

    GNUniverse - May the source be with you...
    18.11.2009 18:37 Jcas | skóre: 19 | blog: linux v rukou ...
    Rozbalit Rozbalit vše Re: Nahrazení Správce Přihlášení sh scriptem
    Já taky startx epovažuji za nějakou extra práci navíc. Háček je v tom, že dost často měním sezení (dle nálady) a v tomto případě to vždy znamená editaci ~/.xinitrc. A další věc je ten vzdálený přístup. Jednak rád zapomínám příkazy, takže si za měsíc nevzpomenu na -query a potom mě ani netrápí pamatovat si IPadresy.
    19.11.2009 23:08 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Nahrazení Správce Přihlášení sh scriptem
    Další možnost by byla startovat systém do terminálu (nativního) s tím, že xka by se nechaly startovat na pozadí. Ale nevím, jestli to je možný...
    Amarok avatar 20.11.2009 12:50 Amarok | skóre: 33 | blog: blogoblog
    Rozbalit Rozbalit vše Re: Nahrazení Správce Přihlášení sh scriptem

    Mozny to je na 100% :) Otazka spis mela znit, kdo vi jak na to.

    GNUniverse - May the source be with you...
    jose17 avatar 20.11.2009 15:10 jose17 | skóre: 44 | blog: Joseho_blog | Bratislava
    Rozbalit Rozbalit vše Re: Nahrazení Správce Přihlášení sh scriptem
    to vyzera trochu ako cdm, nie?
    Ja vim, on vi, ty nano!

    Založit nové vláknoNahoru

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